SOS is a traditional paper-pencil game where players take turns writing either an 'S' or an 'O' on a grid to form the word "SOS" horizontally, vertically, or diagonally. This AI-based SOS game enhances the original game with artificial intelligence algorithms to provide different levels of difficulty:
- Easy: Uses Fuzzy Logic to make AI decisions.
- Medium: Leverages a Genetic Algorithm to simulate intelligent moves.
- Hard: Utilizes the A* (A-star) search algorithm for optimal pathfinding strategies.
- Very Hard: Implements Minimax with Alpha-Beta Pruning for competitive gameplay in AI vs. Human mode.
The game also supports AI vs. Human and Human vs. Human play modes.
To install the SOS AI Game, follow these steps:
-
Clone the repository:
git clone https://github.com/Sk-Azraf-Sami/SOS-Paper-Pencil-Game-AI.git cd SOS-Paper-Pencil-Game-AI
-
Install the required dependencies: Make sure you have
pip
installed and then run:pip install -r requirements.txt
-
Ensure you have Python installed: The game was developed using Python 3.x. You can download the latest version from python.org. After installation, verify that Python is installed correctly by running:
python --version
or, for some systems:
python3 --version
-
Install Tkinter (if necessary): Tkinter is included with the standard Python installation on most systems. You can test if it's installed by running:
import tkinter tkinter._test()
If a small window appears, Tkinter is installed correctly. If you are using Linux and Tkinter is not available, you may need to install it manually:
- Ubuntu/Debian:
sudo apt-get install python3-tk
- Fedora:
sudo dnf install python3-tkinter
- Arch Linux:
sudo pacman -S python
- Ubuntu/Debian:
To start the game, run the following command:
python menu.py
- If you encounter any issues during installation, please check the repository's issues section for solutions or to report a problem.
- Be sure to check for updates regularly to keep the game running smoothly.
test.1.mp4
For detailed information about the 'SOS-Paper-Pencil AI Game', please refer to the docummentation.
Thank you for your interest in contributing to the 'SOS-Paper-Pencil AI Game'! We welcome contributions from everyone. To get started, please follow the guidelines below:
If you encounter any bugs or have ideas for new features, please open an issue on the GitHub repository. When opening an issue, provide as much detail as possible, including steps to reproduce the issue and any relevant information about your environment. This will help us investigate and address the problem more effectively.
We gladly accept pull requests for bug fixes, enhancements, and new features. To contribute code to the project, follow these steps:
- Fork the repository and create your branch from the
main
branch. - Make your changes, ensuring that your code adheres to the project's coding style and conventions.
- Write tests to cover your changes and ensure the existing tests pass.
- Ensure your code compiles without any errors or warnings.
- Commit your changes and push your branch to your forked repository.
- Open a pull request against the
main
branch of the original repository. - Provide a clear and descriptive title for your pull request and explain the changes you have made.
- Be responsive to any feedback or questions during the review process.
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.
To maintain consistency throughout the project's codebase, please adhere to the following guidelines:
- Use proper indentation and formatting.
- Follow naming conventions for variables, classes, and methods.
- Write clear and concise comments to improve code readability.
- Ensure your code is modular, reusable, and follows best practices.
If you have any questions or need assistance, feel free to reach out to the project maintainers or open an issue on GitHub.
We appreciate your contributions and look forward to working with you to improve this game!
This project is licensed under the MIT License.