A chess AI built using minimax, alpha-beta-pruning, and Zobrist hashing algorithms
The directory comprises three files and a subdirectory:
runner.py
, which contains the code to run chess50's graphical user interfacechess50.py
, which contains the code to implement the chess AIrequirements.txt
, which contains the list of dependenciesassets/
, the folder containing the fonts and images used in the project
Open the Terminal, go to the chess50/
directory, and run pip install -r requirements.txt
.
In the chess50/
directory, run python runner.py
in the Terminal.
-
Choosing a side. Once the
pygame
window opens, choose the side you want to play or you can let chess50 choose a side for you in a pseudorandom manner. -
Moving a chess piece. To move a chess piece, click the piece you want to move and click the square to which you want it to move.
-
Playing another game. When the game is over, click "PLAY AGAIN" if you want to play another game.
-
Resigning a game. During your turn, click the flag icon below the chessboard to resign a game.
2021 © Jessan Rendell G. Belenzo
Licensed under the GNU General Public License v3.0. See LICENSE.
Russell, S., & Norvig, P. (2021). Artificial Intelligence: A Modern Approach, Global Edition 4th. Foundations, 19, 23.
Zobrist, A. L. (1970). A new hashing method with application for game playing. ICGA Journal, 13(2), 69-73.
Fiekas, N. (2021). niklasf/python-chess. GitHub.
Lefler, M., et al. (2021). Simplified evaluation function. Chess Programming Wiki.
Burnett, C. (2012). Category:SVG chess pieces. Wikimedia Commons.
Smashicons (n.d.). Flag free icon. Flaticon.