Files

File Size Last modified Description Requirements and optionals
65½ KB 2007-Aug-24 Solver library; source ISO C99
80½ KB 2007-Aug-24 Solver library; source; compiled for RISC OS RISC OS
27½ KB 2007-Aug-24 Terminal-based solver; C source ISO C99
125 KB 2007-Aug-24 Terminal-based solver; C source; compiled for RISC OS RISC OS
55 KB 2007-Aug-24 Terminal-based solver; C source; compiled for Windows Windows
44 KB 2007-Jun-26 GUI solver; Java source Java 1.5
187¾ KB 2007-Aug-24 GUI solver; C source; compiled for RISC OS RISC OS
25¾ KB 2007-Aug-24 GUI solver; C source; for cross-compilation to RISC OS ISO C90

Description

I have a website about Nonograms, appropriately called ‘Nonogram Solver’.

To solve Nonograms, I have written a library in C (nonolib), and based on it a terminal-based command-line program (nonogram) and a multitasking RISC OS WIMP application (nonowimp).

In spite of what you might have read at Pencil Puzzles and Sudoku, nonolib and javagram are entirely portable (and always were)! nonogram is largely portable! nonowimp is for RISC OS only!

nonowimp runs in the RISC OS 3 WIMP desktop. (If you don't know what this means, it's probably of no use to you.) When run, it places an icon on the icon bar, onto which you can drop Nonogram puzzle files to be loaded.


Each puzzle you load gets its own window, showing an empty grid, and a row and column each of red and green lights. Green lights show that a row or column has information that has not been used by the solver since the line was last processed. Red/orange lights show which lines are currently being processed; only one such light will show at any one time.


The solver will warn you if the puzzle file has an imbalance in its data: the solver will attempt to solve it, but no correct solutions will be found. The solver will refuse to load puzzle files with syntax errors, giving a message describing the first fault it finds.

With an empty grid ready, you can set the puzzle running, and watch it being solved.


Eventually, if the puzzle has a solution, the solver will stop as soon as it is found. It will also stop if there is no more work to do. A marker in the corner of the grid indicates whether it is showing a correct solution. If there could be any more solutions, you will be able to set the solver to continue until it finds the next one, but you should save the current grid before continuing, if you want to keep the solution. New in 1.08: you can make the solver exhaust all possibilities without stopping. Wow!

At any time that a puzzle is loaded into a window, you can save the grid either as plain text or as a Draw file. You can then view it with a suitable application like Draw or Edit.



This program comes with interactive help (to be viewed with a suitable application like Help).

Version 1.06 supports finer granularity of processing than individual lines (this depends on the facilities provided by nonolib), and version 1.07 is able to generate Draw files that include the puzzle data along the sides of the grid. 1.08 adds options for the placement of clues in the generated files. The one from this example was used to create this EPS and SVG: [dog.eps 54 KB] [dog.svg 20¼ KB]

Version 1.12 offers a choice of algorithms.

Version 1.14 has had a few bugs fixed.

Version 1.16 has improved Drawfile generation: solid areas should render faster (and the files might be a bit smaller too).

Version 1.22 uses the Olsak-based algorithm.



Other software…More about me…

Valid HTML 4.01!