teaser

jigsaw

Create crossword puzzles (Winner of the 1996 spring POTM, Crozzle)

Welcome to the Wonderful World of width-first tree searches

Jigsaw will try to link together as many words as possible from the wordlist in “crossword-puzzle” fashion. It was the winner of the 1996 spring POTM (Programmer Of The Month) contest.

Usage

usage: jigsaw [<wordlist>]
        -h      help
        -s      symmetrical
        -t int  TIMEMAX
        -n int  NODEMAX

Load words from <wordlist> or stdin if not specified.

  -h
      Show this text and default values
  -s
      Create a horizontal/vertical symmetrical crossword
  -t int
      Maximum cpu time in seconds
  -n int
      Maximum number of nodes per round

Manifest

Project teaser

The project teaser was created af ter applying the following patch:

        #define GRIDXMAX (34+2)  // Size of grid incl. border
        #define GRIDYMAX (10+2)  // Size of grid incl. border

The following command takes about 45 minutes to complete:

  ./jigsaw <jigsaw.list -d -D -t 9999 -n 100000 -s

Known bugs

Source code

Grab one of the tarballs at https://github.com/xyzzy/jigsaw/releases or checkout the latest code:

        git clone https://github.com/xyzzy/jigsaw.git

Versioning

This project adheres to Semantic Versioning. For the versions available, see the tags on this repository.

License

This project is licensed under GPLv2 - see the LICENSE.txt file for details.