X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FPawnmassacre.js;h=c08b585bca0ed87c611250238f93121124a03892;hb=HEAD;hp=563fd00b90df9447e11f5c4fc6b0535c6c3cf543;hpb=737a5dafb39740ebe304b8d0a82df85070def571;p=vchess.git diff --git a/client/src/variants/Pawnmassacre.js b/client/src/variants/Pawnmassacre.js index 563fd00b..c08b585b 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; } - static GenRandInitFen(randomness) { - return ( - ChessRules.GenRandIntFen(randomness) + get showFirstTurn() { + return true; + } + + static GenRandInitFen(options) { + const bFen = + ChessRules.GenRandInitFen(options) // 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)) ); } + };