X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FHiddenqueen.js;h=1ce85bea997ef7b083ad0b2d50a13f6082359ab4;hb=4313762da3237b04f204e121a20cab3ba7bb5dd2;hp=0cf09677cd6338261d72e9fd9baf4e809ea09a0e;hpb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;p=vchess.git diff --git a/client/src/variants/Hiddenqueen.js b/client/src/variants/Hiddenqueen.js index 0cf09677..1ce85bea 100644 --- a/client/src/variants/Hiddenqueen.js +++ b/client/src/variants/Hiddenqueen.js @@ -152,8 +152,8 @@ export class HiddenqueenRules extends ChessRules { return this.filterValid(this.getPotentialMovesFrom(sq)); } - static GenRandInitFen(randomness) { - let fen = ChessRules.GenRandInitFen(randomness); + static GenRandInitFen(options) { + let fen = ChessRules.GenRandInitFen(options); // Place hidden queens at random (always): let hiddenQueenPos = randInt(8); let pawnRank = "PPPPPPPP".split(""); @@ -190,8 +190,12 @@ export class HiddenqueenRules extends ChessRules { const color = this.turn; if (this.kingPos[color][0] < 0) // King disappeared - return color == "w" ? "0-1" : "1-0"; - return super.getCurrentScore(); + return (color == "w" ? "0-1" : "1-0"); + const oldSide = this.side; + this.side = color; + const res = super.getCurrentScore(); + this.side = oldSide; + return res; } // Search is biased, so not really needed to explore deeply @@ -213,7 +217,7 @@ export class HiddenqueenRules extends ChessRules { getNotation(move) { // Not using getPiece() method because it would transform HQ into pawn: - if (this.board[move.start.x][move.start.y][1] != V.HIDDEN_QUEEN) + if (this.board[move.start.x][move.start.y].charAt(1) != V.HIDDEN_QUEEN) return super.getNotation(move); const finalSquare = V.CoordsToSquare(move.end); if (move.appear[0].p == V.QUEEN) {