X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FAlice.js;h=4d6b3c374281cc149d030087fcfe5290fb161f49;hb=6b7b2cf720e6255e4da0dc34fee363c456346a58;hp=a92338f78dabf0def35087edf180a709002816bc;hpb=41217d97dc0a22ebd7a6340e3bfc6e159881f828;p=vchess.git diff --git a/client/src/variants/Alice.js b/client/src/variants/Alice.js index a92338f7..4d6b3c37 100644 --- a/client/src/variants/Alice.js +++ b/client/src/variants/Alice.js @@ -107,8 +107,7 @@ export const VariantRules = class AliceRules extends ChessRules { // Finally filter impossible moves const res = moves.filter(m => { if (m.appear.length == 2) { - //castle - // appear[i] must be an empty square on the other board + // 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) return false; @@ -126,11 +125,12 @@ export const VariantRules = class AliceRules extends ChessRules { // If the move is computed on board1, m.appear change for Alice pieces. if (mirrorSide == 1) { m.appear.forEach(psq => { - //forEach: castling taken into account + // forEach: castling taken into account psq.p = V.ALICE_CODES[psq.p]; //goto board2 }); - } //move on board2: mark vanishing pieces as Alice + } else { + // Move on board2: mark vanishing pieces as Alice m.vanish.forEach(psq => { psq.p = V.ALICE_CODES[psq.p]; }); @@ -282,14 +282,21 @@ export const VariantRules = class AliceRules extends ChessRules { } static get VALUES() { - return Object.assign(ChessRules.VALUES, { - s: 1, - u: 5, - o: 3, - c: 3, - t: 9, - l: 1000 - }); + return Object.assign( + { + s: 1, + u: 5, + o: 3, + c: 3, + t: 9, + l: 1000 + }, + ChessRules.VALUES + ); + } + + static get SEARCH_DEPTH() { + return 2; } getNotation(move) {