UNPKG

@cocacola-lover/knight_path_finder

Version:

Iterative path finding Algorithms for knight on a chessboard

38 lines (37 loc) 1.27 kB
import { Square } from "./interfaces.js"; declare namespace ChessPointers { class BasicPointer { readonly x: number; readonly y: number; readonly board: Square[][]; constructor(x: number, y: number, board: Square[][]); at(): Square; getNeighbours(): BasicPointer[]; getPassableNeighbours(): BasicPointer[]; toString(): string; static areSame(a: BasicPointer, b: BasicPointer): boolean; protected isWithinBounds(x: number, y: number): boolean; } class KnightPointer extends BasicPointer { getNeighbours(): KnightPointer[]; } class KingPointer extends BasicPointer { getNeighbours(): KingPointer[]; } class BishopPointer extends BasicPointer { getNeighbours(): BishopPointer[]; getPassableNeighbours(): BishopPointer[]; } class RookPointer extends BasicPointer { getNeighbours(): RookPointer[]; getPassableNeighbours(): RookPointer[]; } class PawnPointer extends BasicPointer { getNeighbours(): PawnPointer[]; } class QueenPointer extends BasicPointer { getNeighbours(): QueenPointer[]; getPassableNeighbours(): QueenPointer[]; } } export default ChessPointers;