Update play hints.
This commit is contained in:
parent
8f70b29801
commit
fa379cd5a9
@ -35,13 +35,15 @@ const INTERFACE = {
|
|||||||
HintHover: "#71a1e8",
|
HintHover: "#71a1e8",
|
||||||
HintSelect: "#4a148c",
|
HintSelect: "#4a148c",
|
||||||
HintValid: "#1d268c",
|
HintValid: "#1d268c",
|
||||||
|
HintValidLight: "#6ca6fc",
|
||||||
HintValidDark: "#151c66",
|
HintValidDark: "#151c66",
|
||||||
HintThreat: "#054719",
|
HintThreat: "#054719",
|
||||||
HintThreatDark: "#023311",
|
HintThreatDark: "#023311",
|
||||||
HintOpponent: "#49136b",
|
HintOpponent: "#49136b",
|
||||||
HintOpponentDark: "#2a0b3f",
|
HintOpponentDark: "#2a0b3f",
|
||||||
HintInvalid: "#b21818",
|
HintInvalid: "#660d0d",
|
||||||
HintInvalidDark: "#7f1111",
|
HintInvalidLight: "#fc6c6c",
|
||||||
|
HintInvalidDark: "#4c0909",
|
||||||
HintPlay: "#307c7f",
|
HintPlay: "#307c7f",
|
||||||
HintCheck: "#C62828",
|
HintCheck: "#C62828",
|
||||||
},
|
},
|
||||||
@ -349,6 +351,10 @@ const INTERFACE = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
INTERFACE.game_step();
|
INTERFACE.game_step();
|
||||||
|
|
||||||
|
if(!event.ctrlKey) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
click_touch(event) {
|
click_touch(event) {
|
||||||
@ -570,6 +576,9 @@ const INTERFACE = {
|
|||||||
let tile_state = INTERFACE_DATA.Game.board_state[i][1];
|
let tile_state = INTERFACE_DATA.Game.board_state[i][1];
|
||||||
let hover_state = INTERFACE_DATA.Game.board_state[i][0];
|
let hover_state = INTERFACE_DATA.Game.board_state[i][0];
|
||||||
|
|
||||||
|
let piece = null;
|
||||||
|
if(tile.piece !== null) { piece = GAME_DATA.board.pieces[tile.piece]; }
|
||||||
|
|
||||||
let draw_piece = true;
|
let draw_piece = true;
|
||||||
if(INTERFACE_DATA.Animation.piece !== null) {
|
if(INTERFACE_DATA.Animation.piece !== null) {
|
||||||
let play = INTERFACE_DATA.Animation.piece.play;
|
let play = INTERFACE_DATA.Animation.piece.play;
|
||||||
@ -577,6 +586,8 @@ const INTERFACE = {
|
|||||||
draw_piece = draw_piece && !(play.source == 1 && play.to == i);
|
draw_piece = draw_piece && !(play.source == 1 && play.to == i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let show_hints = !(is_hover || is_select) && piece !== null && draw_piece;
|
||||||
|
|
||||||
let coord = HEX.tile_to_hex(i);
|
let coord = HEX.tile_to_hex(i);
|
||||||
if((INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate == 1) {
|
if((INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate == 1) {
|
||||||
coord.x = 8 - coord.x;
|
coord.x = 8 - coord.x;
|
||||||
@ -589,9 +600,6 @@ const INTERFACE = {
|
|||||||
ctx.save();
|
ctx.save();
|
||||||
ctx.translate(gui_x, gui_y);
|
ctx.translate(gui_x, gui_y);
|
||||||
|
|
||||||
let piece = null;
|
|
||||||
if(tile.piece !== null) { piece = GAME_DATA.board.pieces[tile.piece]; }
|
|
||||||
|
|
||||||
let is_play = null;
|
let is_play = null;
|
||||||
if(GAME_DATA.turn > 0 && play.source != 0xF && (play.to == i || ((play.source == 0 || play.source == 2) && play.from == i))) {
|
if(GAME_DATA.turn > 0 && play.source != 0xF && (play.to == i || ((play.source == 0 || play.source == 2) && play.from == i))) {
|
||||||
let piece_id = GAME_DATA.board.tiles[play.to].piece;
|
let piece_id = GAME_DATA.board.tiles[play.to].piece;
|
||||||
@ -660,6 +668,18 @@ const INTERFACE = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!is_hover) {
|
||||||
|
switch(background_color) {
|
||||||
|
case INTERFACE.Color.HintValid: {
|
||||||
|
border_color = INTERFACE.Color.HintValidLight;
|
||||||
|
show_hints = false;
|
||||||
|
} break;
|
||||||
|
case INTERFACE.Color.HintInvalid: {
|
||||||
|
border_color = INTERFACE.Color.HintInvalidLight;
|
||||||
|
show_hints = false;
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(border_color === null) {
|
if(border_color === null) {
|
||||||
border_color = INTERFACE.Color.TileBorder;
|
border_color = INTERFACE.Color.TileBorder;
|
||||||
}
|
}
|
||||||
@ -671,7 +691,7 @@ const INTERFACE = {
|
|||||||
ctx.fill();
|
ctx.fill();
|
||||||
|
|
||||||
// Draw border hints
|
// Draw border hints
|
||||||
if(!is_hover && draw_piece && piece !== null) { draw.hints(piece); }
|
if(show_hints) { draw.hints(piece); }
|
||||||
|
|
||||||
// Draw background
|
// Draw background
|
||||||
if(background_scale < 0.94) {
|
if(background_scale < 0.94) {
|
||||||
@ -1319,6 +1339,7 @@ const INTERFACE = {
|
|||||||
canvas.addEventListener("mouseup", INTERFACE.release);
|
canvas.addEventListener("mouseup", INTERFACE.release);
|
||||||
canvas.addEventListener("touchend", INTERFACE.release_touch);
|
canvas.addEventListener("touchend", INTERFACE.release_touch);
|
||||||
canvas.addEventListener("contextmenu", INTERFACE.contextmenu);
|
canvas.addEventListener("contextmenu", INTERFACE.contextmenu);
|
||||||
|
canvas.addEventListener("selectstart", () => false);
|
||||||
window.addEventListener("resize", INTERFACE.step);
|
window.addEventListener("resize", INTERFACE.step);
|
||||||
|
|
||||||
switch(INTERFACE_DATA.mode) {
|
switch(INTERFACE_DATA.mode) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user