Skip to content
/ shdoku Public

a sudoku tui-game with a vim-like modal control scheme

License

Notifications You must be signed in to change notification settings

mxhagen/shdoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💡 shdoku

A basic tui sudoku game for your shell.


Preview

┌────────┬────────┬────────┐    ┌───────┐
│        │        │ 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
└────────┴────────┴────────┘    └───────┘

Controls

The current control scheme adheres to vim-like keybindings and is modal.

  • h, j, k, l to move left, down, up, right

  • H, J, K, L to move 3 spaces at once

  • 1-9 to preselect a number

  • Modes:

    • a to enter Markup mode
    • i to enter Edit mode
    • g to enter Go mode
      • 1-9 to move to block
      • you then return to the previous mode
    • A and I 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

Todo

  • 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

Releases

No releases published

Packages

No packages published

Languages