Nonogram Programs

Miscellaneous puzzle-solving programs


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 PDF and SVG: [dog.pdf 9½KB] [dog.svgz 2¼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.

Version 1.24-1 has been relinked to fix a bug that restricted the drag area for saving files.


Files

File Size Last modified Description Requirements and recommendations
Stable source (SVN) GNU Make ISO C99 Binodeps
70½KiB 2016-07-17 Source, version 4.3.1 GNU Make ISO C99 Binodeps
72¾KiB 2016-07-18 Source, stable branch GNU Make ISO C99 Binodeps
182¾KiB 2016-07-18 Binaries for Linux, stable branch Linux
165KiB 2016-07-17 Precompiled library, RISC OS, stable branch RISC OS
Stable source (SVN) GNU Make ISO C99 Binodeps
28¼KiB 2016-07-15 Source, version 1.9.13 GNU Make ISO C99 Binodeps
29¼KiB 2016-07-18 Source, stable branch GNU Make ISO C99 Binodeps
137KiB 2016-07-18 Binaries for Linux, stable branch Linux
208¼KiB 2016-07-18 Binaries for Windows, stable branch MS Windows
138¾KiB 2016-07-18 Precompiled executable, RISC OS, stable branch RISC OS
Source for forthcoming solver (SVN) GNU Make Java 1.7
Java source documentation for forthcoming solver
Java source documentation for forthcoming solver
Java source documentation for forthcoming solver
137KiB 2012-09-19 Terminal-based solver; C source; compiled for RISC OS, ARMv7 RISC OS
Stable source (SVN) GNU Make ISO C90 Binodeps
243¼KiB 2013-11-11 GUI solver; C source; compiled for RISC OS, ARMv7 RISC OS
26KiB 2012-09-19 GUI solver; C source; for cross-compilation to RISC OS ISO C90
55KiB 2007-08-24 Terminal-based solver; C source; compiled for Windows MS Windows
44KiB 2007-06-26 GUI solver; Java source Java 1.5
243¼KiB 2012-09-19 GUI solver; C source; compiled for RISC OS, ARMv7 RISC OS

Valid HTML 4.01!
Made with Mokvino