This is my first big project. I have worked on it alone with almost no help from youtube / other chess tutorials. I learned a lot going thru the project. After many sleepless nights and painful days l was able to complete it! It will certantly not be perfect but this is my first project non the less! There are a few commits because l learned how to push and commit during making the project and l didn't believe l will even complete it.
This project was made with JavaFX and Maven. Javadoc convention used for the comments. Guava library used for the Stopwatch class. Apache Commons IO library used for Serialization file writing.
This project includes the following functionalities:
- En passant
- Castling
- Stalemate
- Checkmate
- Pawn promotion
Additions to the project:
- Load the game from where you have left it (Serialization)
Coming soon:
- FEN notation custom boards generator (export a board as FEN)
- Clock (custom time modes)
- MySQL DB integration (for all users to keep their progres, games, etc...)
- Evaluation meter (for which player has a better position / is winning)
- Custom boards / pieces
- Animations
- Panel for latest moves
- Rewatch a game (game positions save as FEN in a .txt file)
- Multiplayer (with lobby system / code to enter)
- Chat
- Unit Testing with JUnit
- Chess AI (bot for singleplayer)
- Spring Framework integration
- Export to Android / IOS