X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FAlice.js;h=e193bbd2357c6520eb82e3d868544b2c9f631449;hp=9eb0e87833190209eb70998858a4ea2b22e9097d;hb=2c5d7b20742b802d9c47916915c1114bcfc9a9c3;hpb=9edfb7146fdc4dd08914b2a117d2852e705353aa diff --git a/client/src/variants/Alice.js b/client/src/variants/Alice.js index 9eb0e878..e193bbd2 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