import { ArrayFun } from "@/utils/array";
import { sample, randInt } from "@/utils/alea";
-export const VariantRules = class WildebeestRules extends ChessRules {
+export class WildebeestRules extends ChessRules {
static get size() {
return { x: 10, y: 11 };
}
);
}
- isAttacked(sq, colors) {
+ isAttacked(sq, color) {
return (
- super.isAttacked(sq, colors) ||
- this.isAttackedByCamel(sq, colors) ||
- this.isAttackedByWildebeest(sq, colors)
+ super.isAttacked(sq, color) ||
+ this.isAttackedByCamel(sq, color) ||
+ this.isAttackedByWildebeest(sq, color)
);
}
- isAttackedByCamel(sq, colors) {
+ isAttackedByCamel(sq, color) {
return this.isAttackedBySlideNJump(
sq,
- colors,
+ color,
V.CAMEL,
V.steps[V.CAMEL],
"oneStep"
);
}
- isAttackedByWildebeest(sq, colors) {
+ isAttackedByWildebeest(sq, color) {
return this.isAttackedBySlideNJump(
sq,
- colors,
+ color,
V.WILDEBEEST,
V.steps[V.KNIGHT].concat(V.steps[V.CAMEL]),
"oneStep"
}
getCurrentScore() {
- if (this.atLeastOneMove())
- // game not over
- return "*";
-
+ if (this.atLeastOneMove()) return "*";
// No valid move: game is lost (stalemate is a win)
return this.turn == "w" ? "0-1" : "1-0";
}