Game Model Classes
IBoardModel
{Rules of the Game}
•Board configurations
•Legal moves
GameModel
{Game Management}
•Game initialization
• Win/lose/draw notification
TurnControl
{Player Management}
INextMoveStrategy
{Next Move Computation}
•Random
•Min-max/Alpha-beta
•Limited depth
•Custom
APlayer
{Turn Taker}
Abstracted &
Decoupled!