Game
- players
- turn
+ move(r,c)
Board
- cells
- n
+ place(r,c,s)
+ winner()
Player
- symbol: Symbol
Cell
- symbol: Symbol
«enum»
Symbol
X
O
EMPTY
Model the board
1enum Symbol { X, O, EMPTY }23class Board {4 Cell[][] cells;5 int n;6 void place(int r, int c, Symbol s) { ... }7 Symbol winner() { ... } // scan rows/cols/diagonals8}
State
Gameplayers + turn