Very good first attempt.
Code follows C-style patterns.
For more Java/OOPS-style
Try incorporating these into code:
Solid Patterns
1.1. Segregate Actors and Actions
1.2. Actors are Data Class
1.2.1. ex: position on board
1.2.2. internal actions of data, ex: horse can move in 4 directions, pawn in one
1.3. Actions can be Strategy
1.4. We can make class for engine with composition with Data Class + Actions
1.5. Later Actions can come from AI Engine
Bonus: Actions Validation EngineUse Lombok
2.1. Code will be lot cleanerCreate Interfaces
3.1. Will make actions more clearer