UNPKG

@real_one_chess_king/game-logic

Version:
141 lines (140 loc) 4.69 kB
import { Coordinate } from "./coordinate"; import { Color } from "./color"; import { PieceType } from "./piece/piece.constants"; import { MovementRules, PostMovementRules } from "./rules/piece-movement/movement-rules.const"; import { Direction } from "./rules/piece-movement/movement-rule"; export declare class RulesRepository { private pawnDefaultTransformationTypes; getPawnTransformationPieces(): PieceType[]; getDefaultPawnRules(color: Color, withPostRulest?: boolean): { movementRules: ({ id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; activatePositions?: undefined; } | { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; speed: number; directions: Direction[]; activatePositions: { y: number[]; }; })[]; postMovementRules: { id: `${string}-${string}-${string}-${string}-${string}`; name: PostMovementRules; color: Color; maxCharges: number; triggerOnY: number; possiblePiecesTypes: PieceType[]; }[]; }; getDefaultRookRules(): { movementRules: { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; }[]; }; getDefaultBishopRules(): { movementRules: { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; }[]; }; getDefaultKnightRules(): { movementRules: { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; }[]; }; getDefaultQueenRules(): { movementRules: { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; }[]; }; getDefaultKingsideCastling(color: Color): { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; color: Color; mainPieceCoordinate: Coordinate; foreginPieceCoordinate: Coordinate; }; getDefaultQueenSideCastling(color: Color): { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; color: Color; mainPieceCoordinate: Coordinate; foreginPieceCoordinate: Coordinate; }; getDefaultKingRules(color: Color): { movementRules: ({ id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; color: Color; mainPieceCoordinate: Coordinate; foreginPieceCoordinate: Coordinate; } | { id: `${string}-${string}-${string}-${string}-${string}`; name: MovementRules; moveToEmpty: boolean; moveToKill: boolean; collision: boolean; distance: number; directions: Direction[]; speed: number; })[]; }; }