Commit Graph

55 Commits

Author SHA1 Message Date
Brian Fertig afd8c78253 Refactor Uno game state transitions to use callback-based animation sequencing
- Update `handleLogEffects` to accept an `onDone` callback, ensuring post-state logic (unblocking input, updating UI) only executes after visual effects complete.
- Introduce `animateForcedDraw` to display a prominent "+N" banner and animate card draws with custom timing parameters.
- Refactor `animateBatchDraw` to support configurable `flyDuration` and `stagger` via a `timing` object.
- Apply the new callback pattern across all move execution paths (`playCard`, `drawCard`, AI moves) to prevent race conditions and ensure consistent animation flow.
2026-05-19 20:34:37 -06:00
Brian Fertig fcfff62a15 feat: add sound effects, backgrounds, and enhance OpponentSelect UI
- Introduce `Sounds.js` utility and load new audio assets (dice, cards, chips, casino).
- Play appropriate sound effects in Backgammon, Blackjack, Holdem, Parchisi, Phase10, SkipBo, and Yatzi.
- Add `background-casino.png` and `background-room.png` to PreloadScene.
- Update OpponentSelectScene with new backgrounds, styled title/subtitle pills, and improved Start/Back buttons.
- Enhance opponent selection with gradient backgrounds and shadows via `applyOpponentStyle`.
- Implement `highlightTile` for better visual feedback in option selectors.
- Randomly select a card back for card games in OpponentSelectScene.
2026-05-17 12:34:46 -06:00
Brian Fertig d206cf6e5b feat: add single-player Parchisi game with AI
- Implement core Parchisi logic (ParchisiLogic.js) including board rules,
  move validation, and state management.
- Add Minimax-based AI (ParchisiAI.js) with heuristic evaluation for move
  selection, supporting up to 3 AI opponents.
- Create full Phaser game scene (ParchisiGame.js) with animated board,
  pawns, dice, and UI elements.
- Register new game assets (fonts, images, video animations).
- Update game registry to support 1-4 players with 3 AI opponents.
- Integrate Parchisi into the main scene loader and game room dispatch.
2026-05-16 18:45:41 -06:00
Brian Fertig 1d28f27a7d feat: update holdem logic and add parchisi game logic
- Update HoldemLogic.js: reduce blind level interval to 5 minutes, fix single-pot split logic, and apply minor formatting/whitespace changes.
- Add new ParchisiLogic.js file implementing pure game logic for the Parchisi board game, including path definition, player entry points, safe squares, and home columns.
- Add new assets: gerome.png, ethel video animations (happy/idle/upset), gerome/jeff video animations (happy/idle/upset), and update opponents.png/psd.
2026-05-16 14:15:10 -06:00
Brian Fertig 2c136e0567 Added several opponents and Texas Hold Em 2026-05-16 11:59:33 -06:00