chlss
Version:
Open-Source Chess Engine in TypeScript.
18 lines (17 loc) • 1.05 kB
TypeScript
import { Piece } from "./piece";
import { SquareIndex } from "./square";
import { IMove } from "./move";
import { BoardPosition } from "./boardPosition";
import { Colour } from "./colour";
interface ILineMoveGenerator {
generateMoves(boardPosition: BoardPosition, piece: Piece, index: SquareIndex, posX: number, posY: number, offsetX: number, offsetY: number, colour: Colour, moveList: Array<IMove>): void;
generateBishopLikeMoves(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, moveList: Array<IMove>): void;
generateRookLikeMoves(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, moveList: Array<IMove>): void;
generateUsingOffsets(boardPosition: BoardPosition, piece: Piece, colour: Colour, index: SquareIndex, posX: number, posY: number, offsets: Array<Offsets>, moveList: Array<IMove>): void;
}
type Offsets = {
x: number;
y: number;
};
export declare const LineMoveGenerator: ILineMoveGenerator;
export {};