Very good first attempt.
Code follows C-style patterns.
For more Java/OOPS-style
Try, try incorporating these into the code:
Solid Patterns
1.1. Segregate Actors and Actions
1.2. Actors are Pieces on Board
1.2.1. Have Data ex: position on board
1.2.2. Have Actions for Data, ex: horse can move in 4 directions, pawn in one, etc
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