UNPKG

@real_one_chess_king/game-logic

Version:
28 lines (27 loc) 1.15 kB
import { RuleMeta } from "./rules/piece-movement/rules"; import { Board } from "./board"; import { PieceMeta } from "./piece/piece.types"; import { GlobalRule } from "./rules/global/check-mate.global-rule"; import { PostMovementRuleMeta } from "./rules/piece-post-movement"; import { Coordinate } from "./coordinate"; import { Color } from "./color"; import { PieceType } from "./piece/piece.constants"; export type Position = { [key in Color]: { type: PieceType; coordinate: Coordinate; }[]; }; export type RulesMeta = { movementRules: RuleMeta[]; postMovementRules?: PostMovementRuleMeta[]; }; export declare class GameInitializer { getDefaultGlobalRules(): GlobalRule[]; spawnDefaultRulesAndDefaultPosition(board: Board): Position; private rulesRepository; getDefaultRulesForPiece(type: PieceType, color: Color, withPostRulest?: boolean): RulesMeta; spawnBeforeTransformPostiion(board: Board): Position; buildPieceMeta(type: PieceType, color: Color, rulesMeta: RulesMeta): PieceMeta; spawnDefaultRulesCustomPosition(board: Board, position: Position, withPostRulest?: boolean): void; }