X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FTwokings.js;h=6606da581802d2cc39c640071ea8c5dba9e521ca;hb=ded43c88fad60fd8f9bb46aabd67f3f2092f65f3;hp=52aebc32aa6e9a192f417ea6fd5a37ac7a92123b;hpb=af34341d92d47d14f396e7f4adb81f2a7e9d9a61;p=vchess.git diff --git a/client/src/variants/Twokings.js b/client/src/variants/Twokings.js index 52aebc32..6606da58 100644 --- a/client/src/variants/Twokings.js +++ b/client/src/variants/Twokings.js @@ -2,6 +2,7 @@ import { ChessRules } from "@/base_rules"; import { CoregalRules } from "@/variants/Coregal"; export class TwokingsRules extends CoregalRules { + static get PawnSpecs() { return Object.assign( {}, @@ -14,14 +15,14 @@ export class TwokingsRules extends CoregalRules { if (position.length == 0) return false; const rows = position.split("/"); if (rows.length != V.size.x) return false; - let kings = { "w": 0, "b": 0 }; + let kings = { 'K': 0, 'k': 0 }; for (let row of rows) { let sumElts = 0; for (let i = 0; i < row.length; i++) { if (['K','k'].includes(row[i])) kings[row[i]]++; if (V.PIECES.includes(row[i].toLowerCase())) sumElts++; else { - const num = parseInt(row[i]); + const num = parseInt(row[i], 10); if (isNaN(num)) return false; sumElts += num; } @@ -101,6 +102,11 @@ export class TwokingsRules extends CoregalRules { ); } + getPotentialQueenMoves(sq) { + return this.getSlideNJumpMoves(sq, + V.steps[V.ROOK].concat(V.steps[V.BISHOP])); + } + underCheck(color) { const oppCol = V.GetOppCol(color); for (let i=0; i