Major changes to the structure of logic in the chess core.
Most importantly:
Moved all files into model/ folder, to comply with the existing view/ and viewmodel/ folders.
Separated model/base from model/versions. All files under base is used in all versions of chess.
In the model/versions folder we find code for specific versions.
The name Moveset has been replaced by Action.
The class Piece holds multiple actions.
This is reasonable because the piece class exist in the architecture class diagram. The names also make more sense.
To help design pieces, a PieceBuilder and PieceDirector class now exist. These follow the builder design pattern.
Common regex patterns are defined in a separate file (regex.kt).
Calculation has been split up into SimpleMoveCalculator and MoveCalculator. This reduces code repetition.
Major changes to the structure of logic in the chess core.
Most importantly:
Moved all files into model/ folder, to comply with the existing view/ and viewmodel/ folders.
Separated model/base from model/versions. All files under base is used in all versions of chess. In the model/versions folder we find code for specific versions.
To help design pieces, a PieceBuilder and PieceDirector class now exist. These follow the builder design pattern.
Common regex patterns are defined in a separate file (regex.kt).
Calculation has been split up into SimpleMoveCalculator and MoveCalculator. This reduces code repetition.