X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FPocketknight.js;h=41dbb725fb0bb61fd6dd0d07820749ca2210ebbe;hb=7c05a5f2297bea540c700ebceb0cc8b03a7f6775;hp=8756ab9fb0a33aac64e79412dfd8dbeffee85208;hpb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;p=vchess.git diff --git a/client/src/variants/Pocketknight.js b/client/src/variants/Pocketknight.js index 8756ab9f..41dbb725 100644 --- a/client/src/variants/Pocketknight.js +++ b/client/src/variants/Pocketknight.js @@ -3,7 +3,7 @@ import { randInt } from "@/utils/alea"; export class PocketknightRules extends ChessRules { - hoverHighlight(x, y) { + hoverHighlight([x, y]) { // Testing move validity results in an infinite update loop. // TODO: find a way to test validity anyway. return (this.subTurn == 2 && this.board[x][y] == V.EMPTY); @@ -45,6 +45,12 @@ export class PocketknightRules extends ChessRules { ); } + canIplay(side, [x, y]) { + if (this.subTurn == 1) return super.canIplay(side, [x, y]); + // subturn == 2, drop the knight: + return side == this.turn && this.board[x][y] == V.EMPTY; + } + getPotentialMovesFrom([x, y]) { if (this.subTurn == 1) { let moves = super.getPotentialMovesFrom([x, y]);