UI
- Game setup / player selection
- Viewer (board, history)
- Human player input
- Computer player logic trace (?)
Board / Game State
- Player turn control
- Move validation
- Win/Draw recognition
Players
- Human
- Computer
Intelligent Computer Player
- Hypothetical gameplay, winning strategy recognition
- Memoization
- Board Comparison (Rotation, Reflection)
- Or, pre-programmed game plans?
Naive Computer Player (?)
- Random gameplay
- Near-win recognition
Tests
- Win/Draw recognition
- Computer player intelligence