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.