| Crates.io | sudoko-tui |
| lib.rs | sudoko-tui |
| version | 0.6.0 |
| created_at | 2025-07-05 11:14:52.026599+00 |
| updated_at | 2025-08-04 08:27:55.314116+00 |
| description | Terminal User Interface for the sudoko library - modern TUI using ratatui |
| homepage | https://github.com/iamdhakrey/sudoko |
| repository | https://github.com/iamdhakrey/sudoko |
| max_upload_size | |
| id | 1738977 |
| size | 82,638 |
A modern, interactive Sudoku terminal user interface built with Rust, featuring beautiful colorized grids, intelligent hints, and multiple difficulty levels.

git clone https://github.com/iamdhakrey/sudoko.git
cd sudoko/sudoko-tui
cargo build --release
cargo run --release
Or run the compiled binary:
./target/release/sudoko-tui
Fill the 9×9 grid so that each row, column, and 3×3 box contains all digits from 1 to 9.
↑↓←→): Move cursor around the grid1-9): Fill the selected cell with the chosen digit0, Delete, Backspace): Clear the selected cellS: Automatically solve the entire puzzleR: Reset puzzle to original stateH: Get a hint for the current puzzleE: Generate new Easy puzzleM: Generate new Medium puzzleD: Generate new Hard puzzleX: Generate new Expert puzzle?: Show/hide help dialogQ: Quit the applicationThe TUI includes a visual progress bar that shows:
The Sudoku TUI is built using:
struct SudokuApp {
puzzle: Sudoku, // Current puzzle state
cursor: (usize, usize), // Current cursor position
message: String, // Status message
is_solved: bool, // Puzzle completion status
mode: AppMode, // Current UI mode (Normal/Help)
should_quit: bool, // Exit flag
hint_tracker: Vec<(usize, usize, u8)>, // Tracks given hints
}
| Level | Empty Cells | Description |
|---|---|---|
| Easy | 40-45 | Good for beginners, many given numbers |
| Medium | 46-51 | Moderate challenge, requires logic |
| Hard | 52-57 | Challenging, advanced techniques needed |
| Expert | 58+ | Very difficult, minimal given numbers |
[dependencies]
sudoko = { path = "../sudoko" } # Core Sudoku library
ratatui = "0.29" # Terminal UI framework
crossterm = "0.28" # Cross-platform terminal
anyhow = "1.0" # Error handling
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
cargo test to run the test suitecargo run to start the applicationThis project is licensed under the MIT License - see the LICENSE file for details.
Happy Sudoku solving! 🧩✨
For issues, suggestions, or contributions, please visit the GitHub repository.