A simple chess game made in pure java with following main objectives:
- Deepen knowledge of OOP principles (Encapsulation, Inheritance, Polymorphism and Abstration).
- Deepen knowledge in the matrix data structure.
- Improve the construction of the code structure and best pratices.
- improve java exception handling capabilities.
- All pieces with basic movement.
- Line of sight testing for appropriate pieces.
- Especial move En passant.
- Especial move Castling.
- Especial move Promotion.
- Hit graphs for legal move resolution.
- Legal move resolution - so that you can't put yourself in check.