X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FDark.js;h=65934e6914a46ff0d206d53cc0aa8921e6a7503e;hb=737a5dafb39740ebe304b8d0a82df85070def571;hp=8f941762e701dc9be5f4eb6a699080c2d4cefd38;hpb=2c5d7b20742b802d9c47916915c1114bcfc9a9c3;p=vchess.git diff --git a/client/src/variants/Dark.js b/client/src/variants/Dark.js index 8f941762..65934e69 100644 --- a/client/src/variants/Dark.js +++ b/client/src/variants/Dark.js @@ -13,6 +13,10 @@ export class DarkRules extends ChessRules { return "none"; } + static get SomeHiddenMoves() { + return true; + } + setOtherVariables(fen) { super.setOtherVariables(fen); const [sizeX, sizeY] = [V.size.x, V.size.y]; @@ -105,7 +109,7 @@ export class DarkRules extends ChessRules { postPlay(move) { super.postPlay(move); - if (move.vanish.length >= 2 && move.vanish[1].p == V.KING) + if (move.vanish.length == 2 && move.vanish[1].p == V.KING) // We took opponent king (because if castle vanish[1] is a rook) this.kingPos[this.turn] = [-1, -1]; @@ -115,11 +119,9 @@ export class DarkRules extends ChessRules { postUndo(move) { super.postUndo(move); - const c = move.vanish[0].c; - const oppCol = V.GetOppCol(c); - if (this.kingPos[oppCol][0] < 0) + if (move.vanish.length == 2 && move.vanish[1].p == V.KING) // Last move took opponent's king: - this.kingPos[oppCol] = [move.vanish[1].x, move.vanish[1].y]; + this.kingPos[move.vanish[1].c] = [move.vanish[1].x, move.vanish[1].y]; // Update lights for both colors: this.updateEnlightened();