X-Git-Url: https://git.auder.net/variants/Chakart/style.css?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FGrand.js;h=e6333cceb6ab358fe67ee6719963604e110741f2;hb=3a2a7b5fd3c6bfd0752838094c27e1fb6172d109;hp=c910dd8e72a7e6a521d0500ab4182285195f28a1;hpb=7ba4a5bc5b64e19a1e7f26aa232d5c50770d07ad;p=vchess.git diff --git a/client/src/variants/Grand.js b/client/src/variants/Grand.js index c910dd8e..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) @@ -317,10 +321,10 @@ export const VariantRules = class GrandRules extends ChessRules { } static GenRandInitFen(randomness) { - if (!randomness) randomness = 2; 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) };