X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FCircular.js;h=93df8efcca29147736aee2b146f14612e250ae8b;hb=7ba4a5bc5b64e19a1e7f26aa232d5c50770d07ad;hp=4db5a52aa1e5ff40091d4a639e6b4b80dfef8fa1;hpb=71ef1664983cd58db3c3bbfdf6cb7c362474e9a5;p=vchess.git diff --git a/client/src/variants/Circular.js b/client/src/variants/Circular.js index 4db5a52a..93df8efc 100644 --- a/client/src/variants/Circular.js +++ b/client/src/variants/Circular.js @@ -30,10 +30,19 @@ export const VariantRules = class CircularRules extends ChessRules { this.pawnFlags = flags; } - static GenRandInitFen() { + static GenRandInitFen(randomness) { + if (!randomness) randomness = 2; + if (randomness == 0) + return "8/8/pppppppp/rnbqkbnr/8/8/PPPPPPPP/RNBQKBNR w 0 1111111111111111"; + let pieces = { w: new Array(8), b: new Array(8) }; // Shuffle pieces on first and fifth rank for (let c of ["w", "b"]) { + if (c == 'b' && randomness == 1) { + pieces['b'] = pieces['w']; + break; + } + let positions = ArrayFun.range(8); // Get random squares for bishops @@ -170,9 +179,9 @@ export const VariantRules = class CircularRules extends ChessRules { } isAttackedByPawn([x, y], colors) { + const pawnShift = 1; + const attackerRow = V.ComputeX(x + pawnShift); for (let c of colors) { - let pawnShift = 1; - const attackerRow = V.ComputeX(x + pawnShift); for (let i of [-1, 1]) { if ( y + i >= 0 &&