chess-legal-moves
Version:
Analyses a given chess game position in Fen notation to return legal moves and provides the next game position after a given move
37 lines (36 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EMPTY_BOARD_RAY_ATTACKS = exports.initRayAttackList = exports.generateRayAttacks = void 0;
var directions_1 = require("./directions");
function generateRayAttacks(rayAttacks) {
// @TODO document
// @TODO add tests
rayAttacks = (0, directions_1.generateNorthAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateSouthAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateEastAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateNorthEastAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateWestAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateSouthWestAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateNorthWestAttacks)(rayAttacks);
rayAttacks = (0, directions_1.generateSouthEastAttacks)(rayAttacks);
return rayAttacks;
}
exports.generateRayAttacks = generateRayAttacks;
function initRayAttackList() {
var result = [];
for (var i = 0; i < 64; i++) {
result.push({
no: null,
ea: null,
noEa: null,
noWe: null,
so: null,
we: null,
soWe: null,
soEa: null,
});
}
return result;
}
exports.initRayAttackList = initRayAttackList;
exports.EMPTY_BOARD_RAY_ATTACKS = generateRayAttacks(initRayAttackList());