X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FShatranj.js;h=969b8197606c8872b84b13e8953a9b0118baddb7;hb=68e19a449db7a12e0a168e99cd750d985c983ba1;hp=b45d915ac91d0cc3708873c77678c5a5a16af819;hpb=f9c36b2da005b596ad656f4b6cc4e09ef3c656f1;p=vchess.git diff --git a/client/src/variants/Shatranj.js b/client/src/variants/Shatranj.js index b45d915a..969b8197 100644 --- a/client/src/variants/Shatranj.js +++ b/client/src/variants/Shatranj.js @@ -19,7 +19,8 @@ export const VariantRules = class ShatranjRules extends ChessRules { } static GenRandInitFen(randomness) { - return ChessRules.GenRandInitFen(randomness).replace("w 1111 -", "w"); + // Remove castle flags and en-passant indication + return ChessRules.GenRandInitFen(randomness).slice(0, -7); } getPotentialPawnMoves([x, y]) { @@ -97,20 +98,20 @@ export const VariantRules = class ShatranjRules extends ChessRules { ); } - isAttackedByBishop(sq, colors) { + isAttackedByBishop(sq, color) { return this.isAttackedBySlideNJump( sq, - colors, + color, V.BISHOP, V.ElephantSteps, "oneStep" ); } - isAttackedByQueen(sq, colors) { + isAttackedByQueen(sq, color) { return this.isAttackedBySlideNJump( sq, - colors, + color, V.QUEEN, V.steps[V.BISHOP], "oneStep" @@ -156,7 +157,7 @@ export const VariantRules = class ShatranjRules extends ChessRules { // 2 enemy units or more: I lose return getScoreLost(); // I don't have any piece, my opponent have one: can I take it? - if (this.isAttacked(piecesLeft[oppCol].square, [color])) + if (this.isAttacked(piecesLeft[oppCol].square, color)) // Yes! But I still need to take it return "*"; // No :(