Skip to content

ptandler/sudoku-helper

Repository files navigation

The Stupid Simple Sudoku Helper (sudoku-helper)

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:

  1. I wanted a sample project to learn Vue.js and Typescript

  2. Do something I like while my family solves Sudokus …​

  3. 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?)

Features

v0.1.2 (29.07.2018)

  • corrected manifest.json issues

v0.1.1 (28.07.2018)

  • 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

Helpers & rules / heuristics that can be applied automatically

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

ToDo-List / Ideas for Improvement

  • 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:

Project setup

yarn install

Compiles and hot-reloads for development

yarn run serve

Compiles and minifies for production

yarn run build

Lints and fixes files

yarn run lint

About

A very simple tool written in TypeScript with Vue.js to help solving Sukodus (and to understand the rules to solve)

Resources

License

Stars

Watchers

Forks

Packages

No packages published