@cocacola-lover/knight_path_finder
Version:
Iterative path finding Algorithms for knight on a chessboard
38 lines (37 loc) • 1.27 kB
TypeScript
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;