Go
Phase 1: Board model, stone placement and rule engine
Implement variable-size grid, stone placement, captures, and legality checks.
- Initialize grid and coordinates
- Validate moves
- Detect captures and ko rule
Functional Output: Logical board enforcing Go rules with correct stone placement and captures.
Phase 2: Minimal GUI foundation and board rendering
Create simple visual grid with stones, highlighting playable positions and last move.
- Draw intersections
- Display stones by player
- Highlight valid placements
Functional Output: Interactive board reflecting legal moves and current game state.
Phase 3: Human-vs-Human gameplay flow
Integrate GUI and engine for full alternating turns between two players.
- Enforce turn order
- Update board and captures
- Detect game-end conditions
Functional Output: Two-player matches progress correctly with rule enforcement and end-of-game detection.
Phase 4: Random AI opponent integration
Add CPU player making legal random moves while respecting Go rules.
- Generate legal moves
- Execute CPU turn
- Update GUI and board state
Functional Output: AI completes valid turns interacting correctly with human moves and game interface.
Phase 5: Score tracking, territory evaluation, and game statistics
Implement scoring, simple territory calculation, and optional game session tracking.
- Count captured stones
- Evaluate territories
- Record game history
Functional Output: Scores update correctly, capturing is tracked, and match statistics are recorded.
Phase 6: Advanced features, undo/redo, settings and polish
Add undo/redo functionality, board size selection, visual improvements, and session persistence.
- Implement undo/redo stack
- Allow board configuration
- Refine UI and display messages
Functional Output: Polished, stable application with configurable board, undo support, and persistent sessions.