8000 GitHub - willweiao/Sudoku-solver: Sudoku app with logical solving, hint system, and puzzle generation.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

willweiao/Sudoku-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sudoku Champion - Intelligent Sudoku Solver App

A complete Sudoku application with an interactive GUI, logical reasoning hints, puzzle generator, and full solution validation.

   

App Icon (left) | Main Application Window (right)


Table of Contents


Introduction

Sudoku Champion is a Python-based Sudoku solver and game application built with Tkinter.
It features an interactive graphical user interface (GUI) where users can play Sudoku puzzles of varying difficulties, request real-time logical hints, and validate their solutions.

The project aims to simulate human logical solving strategies and provide an educational as well as an enjoyable Sudoku experience.


Features

  • Interactive GUI built using Tkinter
  • Sudoku Puzzle Generator with four difficulty levels: Easy, Medium, Hard, Extreme
  • Real-time Hint System based on human-like logical reasoning techniques
  • Error Checking for player inputs with visual highlighting
  • Save and Load Game Progress locally
  • Timer Functionality to track solving time
  • Logical Solving Engine separate from brute-force solving
  • Difficulty Evaluation based on solving logic complexity
  • Packaged Executable (.exe) available in Releases for easy download and play

Hint highlight(green) (left) | Error highlight(red)(middle) | Save progress(right)


Installation

Requirements:

  • Python 3.8 or higher
  • Libraries:
    • numpy
    • pandas
    • pulp
    • tkinter (comes with Python)

Install dependencies:

pip install -r requirements.txt

Clone the repository:

git clone https://github.com/your-username/SudokuChampion.git
cd SudokuChampion

Run the application:

  • Download the application
  • Or
python sudoku_solver_app/main.py

Usage

  • Start the application.

  • Select a difficulty level and generate a new puzzle.

    • Extreme? huh sound not hard enough;
  • Fill in the grid by clicking on empty cells.

    • enter only one number are seen as confirmed choice
    • enter multiple numbers are counted as thinking of candidates
    • you can change your answer any time you want! And Neither error count nor Hints limits!
  • Use the Hint button to receive logical solving suggestions.

  • Save your current progress or load a previously saved puzzle.

  • Pause and resume your gameplay at any time.

    • Sorry, it's pause time. Don't peek ;D

Enter Candidates (left) | Generating new puzzle (right)


Logical Techniques Implemented

The real-time hint system is based on the following solving techniques:

  • Naked Single

  • Hidden Single

  • Naked Subsets (Pairs, Triples, Quads)

  • Hidden Subsets

  • Pointing

  • Claiming

  • X-Wing

  • Swordfish

  • XY-Wing

For more details, see the sudoku_tutorial/ folder for full logical techniques documentation.


Project Structure

sudoku_solver_app/
    ├── assets/                # Static resources (icons, etc.)
    ├── core/                   # Core logic modules (solver, generator, hints)
    ├── ui/                     # Tkinter GUI code
    ├── utils/                  # Helper utilities
    ├── main.py                 # App entry point
sudoku_tutorial/
    └── logical_hints.py         # Tutorial and documentation for solving methods
requirements.txt
README.md
.gitignore

Build and Release

The packaged executable "(.exe)"can be found in the Releases section.

To build the .exe manually:

python -m PyInstaller --onefile --noconsole --icon=sudoku_solver_app/assets/icon.ico --name=SudokuChampion --add-data "sudoku_solver_app/assets;assets" sudoku_solver_app/main.py

After building, the .exe will appear in the /dist/ folder.


License

This project is licensed under the MIT License - see the LICENSE file for details.

Please retain the original credits if you use or modify it.


Acknowledgements

About

Sudoku app with logical solving, hint system, and puzzle generation.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0