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!