import { ChessRules } from "@/base_rules";
export class HordeRules extends ChessRules {
+
static get HasFlags() {
return false;
}
}
sumElts++;
} else {
- const num = parseInt(row[i]);
+ const num = parseInt(row[i], 10);
if (isNaN(num)) return false;
sumElts += num;
}
if (randomness == 2) randomness--;
const fen = ChessRules.GenRandInitFen(randomness);
return (
- // 27 first chars are 3 rows + 3 slashes
- fen.substr(0, 27)
+ // 20 first chars are 3 rows + 3 slashes
+ fen.substr(0, 20)
// En passant available, but no castle:
.concat("1PP2PP1/PPPPPPPP/PPPPPPPP/PPPPPPPP/PPPPPPPP w 0 -")
);
}
+ filterValid(moves) {
+ if (this.turn == 'w') return moves;
+ return super.filterValid(moves);
+ }
+
+ getCheckSquares() {
+ if (this.turn == 'w') return [];
+ return (
+ this.underCheck('b')
+ ? [JSON.parse(JSON.stringify(this.kingPos['b']))]
+ : []
+ );
+ }
+
getCurrentScore() {
if (this.turn == 'w') {
// Do I have any unit remaining? If not, I lost.
// From black side, just run usual checks:
return super.getCurrentScore();
}
+
};