Academic project in Software Engineering course. Includes: inheritance, data structures, exceptions, enums, singleton, serialization, JavaFX, JSON, JUnit tests, design patterns.
The game is played on a chess board, and in each level the player, represented as the knight, must escape the queen or king, that move on their own, while earning enough points to move to the next level. The board contains special squares such as: question square, blocked square, random jump square etc.
The project was developed using the MVC pattern. The screens that make up the game's GUI include the game board, home, score history, game rules, question popup and question editor (protected with an admin sign in screen).
There are two design pattern implemented in the project: template method and factory method.
The game board: