Project Structure: preprocessed_data.zip has all the preprocessing scripts and datasets we used to train the model gameState.py: This file defines a GameState class representing the chessboard state, including board representation, piece locations, move generation, and evaluation functions. model.py: This file handles training and deploying the CNN model for chess position evaluation. It reads FEN strings representing chess positions, trains the model on a dataset with material-based evaluation labels, and saves the trained model for later use. find_move.py: This file contains the core logic for finding the best move for the AI. It uses NegaMax pruning with alpha-beta search for efficient move exploration. The evaluation function combines the CNN prediction with a traditional piece value and position scoring approach. chessmain.py: Chess logic and board representation which It manages with the chess game logic, keeps track of the board state, and validates legal moves. Graphical User Interface (GUI): It creates the chessboard and piece graphics, handles user input (mouse clicks), and displays move animations and game information. AI Integration : It allows the computer to play as black using a separate process to find the best move and make decisions. cnn_scorer.py: FEN to board matrix: It converts a standard chess notation (FEN) into a numerical board representation for the CNN model.