This Chess Project utilises Pygame (and timeit) to display a main menu & forms system, provide an interactable (and flexible) chess game, and the ability to choose from a selection of AI.
With this program, you can play against AI or play against yourself.
- Clone the repository (the URL to the repository may change):
git clone https://github.com/RexMortem/Python-Chess-NEA
-
Install Python (the version I use is Python 3.10.1, although a variety of versions will work)
-
Install Pygame and timeit using pip (should be easy to find via google)
-
Run the following command
python main.py
As a rushed pre-university project, it suffers from a few deficiencies but also shows a surprising amount of promise; it's easy to look back on old code and rip it apart for its poor performance and subpar style (readability and adaptability), however the code works and showcases
As a rushed pre-university project, it suffers from a few deficiencies:
- The choice of tooling: After working with Pygame, it was clearly not the right choice for this project. Having to work with Pygame forced me to
- Reinventing the wheel:
- Insufficient research/planning:
Despite its defects, this project represented a milestone in my programming journey; this was my first large solo project. I'm also proud of it being functional despite its unnecessary complexity, and it has a decent amount of self-commenting (and commented) code.
This was also my first exploration of basic AI algorithms such as Min-Max and Alpha-Beta Pruning.