return true; //always at least one possible move
}
- underCheck() {
- return false; //there is no check
+ filterValid(moves) {
+ return moves; //there is no check
}
getCheckSquares() {
return [];
}
- updateVariables(move) {
- super.updateVariables(move);
+ postPlay(move) {
+ super.postPlay(move);
// Treat the promotion case: (not the capture part)
if (move.appear[0].p != move.vanish[0].p) {
this.material[move.appear[0].c][move.appear[0].p]++;
this.material[move.vanish[1].c][move.vanish[1].p]--;
}
- unupdateVariables(move) {
- super.unupdateVariables(move);
+ postUndo(move) {
+ super.postUndo(move);
if (move.appear[0].p != move.vanish[0].p) {
this.material[move.appear[0].c][move.appear[0].p]--;
this.material[move.appear[0].c][V.PAWN]++;
getCurrentScore() {
if (this.atLeastOneMove()) {
- // game not over?
+ // Game not over?
const color = this.turn;
if (
Object.keys(this.material[color]).some(p => {