UNPKG

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
"use strict"; 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());