Add new check and checkmate guides.

This commit is contained in:
yukirij 2024-12-18 22:58:31 -08:00
parent bd9ce921fc
commit 8377731fd6
4 changed files with 59 additions and 4 deletions

View File

@ -218,7 +218,7 @@ GAME.Game = class {
this.state = { this.state = {
code:0, code:0,
check:false, check:false, //[false, false],
}; };
this.update_board(); this.update_board();

View File

@ -336,12 +336,49 @@ const GAME_CONFIGS = {
.add_piece(5, 0, false, new MATH.Vec2(5, 4)) .add_piece(5, 0, false, new MATH.Vec2(5, 4))
.add_piece(0, 1, false, new MATH.Vec2(4, 4)) .add_piece(0, 1, false, new MATH.Vec2(4, 4))
.add_piece(2, 1, false, new MATH.Vec2(5, 6)) .add_piece(2, 1, false, new MATH.Vec2(5, 6))
),
Guide_Check2: new GameConfig()
.set_pieces(CONFIG_PIECES_STANDARD)
.set_pool(CONFIG_POOL_DEMO)
.set_layout(
new GameConfig.Layout()
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
.add_piece(3, 0, false, new MATH.Vec2(3, 0))
.add_piece(3, 0, false, new MATH.Vec2(5, 1))
.add_piece(1, 1, false, new MATH.Vec2(4, 4))
.add_piece(6, 1, true, new MATH.Vec2(7, 3))
.add_piece(1, 1, true, new MATH.Vec2(2, 0))
),
Guide_Check3: new GameConfig()
.set_pieces(CONFIG_PIECES_STANDARD)
.set_pool(CONFIG_POOL_DEMO)
.set_layout(
new GameConfig.Layout()
.add_piece(7, 0, false, new MATH.Vec2(4, 2))
.add_piece(4, 0, false, new MATH.Vec2(6, 3))
.add_piece(3, 1, false, new MATH.Vec2(2, 2))
.add_piece(5, 1, false, new MATH.Vec2(1, 4))
.add_piece(1, 1, false, new MATH.Vec2(5, 5))
.add_piece(6, 1, true, new MATH.Vec2(4, 4))
), ),
// Checkmate // Checkmate
Guide_Checkmate: new GameConfig() Guide_Checkmate: new GameConfig()
.set_pieces(CONFIG_PIECES_STANDARD) .set_pieces(CONFIG_PIECES_STANDARD)
.set_pool(new Uint8Array([4, 1, 0, 2, 0, 0, 1, 9, 1, 0, 0, 2, 0, 0])) .set_pool(new Uint8Array([4, 1, 0, 2, 0, 0, 1, 9, 1, 0, 0, 2, 0, 0]))
.set_layout(
new GameConfig.Layout()
.add_piece(7, 1, false, new MATH.Vec2(0, 4))
.add_piece(2, 1, false, new MATH.Vec2(1, 5))
.add_piece(5, 0, true, new MATH.Vec2(1, 3))
)
.set_rule("reverse", true),
// Trials
Guide_Trial1: new GameConfig()
.set_pieces(CONFIG_PIECES_STANDARD)
.set_pool(new Uint8Array([4, 1, 0, 2, 0, 0, 1, 9, 1, 0, 0, 2, 0, 0]))
.set_layout( .set_layout(
new GameConfig.Layout() new GameConfig.Layout()
.add_piece(5, 0, false, new MATH.Vec2(4, 6)) .add_piece(5, 0, false, new MATH.Vec2(4, 6))
@ -364,5 +401,5 @@ const GAME_CONFIGS = {
.add_piece(2, 0, false, new MATH.Vec2(6, 5)) .add_piece(2, 0, false, new MATH.Vec2(6, 5))
.add_piece(0, 1, false, new MATH.Vec2(1, 4)) .add_piece(0, 1, false, new MATH.Vec2(1, 4))
.add_piece(2, 0, true, new MATH.Vec2(0, 3)) .add_piece(2, 0, true, new MATH.Vec2(0, 3))
) ),
}; };

View File

@ -611,7 +611,7 @@ const INTERFACE = {
let is_check = (GAME_DATA.state.check != 0 || GAME_DATA.state.code == GAME.Const.State.Checkmate) let is_check = (GAME_DATA.state.check != 0 || GAME_DATA.state.code == GAME.Const.State.Checkmate)
&& piece !== null && piece !== null
&& piece.piece == GAME.Const.PieceId.Heart && piece.piece == GAME.Const.PieceId.Heart
&& piece.player == ((GAME_DATA.turn + GAME_DATA.config.rules.reverse) & 1); && tile.checking;
let background_color = null; let background_color = null;
let border_color = null; let border_color = null;

View File

@ -668,7 +668,25 @@ const SCENES = {
], []); ], []);
} else { } else {
UI.mainmenu_guide("guide_" + data, true); UI.mainmenu_guide("guide_" + data, true);
switch(data) {
case "check": {
UI.mainnav([
UI.button("1", () => { INTERFACE.load(GAME_CONFIGS.Guide_Check); }),
UI.button("2", () => { INTERFACE.load(GAME_CONFIGS.Guide_Check2); }),
UI.button("3", () => { INTERFACE.load(GAME_CONFIGS.Guide_Check3); }),
], []);
} break;
case "checkmate": {
UI.mainnav([
UI.button("Ex", () => { INTERFACE.load(GAME_CONFIGS.Guide_Checkmate); }),
UI.button("1", () => { INTERFACE.load(GAME_CONFIGS.Guide_Trial1); }),
], []);
} break;
default: {
UI.mainnav([], []); UI.mainnav([], []);
}
}
switch(data) { switch(data) {
case "drop": config = GAME_CONFIGS.Guide_Drop; break; case "drop": config = GAME_CONFIGS.Guide_Drop; break;