48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
|
|
# Mine-Seeker Game Documentation
|
||
|
|
|
||
|
|
This directory contains comprehensive documentation about the Mine-Seeker game mechanics and implementation.
|
||
|
|
|
||
|
|
## Game Mechanics
|
||
|
|
|
||
|
|
### [Bonus Points System](./game-mechanics/BONUS_POINTS_SYSTEM.md)
|
||
|
|
Complete reference for the bonus points system including:
|
||
|
|
- All 6 bonus point types (Blind Hit, Chain Combo, Edge Mine, Endgame Mine, Safe Cell Bonus, Biggest Reveal)
|
||
|
|
- Calculation rules and examples
|
||
|
|
- Bonus statistics tracking
|
||
|
|
- Player name formatting in dialogs
|
||
|
|
- Database schema
|
||
|
|
- Implementation notes
|
||
|
|
- Testing checklist
|
||
|
|
|
||
|
|
**Recommended for**: Developers working on bonus system, AI assistants implementing or debugging bonus features, understanding game scoring mechanics.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Quick Reference
|
||
|
|
|
||
|
|
### Bonus Points at a Glance
|
||
|
|
| Bonus Type | Points | Condition |
|
||
|
|
|-----------|--------|-----------|
|
||
|
|
| Blind Hit | +2 | Mine with no revealed numbered neighbors |
|
||
|
|
| Edge Mine | +1 | Mine on board boundary (row/col 0 or 15) |
|
||
|
|
| Endgame Mine | +3 | Mine clicked when ≤10 mines remain |
|
||
|
|
| Safe Cell | +0.5 each | ≥2 safe cells revealed (min requirement) |
|
||
|
|
| Chain Combo | Tracked | Consecutive mine clicks (no safe clicks) |
|
||
|
|
| Biggest Reveal | Tracked | Largest number of safe cells revealed |
|
||
|
|
|
||
|
|
### Key Rules
|
||
|
|
- Safe cell bonus only awarded for ≥2 cells minimum
|
||
|
|
- Chain counter resets on any safe cell click
|
||
|
|
- Endgame threshold: 51 - (redPoints + bluePoints) ≤ 10
|
||
|
|
- Bonus stats are per-player and persist in database
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Files Using This Information
|
||
|
|
- Backend: `/src/Util/TopicManager.php`
|
||
|
|
- Frontend: `/assets/js/mine-seeker/contexts/GameProvider.jsx`
|
||
|
|
- UI: `/assets/js/mine-seeker/components/BonusStatsDialog.jsx`
|
||
|
|
- Constants: `/assets/js/mine-seeker/utils/constants.jsx`
|
||
|
|
|
||
|
|
|