Skip to content

Chess game implemented using Pygame with fully functional GUI. Researching on utilising minimax algorithm, but also experimenting with other algorithms namely Monte Carlo tree search (MCTS).

Notifications You must be signed in to change notification settings

hamza3256/ChessAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Chess with multithreading using Alpha-Beta pruning and minimax algorithm

Current Features

  • Fully working chess game written from scratch
  • CPU opponent built using alpha-beta pruning and the minimax algorithm
  • Multithreading
  • Special chess rules including en passant, castling, and pawn upgrade
  • Launch menu to choose your game mode
  • Local player versus player (on the same device)
  • Random cpu opponent

Installation

  1. Install Python 3
  2. Use pip to install tkinter, PIL, anytree, and threading
  3. Run main.py to start the program

TODO

  • Write neural network game mode
  • Add checkmate indication - checkmate rules are in place
  • Write local network multiplayer
  • More thoroughly document items
  • Clean up parts - many parts are implemented inefficiently
  • Fix unknown bugs in the game
  • Implement smooth drag and drop graphics
  • Make more compatible with alternate resolutions
  • Add rule where a player can get more queens from pawn upgrade
  • Allow the CPU opponent to perform pawn upgrades

About

Chess game implemented using Pygame with fully functional GUI. Researching on utilising minimax algorithm, but also experimenting with other algorithms namely Monte Carlo tree search (MCTS).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages