This is a chess engine written in python. The AI is designed to be a challenging and dynamic gameplay experience.
- Single-Player Mode: Play against an AI opponent with adjustable difficulty levels.
- Interactive GUI: Drag and drop chess pieces with smooth animations.
- Move Validation: Ensures all moves comply with chess rules.
- Undo Functionality: Allows players to undo moves.
- Game Over Detection: Detects checkmate, stalemate, and draw conditions.
- Customizable Board: Option to change the appearance of the chessboard and pieces.
- Navigate to the project directory.
- Run the main script: python main.py
- The game window will open, and you can start playing.
- Start a New Game: Select New Game from the menu.
- Make a Move: Click and drag a piece to the desired square.
- Undo a Move: Click the Undo button.
- Adjust AI Difficulty: Go to the settings menu and choose the desired difficulty level.
The AI uses the Min-Max algorithm with alpha-beta pruning to determine the best moves. The depth of the search tree can be adjusted to change the difficulty level. At higher difficulties, the AI calculates several moves ahead, making it more challenging to defeat.
Multiplayer Mode: Support for online or local multiplayer. Enhanced AI: Implementation of machine learning techniques for adaptive gameplay. Mobile Version: Develop a mobile-friendly version for iOS and Android. Game Analysis: Add a feature to analyze and provide feedback on completed games.