import { ArrayFun } from "@/utils/array";
import { randInt } from "@/utils/alea";
-export const VariantRules = class LosersRules extends ChessRules {
+export class LosersRules extends ChessRules {
// Trim all non-capturing moves
static KeepCaptures(moves) {
return moves.filter(m => m.vanish.length == 2);
getAllValidMoves() {
const moves = super.getAllValidMoves();
- if (moves.some(m => m.vanish.length == 2)) return V.KeepCaptures(moves);
+ if (moves.some(m => m.vanish.length == 2 && m.appear.length == 1))
+ return V.KeepCaptures(moves);
return moves;
}
return this.turn == "w" ? "1-0" : "0-1";
}
- static get SEARCH_DEPTH() {
- return 4;
- }
-
evalPosition() {
// Less material is better (more subtle in fact but...)
return -super.evalPosition();