Click here to watch a short demo of the program in action!
This script allows one to analyze their most recent chess.com game in the style of chess.com's own Game Review. Free users get one Game Review per day and that is kinds annoying especially if you play multiple games per day. So, I thought I could create my own since the chess engine chess.com uses, Stockfish, is open source and has a decent python library.
- Install the necessary Python modules by running
pip install req.txt - Enter your username in
details.py - Run
game_review.pyand begin learning
- Style of Pieces
The styling of the chess pieces can be changed by changing the respective files in thepiecesfolder. Simply ensure that the images have a transparent background, are of a high enough resolution (the bigger the better), have the same file names as the images that already exist and are in a PNG format. - Board Stying
The styling of the board can be changed by changing thedark_squaresandlight_squaresvariables indetails.py. Simply ensure that the colors are in a HEX format.
- Implement a Web App
Bring this application to the web so that users can use it without needing to download python or the required dependencies. The easiest way to do this would be to probably use Flask but I am still looking into all the possible implementation options.
Implement a GUI system
I thought that I had to build a whole chess game where I could make the pieces move and then I realized I could simply take the FEN of each position (FEN is an algebraic description of a chess position) after a player moves turn that to an image, thanks to the help of a python modulefentoboardimage, and simply display those images in sequence
-
Implement a frame around the board
This is to help people, who perhaps are just starting out at chess, to recongnize the location of the squares as the move suggestions are given in algebraic notation (c5 for example)I figured out that I could overlay the board on the frame after the board image was generated using PIL instead of trying to do it on the GUI.
-
Draw arrows on move suggestions
Possible aesthetic improvement -
Find 'great' and 'brilliant' moves
These moves are phenominal moves that can be found by an engine but can be difficult to find by human players, even grandmasters. -
Find book moves
These moves are moves that are commonly played in a given opening.