A simple Sudoku project designed to generate, validate, and solve Sudoku puzzles. This project provides functionalities for creating Sudoku boards, adding and removing numbers, and includes a user interface through terminal for interaction.
- Structure
- Table
- Add random values
- Difficulty
- Verify addition
- Interaction
- Add number to square
- Remove number from square
- Interface
- Show table
- Select square
- Add number
- Remove number
- Show win
- Make new game
- Show answers
- Implement solution algorithm
- Create DLX double linked structure
- Apply DLX algorithm
- ...
- Linux
- C Compiler (e.g., GCC)
-
Clone the repository:
git clone https://github.com/Sayplys/sudoku.git cd sudoku/
-
Compile the project:
gcc -o bin/sudoku.o src/main.c src/game/sudoku.c src/interface/displayer.c src/interface/handlers.c src/interface/listener.c src/solutionFinder/DLXSudoku.c src/solutionFinder/restrictionsMatrix.c -lm
-
Run the executable:
./sudoku
- The program will generate a Sudoku board based on the specified difficulty level.
- Use arrow key to move throught board.
- Press a number and enter to put it.
- Press 's' to show solution.
Feel free to fork this repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.