This project is a chess GUI built using Pygame. As a beginner, I'm developing it step by step, focusing on adding features gradually to enhance both functionality and my learning experience.
This project is being developed step by step, with the following goals in mind:
- Player Info Box: Display the player's name and indicate whose turn it is.
- Timer: Implement a countdown timer for each player to make the game more competitive.
- Settings Menu:
- Change the background color to suit the player's preference.
- Customize the board color for a personalized look.
- AI Integration:
- Start with Stockfish, the powerful chess engine.
- Eventually add a machine learning-based AI for an alternative challenge.
- Python 3.x
- Pygame
- python-chess
- Stockfish (Download the executable and place it in the
stockfish
folder)
-
Clone the repository:
git clone https://github.com/nihaltp/ai_chess.git cd ai_chess
-
Install requirements:
pip install -r requirements.txt
-
Start the game:
python main.py
Start the Game: Run the main.py file to start the game.
Click on the pieces to select and move them.
Use the settings menu to customize your game experience.
The game will automatically switch between players after each move.
The game will end when a player checkmates the other player or when the timer runs out.
- Checkmate the opponent's king while managing your time.
- Strategize your moves to outplay the AI or human opponent.
- AI
- Undo/Redo
- Checkmate
- Draw
- Castling
- Promotion
- Piece Movement
- Piece Selection
- Game History
- Save/Load Game
- Timer
- Settings
- Customizable Board
- Customizable Background
- Customizable Pieces
- Customizable Colors
- Customizable Font
- Customizable Timer
- Customizable AI
- Customizable Objective
- Customizable Game History
- Customizable Game Over
Contributions are welcome!