X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FHiddenqueen.js;h=0cf09677cd6338261d72e9fd9baf4e809ea09a0e;hb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;hp=aa536a6bac51819b31f6a8a426d07f8b8bb27f05;hpb=8e346ebebfdaec1538f9728fa7a279027c990f78;p=vchess.git diff --git a/client/src/variants/Hiddenqueen.js b/client/src/variants/Hiddenqueen.js index aa536a6b..0cf09677 100644 --- a/client/src/variants/Hiddenqueen.js +++ b/client/src/variants/Hiddenqueen.js @@ -3,6 +3,7 @@ import { ArrayFun } from "@/utils/array"; import { randInt } from "@/utils/alea"; export class HiddenqueenRules extends ChessRules { + // Analyse in Hiddenqueen mode makes no sense static get CanAnalyze() { return false; @@ -52,9 +53,11 @@ export class HiddenqueenRules extends ChessRules { const move = moveOrSquare; const s = move.start, e = move.end; + const color = move.vanish[0].c; if ( s.y == e.y && Math.abs(s.x - e.x) == 2 && + ((color == 'w' && s.x == 6) || (color == 'b' && s.x == 1)) && [V.PAWN, V.HIDDEN_QUEEN].includes(move.vanish[0].p) ) { return { @@ -178,6 +181,11 @@ export class HiddenqueenRules extends ChessRules { this.kingPos[oppCol] = [move.vanish[1].x, move.vanish[1].y]; } + underCheck(color) { + if (this.kingPos[color][0] < 0) return false; + return super.underCheck(color); + } + getCurrentScore() { const color = this.turn; if (this.kingPos[color][0] < 0) @@ -223,4 +231,5 @@ export class HiddenqueenRules extends ChessRules { else notation = finalSquare; return notation; } + };