X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FGrand.js;h=e6333cceb6ab358fe67ee6719963604e110741f2;hb=3a2a7b5fd3c6bfd0752838094c27e1fb6172d109;hp=359671b6e9742899cfa53b1988a1bed3096ae0eb;hpb=f35b9960e1c527fc400ebac85321bd4712459da3;p=vchess.git diff --git a/client/src/variants/Grand.js b/client/src/variants/Grand.js index 359671b6..e6333cce 100644 --- a/client/src/variants/Grand.js +++ b/client/src/variants/Grand.js @@ -39,6 +39,10 @@ export const VariantRules = class GrandRules extends ChessRules { return super.getFen() + " " + this.getCapturedFen(); } + getFenForRepeat() { + return super.getFenForRepeat() + "_" + this.getCapturedFen(); + } + getCapturedFen() { let counts = [...Array(14).fill(0)]; let i = 0; @@ -285,8 +289,8 @@ export const VariantRules = class GrandRules extends ChessRules { ); } - updateVariables(move) { - super.updateVariables(move); + postPlay(move) { + super.postPlay(move); if (move.vanish.length == 2 && move.appear.length == 1) { // Capture: update this.captured this.captured[move.vanish[1].c][move.vanish[1].p]++; @@ -297,8 +301,8 @@ export const VariantRules = class GrandRules extends ChessRules { } } - unupdateVariables(move) { - super.unupdateVariables(move); + postUndo(move) { + super.postUndo(move); if (move.vanish.length == 2 && move.appear.length == 1) this.captured[move.vanish[1].c][move.vanish[1].p]--; if (move.vanish[0].p != move.appear[0].p) @@ -318,8 +322,9 @@ export const VariantRules = class GrandRules extends ChessRules { static GenRandInitFen(randomness) { if (randomness == 0) { - return "rnbqkmcbnr/pppppppppp/10/10/10/10/10/10/PPPPPPPPPP/RNBQKMCBNR " + - "w 0 1111 - 00000000000000"; + // No castling in the official initial setup + return "r8r/1nbqkmcbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/1NBQKMCBN1/R8R " + + "w 0 zzzz - 00000000000000"; } let pieces = { w: new Array(10), b: new Array(10) };