A very simple tool written in TypeScript with Vue.js to help solving Sukodus (and to understand the rules to solve).
Goal of this project:
-
I wanted a sample project to learn Vue.js and Typescript
-
Do something I like while my family solves Sudokus …
-
A tool that can help interactively with complicated Sudoku puzzles, and helping me understand how far one gets while applying certain rules when solving a sudoku. (are there any other rules required than the ones implemented?)
For a live demo see https://ptandler.github.io/sudoku-helper/
-
highlighting of the corresponding "collections" (i.e. a row, column, or square) a selected cell is contained in
-
save and load the game state
-
highlight errors
Well, yes, one might ask, what’s the point when the App automatically applies the rules … for me the fun is more in coding :-)
-
show missing numbers in UI per row and col (no idea where to show the missing ones for each square …)
-
Update the list of possible values in each cell (check that the rules all apply)
-
Assign all Cells with Single Possible Value (i.e. a list of possible values that has the length 1.
-
Assign Cells that have a Single Possible Value in all collections, i.e. check all rows, columns, and squares if there is a single position where a given value can be placed
-
render "possible values" fields always as 3x3 matrix where each numer has a fixed position to be displayed at: [1 2 3][4 5 6][7 8 9]
-
optimize UI for small devices
-
Undo history
-
buttons to highlight a specific value (e.g. all cells with value "1")
-
auto mode: with Ctrl-Click on (some) buttons, automatically exec this action as soon as a value is changed (recursively); the button stays in the "pressed" mode then; will be deselected upon next click
-
Load and Save multiple games
-
Some import / export features (is there any widely adopted format? What about a simple JSON matrix in addition to the internal simplified JSON format?
-
Animation if the value of a cell changes
-
add buttons / functions for more rules / heuristics (are there more required?)
-
add support for touch-only devices to use without keyboard
-
include one of the sudoku generators (that can specify how easy / hard it should be)
Just some I found written in JavaScript: