Update play and check hints.

This commit is contained in:
yukirij 2024-10-01 13:48:12 -07:00
parent b6f1be3bb5
commit 0b313dbe85

View File

@ -407,9 +407,6 @@ const INTERFACE = {
let is_hover = INTERFACE.Ui.tile_is_hover(0, i); let is_hover = INTERFACE.Ui.tile_is_hover(0, i);
let is_select = INTERFACE.Ui.tile_is_select(0, i); let is_select = INTERFACE.Ui.tile_is_select(0, i);
let is_play = GAME_DATA.turn > 0 && (play.source < 2 || play.source == 3) && (play.to == i || ((play.source == 0 || play.source == 3) && play.from == i));
let is_check = GAME_DATA.state.check != 0 && piece !== null && piece.piece == GAME.Const.PieceId.Heart && piece.player == (GAME_DATA.turn & 1);
let tile_state = INTERFACE_DATA.board_state[i][1]; let tile_state = INTERFACE_DATA.board_state[i][1];
let hover_state = INTERFACE_DATA.board_state[i][0]; let hover_state = INTERFACE_DATA.board_state[i][0];
@ -435,11 +432,20 @@ const INTERFACE = {
let piece = null; let piece = null;
if(tile.piece !== null) { piece = GAME_DATA.board.pieces[tile.piece]; } if(tile.piece !== null) { piece = GAME_DATA.board.pieces[tile.piece]; }
let is_play = null;
if(GAME_DATA.turn > 0 && (play.source < 2 || play.source == 3) && (play.to == i || ((play.source == 0 || play.source == 3) && play.from == i))) {
is_play = +!(GAME_DATA.turn & 1);
}
let is_check = GAME_DATA.state.check != 0 && piece !== null && piece.piece == GAME.Const.PieceId.Heart && piece.player == (GAME_DATA.turn & 1);
let background_color = null; let background_color = null;
let border_color = null; let border_color = null;
let background_scale = 0.94; let background_scale = 0.94;
// Get background color // Get background color
if(is_check) {
background_color = INTERFACE.Color.HintCheck;
}
switch(hover_state) { switch(hover_state) {
case INTERFACE.TileStatus.Valid: background_color = INTERFACE.Color.HintValidDark; break; case INTERFACE.TileStatus.Valid: background_color = INTERFACE.Color.HintValidDark; break;
case INTERFACE.TileStatus.Threat: background_color = INTERFACE.Color.HintThreatDark; break; case INTERFACE.TileStatus.Threat: background_color = INTERFACE.Color.HintThreatDark; break;
@ -458,28 +464,36 @@ const INTERFACE = {
// Get border color // Get border color
if(draw_piece && tile.piece !== null) { if(draw_piece && tile.piece !== null) {
if(GAME_DATA.board.pieces[tile.piece].player == GAME.Const.Player.Dawn) { border_color = INTERFACE.Color.DawnDark; } if(GAME_DATA.board.pieces[tile.piece].player == GAME.Const.Player.Dawn) {
else { border_color = INTERFACE.Color.DuskDark; } border_color = INTERFACE.Color.DawnDark;
} else {
border_color = INTERFACE.Color.DuskDark;
}
} }
if(is_hover) { if(is_hover) {
border_color = INTERFACE.Color.HintHover; border_color = INTERFACE.Color.HintHover;
} else if(background_color == null) { } else if(background_color == null) {
if(is_play) { if(is_play !== null) {
if((GAME_DATA.turn & 1) != GAME.Const.Player.Dawn) { border_color = INTERFACE.Color.DawnDark; } if((GAME_DATA.turn & 1) != GAME.Const.Player.Dawn) { border_color = INTERFACE.Color.DawnDark; }
else { border_color = INTERFACE.Color.DuskDark; } else { border_color = INTERFACE.Color.DuskDark; }
background_scale = 0.85; background_scale = 0.9;
} else if(is_check) {
border_color = INTERFACE.Color.HintCheck;
background_scale = 0.8;
} }
} }
// Get default colors // Get default colors
if(background_color === null) { if(background_color === null) {
switch(MATH.mod(coord.x + coord.y, 3)) { if(is_play !== null) {
case 0: background_color = INTERFACE.Color.TileMedium; break; if(is_play === GAME.Const.Player.Dawn) {
case 1: background_color = INTERFACE.Color.TileLight; break; background_color = INTERFACE.Color.DawnDarkest;
case 2: background_color = INTERFACE.Color.TileDark; break; } else {
background_color = INTERFACE.Color.DuskDarkest;
}
} else {
switch(MATH.mod(coord.x + coord.y, 3)) {
case 0: background_color = INTERFACE.Color.TileMedium; break;
case 1: background_color = INTERFACE.Color.TileLight; break;
case 2: background_color = INTERFACE.Color.TileDark; break;
}
} }
} }
if(border_color === null) { if(border_color === null) {
@ -857,7 +871,7 @@ const INTERFACE = {
if(piece.player == GAME.Const.Player.Dawn) { this.ctx.fillStyle = INTERFACE.Color.DawnDarkest; } if(piece.player == GAME.Const.Player.Dawn) { this.ctx.fillStyle = INTERFACE.Color.DawnDarkest; }
else { this.ctx.fillStyle = INTERFACE.Color.DuskDarkest; } else { this.ctx.fillStyle = INTERFACE.Color.DuskDarkest; }
this.ctx.beginPath(); this.ctx.beginPath();
this.hex(0.85); this.hex(0.9);
this.ctx.fill(); this.ctx.fill();
// Draw tile content // Draw tile content