Nonograms are simple puzzle games where the solution is found by filling out
a grid using clues, similar to Sudoku. Each row and column contains a sequence of
clues which denote how the cells are filled in. Each number represents a consecutive
sequence of cells shaded in that color.
See the
Wikipedia article for
a more comprehensive set of rules, and hints on how to play.
Some Examples are prepared below (use the combo box), or you can try making your
own Nonograms by using the Draw mode of the solver.
The Solver (
GitHub repo here)
was built upon a Finite-Domain constraint programming library in JavaScript,
fd.js.
Nonograms can be modelled as a set of finite-domain variables subject to the
contraints described by the clues. Each sequence of clues along the rows and columns
of the Nonogram can be modelled by
Regular Expressions.
This solver works by describing the clues to fd.js by building Finite-State Machines from the clues,
and constraining the variables for each cell in the grid from there.