UNPKG

hathora-et-labora-game

Version:

Game logic reducer for Uwe Rosenberg's Ora et Labora

50 lines (49 loc) 1.5 kB
import { Cost, GameCommandEnum, GameConfigCountry, GameConfigLength, GameState, LandEnum, NextUseClergy, Rondel, SettlementRound } from './types'; export declare const FEATURE_LEN: number; export type FeatureSpec = { featureLen: number; height: number; width: number; gridAnchor: number; maxPlayers: number; tileChannels: number; vocabCapacity: number; tile: { landOffset: number; landLen: number; erectionIdChannel: number; clergyOffset: number; clergyLen: number; }; categorical: { name: string; tileChannel: number; capacity: number; vocab: string[]; }[]; offsets: { players: number[]; frame: number; shared: number; playerResources: number; playerWonders: number; playerClergy: number; playerSettlements: number; playerGrid: number; }; vocab: { erections: string[]; buildings: string[]; settlements: string[]; lands: LandEnum[]; commands: GameCommandEnum[]; resources: (keyof Required<Cost>)[]; rondelKeys: (keyof Omit<Rondel, 'pointingBefore'>)[]; settlementRounds: SettlementRound[]; nextUses: NextUseClergy[]; lengths: GameConfigLength[]; countries: GameConfigCountry[]; }; }; export declare const featureSpec: FeatureSpec; export declare const encode: (state: GameState, perspective?: number) => Float32Array;