A basic tui sudoku game for your shell.
┌────────┬────────┬────────┐ ┌───────┐
│ │ │ 8 9 │ │ Hard │ <- Difficulty
│ 4 9 7 │ │ 6 │ │ 36/81 │ <- Completion in number of cells
│ 2 │ 3 1 │ 7 │ ├───────┤
├────────┼────────┼────────┤ │ 01:22 │ <- Elapsed Time
│ 6 │ 9 7 │ 3 │ ├───────┤
│ 3 │ 5 2 │ │ │> Edit │ <- Active Mode
│ 7 2 │ 1 3 │ 5 4 │ │ Mark │
├────────┼────────┼────────┤ │ Go │
│ 2 1 │ 3 7 │ 9 5 │ ├───────┤
│ 5 │ 9 │ 3 4 │ │ [9] │ <- Preselected Number
│ │ 4 │ 6 1 │ │ 4 / 9 │ <- Completion of preselected Number
└────────┴────────┴────────┘ └───────┘
The current control scheme adheres to vim-like keybindings and is modal.
-
h, j, k, l
to moveleft, down, up, right
-
H, J, K, L
to move 3 spaces at once -
1-9
to preselect a number -
Modes:
a
to enter Markup modei
to enter Edit modeg
to enter Go mode1-9
to move to block- you then return to the previous mode
A
andI
to enter Edit/Markup mode "once"- do a single edit/mark
- you then return to the previous mode
<esc>
to return to Edit mode
-
<space>
to place/unplace preselected number/mark -
x
to delete a number/mark -
q
to quit
-
Game logic
- Validate Sudokus
- Generate Sudokus
- Difficulties to choose
-
Basic UI
- Basic controls
- Basic rendering
- Centered UI
- Reset terminal state
-
Final UI
- Final controls
- Preselect numbers
- Edit Mode to (re)place numbers
- Markup Mode to mark where numbers could go
- Autoremove marks after placing number in edit mode
- Go Mode to move to blocks 1-9
- Toggle Number/Mark with Space
- Undo/Redo stack
- Colored UI
- Hightlight preselected numbers
- Hightlight preselected markups
- Scoreboard
- Live timer
- Mode indicator
- Difficulty indicator
- Completion information
- Menu
- Difficulty selection
- Highscore section
- Color chooser
- Final controls