This project is a Sudoku game implemented using C++ and the Qt framework. It features a graphical user interface (GUI) that allows users to play Sudoku with varying difficulty levels. Users can also save and load game states, change button colors, and reset the game.
.
├── assets
│ ├── Heart.png
│ └── Sudoku_Qt.ico
│
├── include
│ ├── SudokuButton
│ │ └── SudokuButton.h
│ │
│ ├── utils
│ │ ├── color_utils.h
│ │ └── file_utils.h
│ │
│ ├── constants.h
│ ├── game.h
│ ├── GameStateManager.h
│ ├── mainwindow.h
│ └── sudokugenerator.h
│
├── src
│ ├── SudokuButton
│ │ └── SudokuButton.cpp
│ │
│ ├── utils
│ │ ├── color_utils.cpp
│ │ └── file_utils.cpp
│ │
│ ├── game.cpp
│ ├── GameStateManager.cpp
│ ├── main.cpp
│ ├── mainwindow.cpp
│ └── sudokugenerator.cpp
│
├── Network
│ ├── include
│ │ ├── SudokuClient.h
│ │ └── SudokuServer.h
│ └── src
│ ├── SudokuClient.cpp
│ └── SudokuServer.cpp
│
├── .clang-format
├── CMakeLists.txt
├── .gitignore
├── README.md
├── resources.qrc
└── .valgrind-suppressions
- Sudoku Board: Generates and displays a Sudoku board with a 9x9 grid.
- Difficulty Levels: Select from Easy, Medium, or Hard difficulty levels.
- Game State: Save and load game states to continue previous sessions.
- Color Customization: Choose colors for Sudoku buttons.
- Timer: Tracks the time taken to solve the Sudoku puzzle.
- Heart System: Indicates the number of remaining chances.
- C++11 or later
- Qt 5.15 or later
- CMake 3.10 or later
- Clone the repository:
git clone https://github.com/your-username/sudoku-game.git
cd sudoku-game
- Create a build directory and navigate into it:
mkdir build
cd build
- Generate the Makefiles using CMake:
cmake ..
- Build the project:
cmake --build .
- Run the application:
./sudoku_game
- Start a New Game: Select a difficulty level and click "Start" to begin a new game.
- Continue Old Game: Click "Continue old game" to resume a previously saved game.
- Reset Game: Click "Reset" to reset the current game and start over.
- Choose Colors: Click "Choose Color" to pick colors for Sudoku buttons.
- Qt Framework: Provides the GUI components for the application.
- CMake: Used for building the project.