As of 2023. 05. 29. the project was submitted to my teacher, one could consider that version 1.0. I don't know if I will get back to this project in the future, but completing what should have been weeks of work in 4 days was a hell of a ride. Things surely could have been optimized better, but I even surprised myself with how good it turned out despite the tight deadline.
As depicted on the picture, to play this game we place 9 cards on the above board in this exact order. The objective of the game is to move the card numbered "1" to the leftmost position, so that the cards are in ascending order. We can do this by moving any cards to unoccupied cells in cardinal directions (that is, you cannot move diagonally).
For now, my only objective is to complete this project and get the best grade possible. In the future I might add additional functions, such as generating levels of any sizes, or creating multiple language support.
Functions the finished program will need to have:
- A simple UI using JavaFX
- Business logic so the game works
- The implementation should follow the MVC architecture
- Data storage in JSON or XML files, or a database (program should have I/O for these)