Package knockabout.gamemodel

Improvement to the Game's Data Structures

See:
          Description

Class Summary
Board The Knockabout GameBoard main data struct is simply of a double-array of Hexes.
CompiledMove A compiled move describes all the translations caused by the sourceMove It is faster to apply a compiledMove than a move because, as the name implies, the consequences of the move are already computed, but applying a CompiledMove only make sense if the board is in the same state as it was when the CompiledMove was generated.
Die The Knockabout Die Class Represents a game die.
GameState The state of a knockabout game
Hex KnockAbout Hexagon Object Represents 1 tile on the Knockabout Game Board This tile may or may not contain a die.
Move KnockAbout Move Object This object represents a Knockabout game move.
Translation A translation of a dice
 

Package knockabout.gamemodel Description

Improvement to the Game's Data Structures

To improve the speed of the search the following improvements on the game state internal representation have been added:

The tests ran with MinMaxSearchAlgorithm (which uses the improvement described above) against DCMinMaxSearchAlgorithm (which use "deep cloning") show the significant speed improvements brought by these techniques (more than 40 % speed up on my machine).