UNPKG

chlss

Version:

Open-Source Chess Engine in TypeScript.

36 lines (35 loc) 1.71 kB
import Pieces from "./pieces"; import { Colour } from "./colour"; import { SquareIndex } from "./square"; export type Piece = typeof Pieces.BlackKing | typeof Pieces.WhiteKing | typeof Pieces.BlackBishop | typeof Pieces.WhiteBishop | typeof Pieces.WhiteQueen | typeof Pieces.BlackQueen | typeof Pieces.WhitePawn | typeof Pieces.BlackPawn | typeof Pieces.BlackKnight | typeof Pieces.WhiteKnight | typeof Pieces.WhiteRook | typeof Pieces.BlackRook | typeof Pieces.Empty; interface IPiece { getColour(piece: Piece): Colour | null; isWhite(piece: Piece): boolean; isBlack(piece: Piece): boolean; isEmpty(piece: Piece): boolean; isColour(piece: Piece, colour: Colour): boolean; compareColour(colour1: Colour, colour2: Colour): boolean; isEnemy(piece: Piece, colour: Colour): boolean; allWhite: Array<Piece>; allBlack: Array<Piece>; isEnemy(piece: Piece, colour: Colour): boolean; isEnemyOrEmpty(piece: Piece, colour: Colour): boolean; isEnemyOrNull(piece: Piece, colour: Colour): boolean; isRook(piece: Piece): boolean; isPawn(piece: Piece): boolean; isQueen(piece: Piece): boolean; isBishop(piece: Piece): boolean; isKnight(piece: Piece): boolean; isKing(piece: Piece): boolean; isColourEnemyOrNull(tColour: Colour | null, colour: Colour): boolean; getKing(colour: Colour): Piece; getPawn(colour: Colour): Piece; getRook(colour: Colour): Piece; getQueen(colour: Colour): Piece; getKnight(colour: Colour): Piece; getBishop(colour: Colour): Piece; getBishopSquareColour(i: SquareIndex): Colour; getBishopSquareColourByCoords(x: number, y: number): Colour; } export declare const Piece: IPiece; export {};