Skip to content

RexMortem/Python-Chess-NEA

Repository files navigation

Chess AI Project

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.

How to run

  1. Clone the repository (the URL to the repository may change):
git clone https://github.com/RexMortem/Python-Chess-NEA 
  1. Install Python (the version I use is Python 3.10.1, although a variety of versions will work)

  2. Install Pygame and timeit using pip (should be easy to find via google)

  3. Run the following command

python main.py

Description

This project includes:

Reflection

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

Criticisms

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:

Praise

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.

About

A Python Chess AI project from 2022-2023.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages