I used this project mainly to get a bit deeper into the basic concepts of Python. Right now it is a pretty basic chess engine implementing the majority of the games' rules. It comes with a pygame based GUI and without any computer opponents.
The following projects were a) a massive inspiration for the basic class layout and b) got me a headstart on the use of pygame, so check them out:
a) https://www.youtube.com/watch?v=xaJxBsxqkyM
b) https://github.com/mikolaj-skrzypczak/chess-engine
To play a game of chess, just run test.py
in the root folder.
Open points that I will maybe work on in the future:
- Threefold/fivefold repetition and fifty-move rule/seventy-five-move rule for draws
- Pawn promotion: User interface for choosing the desired piece
- Undo moves
- PGN support
- Online GUI
- Computer/AI opponents
- Some refactoring