This document provide information about the design decisions made about the engine module.
d[1-9]b[1-9]c[1-9]W(e|s|w|n)D(r|g|w)F[1-4]F1 : Plum blossom
F2 : Orchid
F3 : Chrysanthemum
F4 : Bamboo
S[1-4]S1 : Spring
S2 : Summer
S3 : Autumn
S4 : Winter
Hidden tile
The String "XX" is used to represent a hidden tile for a certain board view.
Some names do not represent real tiles, they are place holders, mostly for testing purposes.
List of used test names and their usage :
- "ok" : This name can be found in JUnit tests
Only one move can be played at a time, but two players (possibly more) can propose moves, priority is now key to determine what move has to be played.
Possible moves appear as list, a move contains its order, as a field (int).
The value 0 is the highest priority possible, the higher the order the lower the priority.
Engine uses move priority to determine what changes it has to apply to the board.
If this property is carried through to the GUI, it can be used to suggest a move to its user.