constructor(o) {
this.appear = o.appear;
this.vanish = o.vanish;
- this.start = o.start ? o.start : { x: o.vanish[0].x, y: o.vanish[0].y };
- this.end = o.end ? o.end : { x: o.appear[0].x, y: o.appear[0].y };
+ this.start = o.start || { x: o.vanish[0].x, y: o.vanish[0].y };
+ this.end = o.end || { x: o.appear[0].x, y: o.appear[0].y };
}
};
// Check if FEN describes a board situation correctly
static IsGoodFen(fen) {
-console.log("ddd");
const fenParsed = V.ParseFen(fen);
// 1) Check position
if (!V.IsGoodPosition(fenParsed.position)) return false;
case V.QUEEN: return this.getPotentialQueenMoves(sq);
case V.KING: return this.getPotentialKingMoves(sq);
}
- return []; //never reached
+ return []; //never reached (but some variants may use it: Bario...)
}
// Build a regular move from its initial and destination squares.
let j = y + step[1];
while (V.OnBoard(i, j) && this.board[i][j] == V.EMPTY) {
moves.push(this.getBasicMove([x, y], [i, j]));
- if (oneStep) continue outerLoop;
+ if (!!oneStep) continue outerLoop;
i += step[0];
j += step[1];
}