This was an academic project. In the course "Clean Code Development" we were provided a 2-Player Chess game and we were required to mold it into a 3-Player Chess game. While doing the transformation, we were required to apply SOLID principles and use the tools for code management and any CI server.
Our core logic relies on XML. We have tried to make the game (to a great extent) configurable where the input XML defines the board layout, pieces, rules, and players. XMLs for 2 and 3 (two variations – hexagon & circle) players are already added to source control and further boards can be defined using the same pattern. (The detailed architecture diagram shall be added under the documentation section of the code.)
The base code used in this project is taken from the following location; https://sourceforge.net/projects/javaopenchess/files/1.0.1/joChess-1.0.1-sources.zip/download
For more details: https://docs.google.com/document/d/1KiicUFyHlNJx7MD8-wBBwc9jcpXSSnzioZWuMbWXLnU/edit?usp=sharing
Presentation: https://docs.google.com/presentation/d/1YQ-cHpY5_YjQJhsL8xOPtPOHjgVe_ypxJBUP6haQv3Q/edit?usp=sharing