Commit Graph
12 Commits
Author SHA1 Message Date
pastilhas 7800acaf56 feat: add timeLimit option and time-based game-over logic
- Add timeLimit to GameOptions (default 600 seconds)
- Game-over triggers when time limit exceeded
- Remove all efficiency-based game-over logic
- Pass timeLimit through to useScore
- Check time limit during started and has-key states
2025-10-22 22:07:59 +01:00
pastilhas a69b7bbb5f organized types 2025-10-19 16:11:38 +01:00
pastilhas 252027dab2 no more ReturnType<typeof> 2025-10-19 15:55:52 +01:00
pastilhas a6f066d738 scoreManager implemented flawlessly 2025-10-19 15:29:01 +01:00
pastilhas 07f218f4dd 0 works both ways now 2025-10-19 15:09:41 +01:00
pastilhas 70a8167fb0 refactor: implement clean architecture with separation of concerns
- Add useMazeNavigation for pure maze geometry and path validation
- Add useVimMotions for pure Vim-style input parsing
- Add useAnimation for pure movement animation system
- Refactor useCursor to use specialized hooks with cleaner interface
- Refactor useHero to pure game logic without DOM manipulation
- Refactor useHeroRender to pure visual presentation layer
- Fix dual position system - hero position now authoritative
- Replace global events with callback props and return values
- Implement state-driven rendering instead of direct DOM queries
- Update GameManager interface with new HeroManager and HeroRenderer
- Maintain backward compatibility with legacy Cursor type
- Update UNIFIED_API.md with new architecture and interfaces
2025-10-19 13:27:35 +01:00
pastilhas 2c7816306c fix: rename GameStatus 'hasKey' to 'has-key'
- Update GameStatus type to use kebab-case convention
- Change all occurrences in useHero.ts
- Update UNIFIED_API.md documentation
- Maintains consistency with other status values
2025-10-19 13:05:35 +01:00
pastilhas 7c36f9dc14 refactor: integrate key management into cursor module
- Move useKeyBindings functionality into useCursor as useGameKeys
- Flatten GameManager interface using intersection types
- Rename clearLog/getLog to clearKeyLog/getKeyLog for clarity
- Remove separate useKeyBindings module and exports
- Update all documentation to reflect new architecture
- Maintain backward compatibility for platform hooks
2025-10-19 12:56:35 +01:00
pastilhas 6108640267 useGame=>useCursor=>useHero=>useHeroRender 2025-10-19 03:01:22 +01:00
pastilhas 4db86e1cfe working on unified API and major refactoring 2025-10-19 01:48:20 +01:00
pastilhas ee58ab25fb working on refactor 2025-10-17 03:07:07 +01:00
pastilhas c8eb84ce7e first 2025-10-14 13:33:51 +01:00