@real_one_chess_king/game-logic
Version:
R.O.C.K. chess game logic
28 lines (27 loc) • 1.15 kB
TypeScript
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;
}