Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hetari/chessai-master
https://github.com/hetari/chessai-master
Last synced: about 5 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/hetari/chessai-master
- Owner: Hetari
- Created: 2024-01-11T14:51:56.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-05-09T19:02:28.000Z (6 months ago)
- Last Synced: 2024-05-09T20:24:54.582Z (6 months ago)
- Language: Python
- Size: 1.24 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ChessAi-master
**ChessAi-master** is a Python project aimed at developing a chess-playing artificial intelligence using various algorithms and techniques. This project provides a platform for experimenting with different approaches to chess AI and understanding the complexities involved in creating an effective chess-playing program.
This project is created step by step following Eddie Sharick's [YouTube tutorial series](https://www.youtube.com/playlist?list=PLBwF487qi8MGU81nDGaeNE1EnNEPYWKY_).
## Features
- **Object-Oriented Programming (OOP)**: Utilizes object-oriented principles to organize code into classes and objects, enhancing modularity, reusability, and maintainability.
- **Better File Structure**: Implements a well-structured file organization to enhance code readability and maintainability, separating concerns and functionalities into different modules.
- **Sound Effects**: Incorporates sound effects to enhance the user experience, providing auditory feedback for moves, captures, and game events.
- **Threading and Multiprocessing**: Implements threading and multiprocessing techniques to improve performance, allowing for concurrent execution of tasks such as move generation, evaluation, and user interface interaction.
- **Chess Engine**: Implements a basic chess engine capable of generating legal moves, evaluating positions, and making moves based on different algorithms.
- **Minimax Algorithm**: Utilizes the minimax algorithm with alpha-beta pruning to search through the game tree and find the optimal move.
- **Alpha-Beta Pruning**: Implements alpha-beta pruning to improve the efficiency of the minimax algorithm by eliminating redundant branches.
- **Evaluation Functions**: Includes evaluation functions to assess the strength of a given position, considering factors such as piece values, position control, mobility, and king safety.
- **User Interface**: Provides a simple text-based user interface for interacting with the chess engine and playing games against the AI.## Installation
To use ChessAi-master, follow these steps:
1. Clone the repository to your local machine:
```bash
git clone https://github.com/Hetari/ChessAi-master.git
```2. Navigate to the project directory:
```bash
cd ChessAi-master
```3. Install the required dependencies:
```bash
pip install -r requirements.txt
```## Usage
After installing the project, you can run the chess engine and play games against the AI using the following command:
```bash
python main.py
```Follow the on-screen instructions to make moves and interact with the chess engine.
## Contributing
Contributions to ChessAi-master are welcome! If you'd like to contribute to the project, feel free to fork the repository and submit a pull request with your changes.
## Acknowledgments
ChessAi-master is inspired by various chess AI projects and algorithms available in the open-source community. We extend our gratitude to Eddie Sharick for his excellent tutorial series, which served as a guide for the development of this project.