X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FMaxima.js;h=df781b9e09cb914475efb86db3970096a1beaa21;hb=4313762da3237b04f204e121a20cab3ba7bb5dd2;hp=83d20765671ec3ef5e64fa3d9087ba60c62164b0;hpb=38408f63ba218298876fe42934516ebe63e3caba;p=vchess.git diff --git a/client/src/variants/Maxima.js b/client/src/variants/Maxima.js index 83d20765..df781b9e 100644 --- a/client/src/variants/Maxima.js +++ b/client/src/variants/Maxima.js @@ -3,6 +3,11 @@ import { ArrayFun } from "@/utils/array"; import { shuffle } from "@/utils/alea"; export class MaximaRules extends ChessRules { + + static get Options() { + return null; + } + static get HasFlags() { return false; } @@ -49,7 +54,7 @@ export class MaximaRules extends ChessRules { if (['K','k'].includes(row[i])) kings[row[i]]++; if (['x'].concat(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; } @@ -76,7 +81,7 @@ export class MaximaRules extends ChessRules { this.kingPos["w"] = [i, k]; break; default: { - const num = parseInt(position[i].charAt(j)); + const num = parseInt(position[i].charAt(j), 10); if (!isNaN(num)) k += num - 1; } } @@ -191,7 +196,7 @@ export class MaximaRules extends ChessRules { if (piece == V.KING) j = j % V.size.y; while (V.OnBoard(i, j) && this.board[i][j] == V.EMPTY) { moves.push(this.getBasicMove(initSquare, [i, j])); - if (!!oneStep) continue outerLoop; + if (oneStep) continue outerLoop; i += step[0]; j += step[1]; } @@ -449,14 +454,8 @@ export class MaximaRules extends ChessRules { } getPotentialGuardMoves(sq) { - return ( - this.getSlideNJumpMoves( - sq, - V.steps[V.ROOK].concat(V.steps[V.BISHOP]), - "oneStep", - null - ) - ); + return this.getSlideNJumpMoves( + sq, V.steps[V.ROOK].concat(V.steps[V.BISHOP]), "oneStep"); } getNextMageSteps(step) { @@ -678,15 +677,8 @@ export class MaximaRules extends ChessRules { } isAttackedByGuard(sq, color) { - return ( - super.isAttackedBySlideNJump( - sq, - color, - V.GUARD, - V.steps[V.ROOK].concat(V.steps[V.BISHOP]), - "oneStep" - ) - ); + return super.isAttackedBySlideNJump( + sq, color, V.GUARD, V.steps[V.ROOK].concat(V.steps[V.BISHOP]), 1); } getNextMageCheck(step) { @@ -827,4 +819,5 @@ export class MaximaRules extends ChessRules { if (move.vanish.length > 1 && move.appear[0].p != V.KING) notation += "X"; return notation; } + };