Welcome to the Sudoku Game repository! This project is a classic Sudoku puzzle game built using SFML (Simple and Fast Multimedia Library). Enjoy a user-friendly interface, various difficulty levels, and hours of brain-teasing fun!
The game is developed using a backtracking algorithm to generate and solve the Sudoku puzzles. The algorithm works by filling in the grid with numbers from 1 to the grid size (9 for a standard 9x9 Sudoku grid) aleatorily. If the number is valid, it moves on to the next cell. If the number is not valid, it tries the next number. If no number is valid, it backtracks to the previous cell and tries a different number. This process is repeated until the grid is filled.
- Classic Sudoku gameplay with a clean, intuitive interface.
- Multiple difficulty levels to challenge both beginners and seasoned players.
- Enhanced audio effects for an immersive experience.
Ensure you have the following installed on your system:
- A C++ compiler (GCC, Clang, MSVC, etc.)
- SFML 2.6.1
Note
:
-
If you are using Visual Studio Code, you need to add the SFML include path to your project's
c_cpp_properties.json
file. For example:Navigate to .vscode/c_cpp_properties.json and add the following to the includePath array in the configurations object:
{ "configurations": [ { "includePath": [ "/your/path/to/SFML-2.6.1/include" ], } ] }
-
Change the Makefile to reflect the location of your SFML include and lib directories. For example:
# SFML include and lib directories SFML_INCLUDE = "\your\path\to\SFML-2.6.1\include" SFML_LIB = "\your\path\to\SFML-2.6.1\lib"
-
Clone the repository:
git clone https://github.com/ismailza/Sudoku.git
-
Navigate to the project directory:
cd Sudoku
-
Compile the project (ensure SFML is correctly set up):
make
-
Run the executable:
make run
Contributions are what make the open-source community such an amazing place to be, learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (git checkout -b feature/feature_name)
- Commit your Changes (git commit -m 'Add some feature_name')
- Push to the Branch (git push origin feature/feature_name)
- Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.