import {createRegion, Region} from "@/core/region"; import {Enemy, GamePhase, PlayerType, RegionType} from "@/samples/regicide/types"; import {RegicideCard} from "@/samples/regicide/types"; import {INITIAL_HAND_SIZE} from "@/samples/regicide/constants"; export function createInitialState() { const regions: Record = { enemyDeck: createRegion('enemyDeck', []), tavernDeck: createRegion('tavernDeck', []), discardPile: createRegion('discardPile', []), currentEnemy: createRegion('currentEnemy', []), hand_player1: createRegion('hand_player1', []), hand_player2: createRegion('hand_player2', []), hand_player3: createRegion('hand_player3', []), hand_player4: createRegion('hand_player4', []), }; const playerHands: Record = { player1: [], player2: [], player3: [], player4: [], }; return { regions, cards: {} as Record, playerHands, currentPlayerIndex: 0, playerCount: 1, currentEnemy: null as Enemy | null, enemyDeck: [] as Enemy[], phase: 'playing' as GamePhase, winner: null as boolean | null, }; } export type RegicideState = ReturnType;