Generator to create and/or solve Sudoku puzzles
A solver which uses a backtracking algorithm that is used to find solutions to generated or user-provided Sudoku puzzles. The solver has different modes that an user can choose for difficulty and/or assistance.
- Python 3.8
- Pygame
- Numpy
Go to terminal and paste: git clone https://github.com/nrudeys/Sudoku-Solver.git
Go to dist directory in cloned folder and double click on sudoku-solver application
pyinstaller -F --noconsole --add-data "instructions.txt;." --add-data "background.png;." sudoku_solver.py
The game has two start modes START and ENTER. Additional information such as rules, controls (e.g., keys), and notes can be found in INFO.
START mode generates an incompleted Sudoku puzzle
Before clicking START, an user can also choose a difficulty and assist mode. However, this is optional. If assist mode is not chosen its default is to be off but if a difficulty mode is not chosen, one is selected randomly.
EASY: 39 - 49 given clues
Example of a generated EASY puzzle
MEDIUM: 28 - 38 given clues
Example of a generated MEDIUM puzzle
HARD: 17 - 27 given clues
Example of a generated HARD puzzle
New game: generates a new game with same selected difficulty/assist modes
Generate solution: generates a solution for Sudoku puzzle
Verify solution: Checks if current board has a valid solution
Back: Returns user to home screen
If assist is on, the game will indicate cells that have conflicting entries with one another by changing its font to red. Otherwise, all entries are blue regardless of conflictions.
NOTE: assist mode can be changed mid-game
ENTER mode lets users provide their own Sudoku puzzle. It can generate a solution if given board is valid and a solution can be found.
Clear: Removes all entries from board
Solve: Generates a solution if one can be found and board is valid
Back: Returns user to home screen