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.