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