X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FOmega.js;h=29b58e53961097fef71404b0484afb13ab0778db;hb=4313762da3237b04f204e121a20cab3ba7bb5dd2;hp=a4276ed798369e80e0d1c2ca365b90ea76cc2540;hpb=87f40859ac7fea9f468d6be168df99f501a01198;p=vchess.git diff --git a/client/src/variants/Omega.js b/client/src/variants/Omega.js index a4276ed7..29b58e53 100644 --- a/client/src/variants/Omega.js +++ b/client/src/variants/Omega.js @@ -140,8 +140,8 @@ export class OmegaRules extends ChessRules { ); } - static GenRandInitFen(randomness) { - if (randomness == 0) { + static GenRandInitFen(options) { + if (options.randomness == 0) { return ( "wxxxxxxxxxxw/xcrnbqkbnrcx/xppppppppppx/x91x/x91x/x91x/" + "x91x/x91x/x91x/xPPPPPPPPPPx/xCRNBQKBNRCx/WxxxxxxxxxxW " + @@ -153,7 +153,7 @@ export class OmegaRules extends ChessRules { let flags = ""; // Shuffle pieces on first (and last rank if randomness == 2) for (let c of ["w", "b"]) { - if (c == 'b' && randomness == 1) { + if (c == 'b' && options.randomness == 1) { pieces['b'] = pieces['w']; flags += flags; break; @@ -309,28 +309,22 @@ export class OmegaRules extends ChessRules { return moves; } - addPawnMoves([x1, y1], [x2, y2], moves, promotions) { - let finalPieces = [V.PAWN]; + addPawnMoves([x1, y1], [x2, y2], moves) { const color = this.turn; const lastRank = (color == "w" ? 1 : V.size.x - 2); - if (x2 == lastRank) { - // promotions arg: special override for Hiddenqueen variant - if (!!promotions) finalPieces = promotions; - else if (!!V.PawnSpecs.promotions) finalPieces = V.PawnSpecs.promotions; - } - let tr = null; + const finalPieces = (x2 == lastRank ? V.PawnSpecs.promotions : [V.PAWN]); for (let piece of finalPieces) { - tr = (piece != V.PAWN ? { c: color, p: piece } : null); + const tr = (piece != V.PAWN ? { c: color, p: piece } : null); moves.push(this.getBasicMove([x1, y1], [x2, y2], tr)); } } getPotentialChampionMoves(sq) { - return this.getSlideNJumpMoves(sq, V.steps[V.CHAMPION], "oneStep"); + return this.getSlideNJumpMoves(sq, V.steps[V.CHAMPION], 1); } getPotentialWizardMoves(sq) { - return this.getSlideNJumpMoves(sq, V.steps[V.WIZARD], "oneStep"); + return this.getSlideNJumpMoves(sq, V.steps[V.WIZARD], 1); } getCastleMoves([x, y]) { @@ -352,14 +346,14 @@ export class OmegaRules extends ChessRules { isAttackedByWizard(sq, color) { return ( this.isAttackedBySlideNJump( - sq, color, V.WIZARD, V.steps[V.WIZARD], "oneStep") + sq, color, V.WIZARD, V.steps[V.WIZARD], 1) ); } isAttackedByChampion(sq, color) { return ( this.isAttackedBySlideNJump( - sq, color, V.CHAMPION, V.steps[V.CHAMPION], "oneStep") + sq, color, V.CHAMPION, V.steps[V.CHAMPION], 1) ); }