import { randInt } from "@/utils/alea";
export class OrdaRules extends ChessRules {
+
static get PawnSpecs() {
return Object.assign(
{},
let j = y + step[1];
while (V.OnBoard(i, j) && this.board[i][j] == V.EMPTY) {
if (!options.onlyTake) moves.push(this.getBasicMove([x, y], [i, j]));
- if (oneStep) continue outerLoop;
+ if (!!oneStep) continue outerLoop;
i += step[0];
j += step[1];
}
getPotentialYurtMoves(sq) {
return this.getSlideNJumpMoves(
sq,
- V.steps[V.BISHOP].concat([1, 0]),
- "oneSTep"
+ V.steps[V.BISHOP].concat([ [1, 0] ]),
+ "oneStep"
);
}
this.isAttackedByKheshig(sq, color)
);
}
- // Horde: only pawn and queen (if promotions) in common:
+ // Horde: only pawn, king and queen (if promotions) in common:
return (
super.isAttackedByPawn(sq, color) ||
this.isAttackedByLancer(sq, color) ||
this.isAttackedByKheshig(sq, color) ||
this.isAttackedByArcher(sq, color) ||
this.isAttackedByYurt(sq, color) ||
+ super.isAttackedByKing(sq, color) ||
super.isAttackedByQueen(sq, color)
);
}
sq,
color,
V.YURT,
- V.steps[V.BISHOP].concat([1, 0]),
+ V.steps[V.BISHOP].concat([ [1, 0] ]),
"oneStep"
);
}
}
);
}
+
};