UNPKG

@real_one_chess_king/game-logic

Version:
50 lines (49 loc) 1.55 kB
import { Board } from "./board/board"; import { Color } from "./color"; import { GlobalRule } from "./rules/global/check-mate.global-rule"; import { Turn } from "./turn"; import { BoardMeta } from "./board/board.types"; import { Coordinate } from "./coordinate"; import { Action } from "./affect/affect.types"; export declare class Player { pkey: string; nickName: string; constructor(pkey: string, nickName: string); } export type NewPlayerGameData = { players: { [key in Color]: Player; }; yourColor: Color; timeStart: string; timeLeft: { [key in Color]: number; }; }; export declare class Game { white: Player; black: Player; board: Board; globalRules: GlobalRule[]; treeLength: number; private timeStart; private timeLeft; private movesTree; private timers; private _nextTurnColor; private turns; result: Color | "draw" | null; timeEnd: string | null; constructor(white: Player, black: Player, board: Board, globalRules: GlobalRule[], treeLength: number, timeStart: string, timeLeft: { [key in Color]: number; }); get nextTurnColor(): Color; private updateGameNextTurn; private onTimeEnd; private externalOnTimeEnd; startTimer(externalOnTimeStart: () => void, externalOnTimeEnd: () => void): void; getActionsForCoordinate(coordinate: Coordinate): Action[]; processTurn(turn: Turn): Color | "draw" | null; getBoardMeta(): BoardMeta; getNewGameInfoForColor(color: Color): NewPlayerGameData; }