import { ChessRules, PiPo } from "@/base_rules";
-export const VariantRules = class AtomicRules extends ChessRules {
- getEpSquare(moveOrSquare) {
- if (typeof moveOrSquare !== "object" || moveOrSquare.appear.length > 0)
- return super.getEpSquare(moveOrSquare);
- // Capturing move: no en-passant
- return undefined;
- }
-
+export class AtomicRules extends ChessRules {
getPotentialMovesFrom([x, y]) {
let moves = super.getPotentialMovesFrom([x, y]);
return res;
}
- getCheckSquares(color) {
+ getCheckSquares() {
+ const color = this.turn;
let res = [];
if (
this.kingPos[color][0] >= 0 && //king might have exploded
if (kp[0] < 0)
// King disappeared
return color == "w" ? "0-1" : "1-0";
- if (this.atLeastOneMove())
- return "*";
+ if (this.atLeastOneMove()) return "*";
if (!this.isAttacked(kp, V.GetOppCol(color))) return "1/2";
return color == "w" ? "0-1" : "1-0"; //checkmate
}