Add a class to simulate a grid of squares on the game board.

Signed-off-by: Jason Lynch <jason@calindora.com>
Add a class to keep track of game state and handle the execution of moves.

Signed-off-by: Jason Lynch <jason@calindora.com>
Add an automatic player using minimax with alpha-beta pruning.

Signed-off-by: Jason Lynch <jason@calindora.com>
Support multiple copies of a single card and calculate scores properly.

Signed-off-by: Jason Lynch <jason@calindora.com>