X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FAlice.js;h=d6fb0ac6954965162aa05931d0f84f3714ea072f;hb=af34341d92d47d14f396e7f4adb81f2a7e9d9a61;hp=9eb0e87833190209eb70998858a4ea2b22e9097d;hpb=bb688df52df0713aba7b2c1c068614544f5ae96d;p=vchess.git diff --git a/client/src/variants/Alice.js b/client/src/variants/Alice.js index 9eb0e878..d6fb0ac6 100644 --- a/client/src/variants/Alice.js +++ b/client/src/variants/Alice.js @@ -2,7 +2,8 @@ import { ChessRules } from "@/base_rules"; import { ArrayFun } from "@/utils/array"; // NOTE: alternative implementation, probably cleaner = use only 1 board -// TODO? atLeastOneMove() would be more efficient if rewritten here (less sideBoard computations) +// TODO? atLeastOneMove() would be more efficient if rewritten here +// (less sideBoard computations) export class AliceRules extends ChessRules { static get ALICE_PIECES() { return { @@ -37,7 +38,8 @@ export class AliceRules extends ChessRules { super.setOtherVariables(fen); const rows = V.ParseFen(fen).position.split("/"); if (this.kingPos["w"][0] < 0 || this.kingPos["b"][0] < 0) { - // INIT_COL_XXX won't be required if Alice kings are found (means 'king moved') + // INIT_COL_XXX won't be required if Alice kings are found + // (it means 'king moved') for (let i = 0; i < rows.length; i++) { let k = 0; //column index on board for (let j = 0; j < rows[i].length; j++) { @@ -80,7 +82,8 @@ export class AliceRules extends ChessRules { return sideBoard; } - // NOTE: castle & enPassant https://www.chessvariants.com/other.dir/alice.html + // NOTE: castle & enPassant + // https://www.chessvariants.com/other.dir/alice.html getPotentialMovesFrom([x, y], sideBoard) { const pieces = Object.keys(V.ALICE_CODES); const codes = Object.keys(V.ALICE_PIECES); @@ -109,8 +112,11 @@ export class AliceRules extends ChessRules { if (m.appear.length == 2) { // Castle: appear[i] must be an empty square on the other board for (let psq of m.appear) { - if (this.getSquareOccupation(psq.x, psq.y, 3 - mirrorSide) != V.EMPTY) + if ( + this.getSquareOccupation(psq.x, psq.y, 3 - mirrorSide) != V.EMPTY + ) { return false; + } } } else if (this.board[m.end.x][m.end.y] != V.EMPTY) { // Attempt to capture @@ -229,7 +235,8 @@ export class AliceRules extends ChessRules { return res; } - getCheckSquares(color) { + getCheckSquares() { + const color = this.turn; const pieces = Object.keys(V.ALICE_CODES); const kp = this.kingPos[color]; const mirrorSide = pieces.includes(this.getPiece(kp[0], kp[1])) ? 1 : 2;