- Optimize algorithms
- Use Coordinates everywhere in GameController rather than x and y
- Fix public API and method access modifiers
- Use a solution similar to interfaces to centralize capabilities of different types of pieces (leaper, rider...)
- Update empty methods with
UnsupportedOperationException()
- Add documentation
- Add sound effects
- Add music
- Add themes
- Add controls and settings buttons (open, save, change theme)
- Add game save and load
- Add more end game reasons (50 moves without smth means smth)
- Add timer and clock
- Add player names (String)
- Make window resizable
- Finish fairy chess
- Complete MANIFEST.MF
- Implement docker
- Configure CI/CD
- Continuous integration deploys
- Implement jlink
- Implement jpackage
- Continuous integration docs publishing
- Continuous integration deploys
- Deploy on the web (a web interface/client)
- Add the 3 complex moves (castle, en passant, promotion)
- Finish MoveHistory
- Credit the creator of the sprites
- Add move count
- Add undo/redo