Mancala/Oware
Phase 1: Board model, pit representation and rule engine
Implement dynamic pit setup, stone distribution and capture rules.
- Initialize pits and stores
- Validate legal moves
- Apply capture mechanics
Functional Output: Logical board with rule-compliant moves and correct stone capture behavior.
Phase 2: GUI foundation and interactive board rendering
Create visual board, pits, stones and interactive elements for player selection.
- Render pits/stores
- Animate stone movements
- Highlight selectable pits
Functional Output: Fully interactive board reflecting the current game state and player actions.
Phase 3: Human-vs-Human gameplay flow
Integrate GUI and engine to support alternating turns between two players.
- Enforce turn order
- Update board state
- Detect game-end conditions
Functional Output: Two-player matches progress correctly with full rule enforcement and end-of-game detection.
Phase 4: Random AI opponent integration
Add CPU player executing random legal moves while respecting game rules.
- Generate legal moves
- Execute CPU turn
- Update GUI and board
Functional Output: CPU can take valid turns, interact with GUI and follow all rules.
Phase 5: Score tracking, game statistics and session management
Implement scoring logic, cumulative statistics, and optionally save/load sessions.
- Track player scores
- Maintain match history
- Save and restore game state
Functional Output: Scores update correctly, statistics are recorded, and sessions can be persisted.
Phase 6: Advanced features, undo/redo, settings and polish
Add undo/redo functionality, difficulty settings for AI, and UI/UX enhancements.
- Implement undo/redo stack
- Configure AI difficulty
- Refine visual effects and messages
Functional Output: Polished, stable application with enhanced usability and configurable AI behavior.