X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FPawnmassacre.js;h=1fe61cbec5bc186b339c655fc624575028b6e420;hb=ded43c88fad60fd8f9bb46aabd67f3f2092f65f3;hp=563fd00b90df9447e11f5c4fc6b0535c6c3cf543;hpb=737a5dafb39740ebe304b8d0a82df85070def571;p=vchess.git diff --git a/client/src/variants/Pawnmassacre.js b/client/src/variants/Pawnmassacre.js index 563fd00b..1fe61cbe 100644 --- a/client/src/variants/Pawnmassacre.js +++ b/client/src/variants/Pawnmassacre.js @@ -1,18 +1,29 @@ import { ChessRules } from "@/base_rules"; export class PawnmassacreRules extends ChessRules { + static get HasFlags() { return false; } + get showFirstTurn() { + return true; + } + static GenRandInitFen(randomness) { - return ( - ChessRules.GenRandIntFen(randomness) + const bFen = + ChessRules.GenRandInitFen(randomness) // Remove castle flags - .slice(0, -6).concat("-") + .slice(0, -6).concat("-"); + const splitIdx = bFen.indexOf(' '); + return ( + bFen.substr(0, splitIdx) .replace("PPPPPPPP", "pppppppp") // Next replacement is OK because only acts on first occurrence .replace("pppppppp", "PPPPPPPP") + .split("").reverse().join("") + .concat(bFen.substr(splitIdx)) ); } + };