import { ChessRules } from "@/base_rules";
-export const VariantRules = class ThreechecksRules extends ChessRules {
+export class ThreechecksRules extends ChessRules {
static IsGoodFlags(flags) {
// 4 for castle + 2 for checks (0,1 or 2)
return !!flags.match(/^[01]{4,4}[012]{2,2}$/);
return b;
}
- updateVariables(move) {
- super.updateVariables(move);
+ postPlay(move) {
+ super.postPlay(move);
// Does this move give check?
const oppCol = this.turn;
if (this.underCheck(oppCol))
}
static GenRandInitFen(randomness) {
- return ChessRules.GenRandInitFen(randomness)
- // Add check flags (at 0)
- .replace(" w 0 1111", " w 0 111100");
+ // Add check flags (at 0)
+ return ChessRules.GenRandInitFen(randomness).slice(0, -2) + "00";
}
getFlagsFen() {
let fen = super.getFlagsFen();
// Add check flags
- for (let c of ["w", "b"])
- fen += this.checkFlags[c];
+ for (let c of ["w", "b"]) fen += this.checkFlags[c];
return fen;
}