View Demo
·
Report Bug
·
Request Feature
·
Send a Pull Request
According to Baeldung, The idea of having a machine play chess against a human has been around for a long time and could have started in the late 18th century from an elaborate hoax. The first computer chess program was written by Alan Turing in 1950. This was soon after the second World War. At that time the computer was not invented so he had to run the program using pencil and paper and acting as a human CPU and each move took him between 15 to 30 minutes (not sure about this though ;-)). Enough of about the history. Atarist Chess Game is an AI based chess game. The game has option for 2 player, 1 player or 0 player(watching computer play computer). The AI algorithm used was the Minimax Algorithm. However, because of the size of the game tree of the chess game, I am still limiting the depth to four but very soon it will be more than that after I implement alpha-beta pruning. I used Java Swing package for the graphical user interface.
DISCLAIMER: At this point, this project is just for learning purposes only.
Here are the main modules and tool I used for the project
- Java - Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.
- Guava - Guava is an open source, Java-based library developed by Google. It facilitates best coding practices and helps reduce coding errors.
- JUnit5 Jupiter - JUnit Jupiter is the combination of the programming model and extension model for writing tests and extensions in JUnit 5. The JUnit Platform serves as a foundation for launching testing frameworks on the JVM
- Java Swing - The Swing framework in Java is built on top of the AWT framework and can be used to create GUI applications just like AWT.
- IntelliJ - IntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience
Feel free to contribute on any of the TODOs that are not yet accomplished.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are extremely appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/fantasticfeature
) - Commit your Changes (
git commit -m 'Add some improvements'
) - Push to the Branch (
git push origin feature/fantasticfeature
) - Open a Pull Request
Tinotenda Rodney Alfaneti - @Linkedin