let chessboard = container.querySelector(".chessboard");
let choices = document.createElement("div");
choices.id = "choices";
+ if (!r)
+ r = chessboard.getBoundingClientRect();
choices.style.width = r.width + "px";
choices.style.height = r.height + "px";
choices.style.left = r.x + "px";
return [-1, -1]; //king not found
}
- filterValid(moves) {
+ // Some variants (e.g. Refusal) may need to check opponent moves too
+ filterValid(moves, color) {
if (moves.length == 0)
return [];
- const color = this.turn;
+ if (!color)
+ color = this.turn;
const oppCol = C.GetOppCol(color);
if (this.options["balance"] && [1, 3].includes(this.movesCount)) {
// Forbid moves either giving check or exploding opponent's king: