chlss
Version:
Open-Source Chess Engine in TypeScript.
89 lines (88 loc) • 2.09 kB
TypeScript
import { Piece } from "./piece";
import { SquareIndex } from "./square";
import { IMove } from "./move";
import { Colour } from "./colour";
export type BoardPosition = [
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece,
Piece
];
export declare const BoardPosition: {
getAllPiecesByColour(boardPosition: BoardPosition, colour: Colour): Array<Piece>;
createEmpty(): BoardPosition;
copyAsync(boardPosition: BoardPosition): BoardPosition;
setEmpty(boardPosition: BoardPosition, square: number): void;
createDefault(): BoardPosition;
isEmpty(boardPosition: BoardPosition, x: number, y: number): boolean;
isSquareEmpty(boardPosition: BoardPosition, square: SquareIndex): boolean;
isSquaresEmpty(boardPosition: BoardPosition, ...squares: Array<SquareIndex>): boolean;
setPiece(boardPosition: BoardPosition, square: SquareIndex, piece: Piece): void;
getPiece(boardPosition: BoardPosition, square: SquareIndex): Piece;
getPieceByCoords(boardPosition: BoardPosition, x: number, y: number): Piece;
getPieceOrNull(boardPosition: BoardPosition, square: SquareIndex): Piece | null;
isInBoard(x: number, y: number): boolean;
isIndexInBoard(index: number): boolean;
isSquareUnderAttack(squareIndex: SquareIndex, moveList: Array<IMove>): boolean;
isSquaresNotUnderAttack(enemyColour: Colour, moveList: Array<IMove>, boardPosition: BoardPosition, ...squareIndexes: Array<SquareIndex>): boolean;
};