Prepare to release sgt-puzzles (20170606.272beef-1).
[sgt-puzzles.git] / puzzles.txt
blob0e5514e7f71248e868f47ac7f55656a964b87a90
1                  Simon Tatham's Portable Puzzle Collection
2                  =========================================
4 This is a collection of small one-player puzzle games.
6 This manual is copyright 2004-2014 Simon Tatham. All rights reserved. You
7 may distribute this documentation under the MIT licence. See appendix A for
8 the licence text in full.
10 Chapter 1: Introduction
11 -----------------------
13        I wrote this collection because I thought there should be more small
14        desktop toys available: little games you can pop up in a window and
15        play for two or three minutes while you take a break from whatever
16        else you were doing. And I was also annoyed that every time I found
17        a good game on (say) Unix, it wasn't available the next time I was
18        sitting at a Windows machine, or vice versa; so I arranged that
19        everything in my personal puzzle collection will happily run on
20        both, and have more recently done a port to Mac OS X as well. When I
21        find (or perhaps invent) further puzzle games that I like, they'll
22        be added to this collection and will immediately be available on
23        both platforms. And if anyone feels like writing any other front
24        ends - PocketPC, Mac OS pre-10, or whatever it might be - then all
25        the games in this framework will immediately become available on
26        another platform as well.
28        The actual games in this collection were mostly not my invention;
29        they are re-implementations of existing game concepts within my
30        portable puzzle framework. I do not claim credit, in general, for
31        inventing the rules of any of these puzzles. (I don't even claim
32        authorship of all the code; some of the puzzles have been submitted
33        by other authors.)
35        This collection is distributed under the MIT licence (see appendix
36        A). This means that you can do pretty much anything you like with
37        the game binaries or the code, except pretending you wrote them
38        yourself, or suing me if anything goes wrong.
40        The most recent versions, and source code, can be found at
41        https://www.chiark.greenend.org.uk/~sgtatham/puzzles/.
43        Please report bugs to anakin@pobox.com. You might find it helpful to
44        read this article before reporting a bug:
46        https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
48        Patches are welcome. Especially if they provide a new front end (to
49        make all these games run on another platform), or a new game.
51 Chapter 2: Common features
52 --------------------------
54        This chapter describes features that are common to all the games.
56    2.1 Common actions
58        These actions are all available from the `Game' menu and via
59        keyboard shortcuts, in addition to any game-specific actions.
61        (On Mac OS X, to conform with local user interface standards, these
62        actions are situated on the `File' and `Edit' menus instead.)
64        _New game_ (`N', Ctrl+`N')
66            Starts a new game, with a random initial state.
68        _Restart game_
70            Resets the current game to its initial state. (This can be
71            undone.)
73        _Load_
75            Loads a saved game from a file on disk.
77        _Save_
79            Saves the current state of your game to a file on disk.
81            The Load and Save operations preserve your entire game history
82            (so you can save, reload, and still Undo and Redo things you had
83            done before saving).
85        _Print_
87            Where supported (currently only on Windows), brings up a dialog
88            allowing you to print an arbitrary number of puzzles randomly
89            generated from the current parameters, optionally including
90            the current puzzle. (Only for puzzles which make sense to
91            print, of course - it's hard to think of a sensible printable
92            representation of Fifteen!)
94        _Undo_ (`U', Ctrl+`Z', Ctrl+`_')
96            Undoes a single move. (You can undo moves back to the start of
97            the session.)
99        _Redo_ (`R', Ctrl+`R')
101            Redoes a previously undone move.
103        _Copy_
105            Copies the current state of your game to the clipboard in text
106            format, so that you can paste it into (say) an e-mail client or
107            a web message board if you're discussing the game with someone
108            else. (Not all games support this feature.)
110        _Solve_
112            Transforms the puzzle instantly into its solved state. For some
113            games (Cube) this feature is not supported at all because it is
114            of no particular use. For other games (such as Pattern), the
115            solved state can be used to give you information, if you can't
116            see how a solution can exist at all or you want to know where
117            you made a mistake. For still other games (such as Sixteen),
118            automatic solution tells you nothing about how to _get_ to
119            the solution, but it does provide a useful way to get there
120            quickly so that you can experiment with set-piece moves and
121            transformations.
123            Some games (such as Solo) are capable of solving a game ID you
124            have typed in from elsewhere. Other games (such as Rectangles)
125            cannot solve a game ID they didn't invent themself, but when
126            they did invent the game ID they know what the solution is
127            already. Still other games (Pattern) can solve _some_ external
128            game IDs, but only if they aren't too difficult.
130            The `Solve' command adds the solved state to the end of the undo
131            chain for the puzzle. In other words, if you want to go back to
132            solving it yourself after seeing the answer, you can just press
133            Undo.
135        _Quit_ (`Q', Ctrl+`Q')
137            Closes the application entirely.
139    2.2 Specifying games with the game ID
141        There are two ways to save a game specification out of a puzzle and
142        recreate it later, or recreate it in somebody else's copy of the
143        same puzzle.
145        The `Specific' and `Random Seed' options from the `Game' menu (or
146        the `File' menu, on Mac OS X) each show a piece of text (a `game
147        ID') which is sufficient to reconstruct precisely the same game at a
148        later date.
150        You can enter either of these pieces of text back into the program
151        (via the same `Specific' or `Random Seed' menu options) at a later
152        point, and it will recreate the same game. You can also use either
153        one as a command line argument (on Windows or Unix); see section 2.4
154        for more detail.
156        The difference between the two forms is that a descriptive game ID
157        is a literal _description_ of the initial state of the game, whereas
158        a random seed is just a piece of arbitrary text which was provided
159        as input to the random number generator used to create the puzzle.
160        This means that:
162         -  Descriptive game IDs tend to be longer in many puzzles
163            (although some, such as Cube (chapter 4), only need very short
164            descriptions). So a random seed is often a _quicker_ way to
165            note down the puzzle you're currently playing, or to tell it to
166            somebody else so they can play the same one as you.
168         -  Any text at all is a valid random seed. The automatically
169            generated ones are fifteen-digit numbers, but anything will do;
170            you can type in your full name, or a word you just made up, and
171            a valid puzzle will be generated from it. This provides a way
172            for two or more people to race to complete the same puzzle:
173            you think of a random seed, then everybody types it in at the
174            same time, and nobody has an advantage due to having seen the
175            generated puzzle before anybody else.
177         -  It is often possible to convert puzzles from other sources (such
178            as `nonograms' or `sudoku' from newspapers) into descriptive
179            game IDs suitable for use with these programs.
181         -  Random seeds are not guaranteed to produce the same result
182            if you use them with a different _version_ of the puzzle
183            program. This is because the generation algorithm might have
184            been improved or modified in later versions of the code, and
185            will therefore produce a different result when given the same
186            sequence of random numbers. Use a descriptive game ID if you
187            aren't sure that it will be used on the same version of the
188            program as yours.
190            (Use the `About' menu option to find out the version number of
191            the program. Programs with the same version number running on
192            different platforms should still be random-seed compatible.)
194        A descriptive game ID starts with a piece of text which encodes the
195        _parameters_ of the current game (such as grid size). Then there is
196        a colon, and after that is the description of the game's initial
197        state. A random seed starts with a similar string of parameters, but
198        then it contains a hash sign followed by arbitrary data.
200        If you enter a descriptive game ID, the program will not be able
201        to show you the random seed which generated it, since it wasn't
202        generated _from_ a random seed. If you _enter_ a random seed,
203        however, the program will be able to show you the descriptive game
204        ID derived from that random seed.
206        Note that the game parameter strings are not always identical
207        between the two forms. For some games, there will be parameter
208        data provided with the random seed which is not included in the
209        descriptive game ID. This is because that parameter information is
210        only relevant when _generating_ puzzle grids, and is not important
211        when playing them. Thus, for example, the difficulty level in Solo
212        (chapter 11) is not mentioned in the descriptive game ID.
214        These additional parameters are also not set permanently if you type
215        in a game ID. For example, suppose you have Solo set to `Advanced'
216        difficulty level, and then a friend wants your help with a `Trivial'
217        puzzle; so the friend reads out a random seed specifying `Trivial'
218        difficulty, and you type it in. The program will generate you the
219        same `Trivial' grid which your friend was having trouble with, but
220        once you have finished playing it, when you ask for a new game it
221        will automatically go back to the `Advanced' difficulty which it was
222        previously set on.
224    2.3 The `Type' menu
226        The `Type' menu, if present, may contain a list of preset game
227        settings. Selecting one of these will start a new random game with
228        the parameters specified.
230        The `Type' menu may also contain a `Custom' option which allows you
231        to fine-tune game parameters. The parameters available are specific
232        to each game and are described in the following sections.
234    2.4 Specifying game parameters on the command line
236        (This section does not apply to the Mac OS X version.)
238        The games in this collection deliberately do not ever save
239        information on to the computer they run on: they have no high score
240        tables and no saved preferences. (This is because I expect at least
241        some people to play them at work, and those people will probably
242        appreciate leaving as little evidence as possible!)
244        However, if you do want to arrange for one of these games to default
245        to a particular set of parameters, you can specify them on the
246        command line.
248        The easiest way to do this is to set up the parameters you want
249        using the `Type' menu (see section 2.3), and then to select `Random
250        Seed' from the `Game' or `File' menu (see section 2.2). The text
251        in the `Game ID' box will be composed of two parts, separated by a
252        hash. The first of these parts represents the game parameters (the
253        size of the playing area, for example, and anything else you set
254        using the `Type' menu).
256        If you run the game with just that parameter text on the command
257        line, it will start up with the settings you specified.
259        For example: if you run Cube (see chapter 4), select `Octahedron'
260        from the `Type' menu, and then go to the game ID selection, you
261        will see a string of the form `o2x2#338686542711620'. Take only the
262        part before the hash (`o2x2'), and start Cube with that text on the
263        command line: `PREFIX-cube o2x2'.
265        If you copy the _entire_ game ID on to the command line, the game
266        will start up in the specific game that was described. This is
267        occasionally a more convenient way to start a particular game ID
268        than by pasting it into the game ID selection box.
270        (You could also retrieve the encoded game parameters using the
271        `Specific' menu option instead of `Random Seed', but if you do then
272        some options, such as the difficulty level in Solo, will be missing.
273        See section 2.2 for more details on this.)
275    2.5 Unix command-line options
277        (This section only applies to the Unix port.)
279        In addition to being able to specify game parameters on the command
280        line (see section 2.4), there are various other options:
282        --game
284        --load
286            These options respectively determine whether the command-line
287            argument is treated as specifying game parameters or a save
288            file to load. Only one should be specified. If neither of these
289            options is specified, a guess is made based on the format of the
290            argument.
292        --generate _n_
294            If this option is specified, instead of a puzzle being
295            displayed, a number of descriptive game IDs will be invented and
296            printed on standard output. This is useful for gaining access
297            to the game generation algorithms without necessarily using the
298            frontend.
300            If game parameters are specified on the command-line, they will
301            be used to generate the game IDs; otherwise a default set of
302            parameters will be used.
304            The most common use of this option is in conjunction with `--
305            print', in which case its behaviour is slightly different; see
306            below.
308        --print _w_x_h_
310            If this option is specified, instead of a puzzle being
311            displayed, a printed representation of one or more unsolved
312            puzzles is sent to standard output, in PostScript format.
314            On each page of puzzles, there will be _w_ across and _h_ down.
315            If there are more puzzles than _w_x_h_, more than one page will
316            be printed.
318            If `--generate' has also been specified, the invented game
319            IDs will be used to generate the printed output. Otherwise,
320            a list of game IDs is expected on standard input (which can
321            be descriptive or random seeds; see section 2.2), in the same
322            format produced by `--generate'.
324            For example:
326              PREFIX-net --generate 12 --print 2x3 7x7w | lpr
328            will generate two pages of printed Net puzzles (each of which
329            will have a 7x7 wrapping grid), and pipe the output to the `lpr'
330            command, which on many systems will send them to an actual
331            printer.
333            There are various other options which affect printing; see
334            below.
336        --save _file-prefix_ [ --save-suffix _file-suffix_ ]
338            If this option is specified, instead of a puzzle being
339            displayed, saved-game files for one or more unsolved puzzles are
340            written to files constructed from the supplied prefix and/or
341            suffix.
343            If `--generate' has also been specified, the invented game
344            IDs will be used to generate the printed output. Otherwise,
345            a list of game IDs is expected on standard input (which can
346            be descriptive or random seeds; see section 2.2), in the same
347            format produced by `--generate'.
349            For example:
351              PREFIX-net --generate 12 --save game --save-suffix .sav
353            will generate twelve Net saved-game files with the names
354            game0.sav to game11.sav.
356        --version
358            Prints version information about the game, and then quits.
360        The following options are only meaningful if `--print' is also
361        specified:
363        --with-solutions
365            The set of pages filled with unsolved puzzles will be followed
366            by the solutions to those puzzles.
368        --scale _n_
370            Adjusts how big each puzzle is when printed. Larger numbers make
371            puzzles bigger; the default is 1.0.
373        --colour
375            Puzzles will be printed in colour, rather than in black and
376            white (if supported by the puzzle).
378 Chapter 3: Net
379 --------------
381        (_Note:_ the Windows version of this game is called NETGAME.EXE to
382        avoid clashing with Windows's own NET.EXE.)
384        I originally saw this in the form of a Flash game called
385        FreeNet [1], written by Pavils Jurjans; there are several other
386        implementations under the name NetWalk. The computer prepares a
387        network by connecting up the centres of squares in a grid, and then
388        shuffles the network by rotating every tile randomly. Your job is
389        to rotate it all back into place. The successful solution will be
390        an entirely connected network, with no closed loops. As a visual
391        aid, all tiles which are connected to the one in the middle are
392        highlighted.
394        [1] http://www.jurjans.lv/stuff/net/FreeNet.htm
396    3.1 Net controls
398        This game can be played with either the keyboard or the mouse. The
399        controls are:
401        _Select tile_: mouse pointer, arrow keys
403        _Rotate tile anticlockwise_: left mouse button, `A' key
405        _Rotate tile clockwise_: right mouse button, `D' key
407        _Rotate tile by 180 degrees_: `F' key
409        _Lock (or unlock) tile_: middle mouse button, shift-click, `S' key
411            You can lock a tile once you're sure of its orientation. You
412            can also unlock it again, but while it's locked you can't
413            accidentally turn it.
415        The following controls are not necessary to complete the game, but
416        may be useful:
418        _Shift grid_: Shift + arrow keys
420            On grids that wrap, you can move the origin of the grid, so
421            that tiles that were on opposite sides of the grid can be seen
422            together.
424        _Move centre_: Ctrl + arrow keys
426            You can change which tile is used as the source of highlighting.
427            (It doesn't ultimately matter which tile this is, as every tile
428            will be connected to every other tile in a correct solution,
429            but it may be helpful in the intermediate stages of solving the
430            puzzle.)
432        _Jumble tiles_: `J' key
434            This key turns all tiles that are not locked to random
435            orientations.
437        (All the actions described in section 2.1 are also available.)
439    3.2 Net parameters
441        These parameters are available from the `Custom...' option on the
442        `Type' menu.
444        _Width_, _Height_
446            Size of grid in tiles.
448        _Walls wrap around_
450            If checked, flow can pass from the left edge to the right edge,
451            and from top to bottom, and vice versa.
453        _Barrier probability_
455            A number between 0.0 and 1.0 controlling whether an immovable
456            barrier is placed between two tiles to prevent flow between
457            them (a higher number gives more barriers). Since barriers
458            are immovable, they act as constraints on the solution (i.e.,
459            hints).
461            The grid generation in Net has been carefully arranged so that
462            the barriers are independent of the rest of the grid. This
463            means that if you note down the random seed used to generate
464            the current puzzle (see section 2.2), change the _Barrier
465            probability_ parameter, and then re-enter the same random seed,
466            you should see exactly the same starting grid, with the only
467            change being the number of barriers. So if you're stuck on a
468            particular grid and need a hint, you could start up another
469            instance of Net, set up the same parameters but a higher barrier
470            probability, and enter the game seed from the original Net
471            window.
473        _Ensure unique solution_
475            Normally, Net will make sure that the puzzles it presents have
476            only one solution. Puzzles with ambiguous sections can be more
477            difficult and more subtle, so if you like you can turn off this
478            feature and risk having ambiguous puzzles. (Also, finding _all_
479            the possible solutions can be an additional challenge for an
480            advanced player.)
482 Chapter 4: Cube
483 ---------------
485        This is another one I originally saw as a web game. This one was a
486        Java game [2], by Paul Scott. You have a grid of 16 squares, six of
487        which are blue; on one square rests a cube. Your move is to use the
488        arrow keys to roll the cube through 90 degrees so that it moves to
489        an adjacent square. If you roll the cube on to a blue square, the
490        blue square is picked up on one face of the cube; if you roll a blue
491        face of the cube on to a non-blue square, the blueness is put down
492        again. (In general, whenever you roll the cube, the two faces that
493        come into contact swap colours.) Your job is to get all six blue
494        squares on to the six faces of the cube at the same time. Count your
495        moves and try to do it in as few as possible.
497        Unlike the original Java game, my version has an additional feature:
498        once you've mastered the game with a cube rolling on a square grid,
499        you can change to a triangular grid and roll any of a tetrahedron,
500        an octahedron or an icosahedron.
502        [2] http://www3.sympatico.ca/paulscott/cube/cube.htm
504    4.1 Cube controls
506        This game can be played with either the keyboard or the mouse.
508        Left-clicking anywhere on the window will move the cube (or other
509        solid) towards the mouse pointer.
511        The arrow keys can also used to roll the cube on its square grid in
512        the four cardinal directions. On the triangular grids, the mapping
513        of arrow keys to directions is more approximate. Vertical movement
514        is disallowed where it doesn't make sense. The four keys surrounding
515        the arrow keys on the numeric keypad (`7', `9', `1', `3') can be
516        used for diagonal movement.
518        (All the actions described in section 2.1 are also available.)
520    4.2 Cube parameters
522        These parameters are available from the `Custom...' option on the
523        `Type' menu.
525        _Type of solid_
527            Selects the solid to roll (and hence the shape of the grid):
528            tetrahedron, cube, octahedron, or icosahedron.
530        _Width / top_, _Height / bottom_
532            On a square grid, horizontal and vertical dimensions. On a
533            triangular grid, the number of triangles on the top and bottom
534            rows respectively.
536 Chapter 5: Fifteen
537 ------------------
539        The old ones are the best: this is the good old `15-puzzle' with
540        sliding tiles. You have a 4x4 square grid; 15 squares contain
541        numbered tiles, and the sixteenth is empty. Your move is to choose a
542        tile next to the empty space, and slide it into the space. The aim
543        is to end up with the tiles in numerical order, with the space in
544        the bottom right (so that the top row reads 1,2,3,4 and the bottom
545        row reads 13,14,15,_space_).
547    5.1 Fifteen controls
549        This game can be controlled with the mouse or the keyboard.
551        A left-click with the mouse in the row or column containing the
552        empty space will move as many tiles as necessary to move the space
553        to the mouse pointer.
555        The arrow keys will move a tile adjacent to the space in the
556        direction indicated (moving the space in the _opposite_ direction).
558        Pressing `h' will make a suggested move. Pressing `h' enough times
559        will solve the game, but it may scramble your progress while doing
560        so.
562        (All the actions described in section 2.1 are also available.)
564    5.2 Fifteen parameters
566        The only options available from the `Custom...' option on the `Type'
567        menu are _Width_ and _Height_, which are self-explanatory. (Once
568        you've changed these, it's not a `15-puzzle' any more, of course!)
570 Chapter 6: Sixteen
571 ------------------
573        Another sliding tile puzzle, visually similar to Fifteen (see
574        chapter 5) but with a different type of move. This time, there is no
575        hole: all 16 squares on the grid contain numbered squares. Your move
576        is to shift an entire row left or right, or shift an entire column
577        up or down; every time you do that, the tile you shift off the grid
578        re-appears at the other end of the same row, in the space you just
579        vacated. To win, arrange the tiles into numerical order (1,2,3,4 on
580        the top row, 13,14,15,16 on the bottom). When you've done that, try
581        playing on different sizes of grid.
583        I _might_ have invented this game myself, though only by accident
584        if so (and I'm sure other people have independently invented it). I
585        thought I was imitating a screensaver I'd seen, but I have a feeling
586        that the screensaver might actually have been a Fifteen-type puzzle
587        rather than this slightly different kind. So this might be the one
588        thing in my puzzle collection which represents creativity on my part
589        rather than just engineering.
591    6.1 Sixteen controls
593        Left-clicking on an arrow will move the appropriate row or column in
594        the direction indicated. Right-clicking will move it in the opposite
595        direction.
597        Alternatively, use the cursor keys to move the position indicator
598        around the edge of the grid, and use the return key to move the
599        row/column in the direction indicated.
601        You can also move the tiles directly. Move the cursor onto a tile,
602        hold Control and press an arrow key to move the tile under the
603        cursor and move the cursor along with the tile. Or, hold Shift to
604        move only the tile. Pressing Enter simulates holding down Control
605        (press Enter again to release), while pressing Space simulates
606        holding down shift.
608        (All the actions described in section 2.1 are also available.)
610    6.2 Sixteen parameters
612        The parameters available from the `Custom...' option on the `Type'
613        menu are:
615         -  _Width_ and _Height_, which are self-explanatory.
617         -  You can ask for a limited shuffling operation to be performed on
618            the grid. By default, Sixteen will shuffle the grid in such a
619            way that any arrangement is about as probable as any other. You
620            can override this by requesting a precise number of shuffling
621            moves to be performed. Typically your aim is then to determine
622            the precise set of shuffling moves and invert them exactly,
623            so that you answer (say) a four-move shuffle with a four-move
624            solution. Note that the more moves you ask for, the more likely
625            it is that solutions shorter than the target length will turn
626            out to be possible.
628 Chapter 7: Twiddle
629 ------------------
631        Twiddle is a tile-rearrangement puzzle, visually similar to Sixteen
632        (see chapter 6): you are given a grid of square tiles, each
633        containing a number, and your aim is to arrange the numbers into
634        ascending order.
636        In basic Twiddle, your move is to rotate a square group of four
637        tiles about their common centre. (Orientation is not significant
638        in the basic puzzle, although you can select it.) On more advanced
639        settings, you can rotate a larger square group of tiles.
641        I first saw this type of puzzle in the GameCube game `Metroid
642        Prime 2'. In the Main Gyro Chamber in that game, there is a puzzle
643        you solve to unlock a door, which is a special case of Twiddle. I
644        developed this game as a generalisation of that puzzle.
646    7.1 Twiddle controls
648        To play Twiddle, click the mouse in the centre of the square group
649        you wish to rotate. In the basic mode, you rotate a 2x2 square,
650        which means you have to click at a corner point where four tiles
651        meet.
653        In more advanced modes you might be rotating 3x3 or even more at a
654        time; if the size of the square is odd then you simply click in the
655        centre tile of the square you want to rotate.
657        Clicking with the left mouse button rotates the group anticlockwise.
658        Clicking with the right button rotates it clockwise.
660        You can also move an outline square around the grid with the cursor
661        keys; the square is the size above (2x2 by default, or larger).
662        Pressing the return key or space bar will rotate the current square
663        anticlockwise or clockwise respectively.
665        (All the actions described in section 2.1 are also available.)
667    7.2 Twiddle parameters
669        Twiddle provides several configuration options via the `Custom'
670        option on the `Type' menu:
672         -  You can configure the width and height of the puzzle grid.
674         -  You can configure the size of square block that rotates at a
675            time.
677         -  You can ask for every square in the grid to be distinguishable
678            (the default), or you can ask for a simplified puzzle in which
679            there are groups of identical numbers. In the simplified puzzle
680            your aim is just to arrange all the 1s into the first row, all
681            the 2s into the second row, and so on.
683         -  You can configure whether the orientation of tiles matters. If
684            you ask for an orientable puzzle, each tile will have a triangle
685            drawn in it. All the triangles must be pointing upwards to
686            complete the puzzle.
688         -  You can ask for a limited shuffling operation to be performed
689            on the grid. By default, Twiddle will shuffle the grid so much
690            that any arrangement is about as probable as any other. You can
691            override this by requesting a precise number of shuffling moves
692            to be performed. Typically your aim is then to determine the
693            precise set of shuffling moves and invert them exactly, so that
694            you answer (say) a four-move shuffle with a four-move solution.
695            Note that the more moves you ask for, the more likely it is that
696            solutions shorter than the target length will turn out to be
697            possible.
699 Chapter 8: Rectangles
700 ---------------------
702        You have a grid of squares, with numbers written in some (but
703        not all) of the squares. Your task is to subdivide the grid into
704        rectangles of various sizes, such that (a) every rectangle contains
705        exactly one numbered square, and (b) the area of each rectangle is
706        equal to the number written in its numbered square.
708        Credit for this game goes to the Japanese puzzle magazine Nikoli
709        [3]; I've also seen a Palm implementation at Puzzle Palace [4].
710        Unlike Puzzle Palace's implementation, my version automatically
711        generates random grids of any size you like. The quality of puzzle
712        design is therefore not quite as good as hand-crafted puzzles would
713        be, but on the plus side you get an inexhaustible supply of puzzles
714        tailored to your own specification.
716        [3] http://www.nikoli.co.jp/en/puzzles/shikaku.html (beware of
717        Flash)
719        [4]
720        https://web.archive.org/web/20041024001459/http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en
722    8.1 Rectangles controls
724        This game is played with the mouse or cursor keys.
726        Left-click any edge to toggle it on or off, or left-click and
727        drag to draw an entire rectangle (or line) on the grid in one go
728        (removing any existing edges within that rectangle). Right-clicking
729        and dragging will allow you to erase the contents of a rectangle
730        without affecting its edges.
732        Alternatively, use the cursor keys to move the position indicator
733        around the board. Pressing the return key then allows you to use the
734        cursor keys to drag a rectangle out from that position, and pressing
735        the return key again completes the rectangle. Using the space bar
736        instead of the return key allows you to erase the contents of a
737        rectangle without affecting its edges, as above. Pressing escape
738        cancels a drag.
740        When a rectangle of the correct size is completed, it will be
741        shaded.
743        (All the actions described in section 2.1 are also available.)
745    8.2 Rectangles parameters
747        These parameters are available from the `Custom...' option on the
748        `Type' menu.
750        _Width_, _Height_
752            Size of grid, in squares.
754        _Expansion factor_
756            This is a mechanism for changing the type of grids generated by
757            the program. Some people prefer a grid containing a few large
758            rectangles to one containing many small ones. So you can ask
759            Rectangles to essentially generate a _smaller_ grid than the
760            size you specified, and then to expand it by adding rows and
761            columns.
763            The default expansion factor of zero means that Rectangles will
764            simply generate a grid of the size you ask for, and do nothing
765            further. If you set an expansion factor of (say) 0.5, it means
766            that each dimension of the grid will be expanded to half again
767            as big after generation. In other words, the initial grid will
768            be 2/3 the size in each dimension, and will be expanded to its
769            full size without adding any more rectangles.
771            Setting an expansion factor of around 0.5 tends to make the
772            game more difficult, and also (in my experience) rewards a
773            less deductive and more intuitive playing style. If you set it
774            _too_ high, though, the game simply cannot generate more than a
775            few rectangles to cover the entire grid, and the game becomes
776            trivial.
778        _Ensure unique solution_
780            Normally, Rectangles will make sure that the puzzles it presents
781            have only one solution. Puzzles with ambiguous sections can be
782            more difficult and more subtle, so if you like you can turn off
783            this feature and risk having ambiguous puzzles. Also, finding
784            _all_ the possible solutions can be an additional challenge for
785            an advanced player. Turning off this option can also speed up
786            puzzle generation.
788 Chapter 9: Netslide
789 -------------------
791        This game combines the grid generation of Net (see chapter 3) with
792        the movement of Sixteen (see chapter 6): you have a Net grid, but
793        instead of rotating tiles back into place you have to slide them
794        into place by moving a whole row at a time.
796        As in Sixteen, control is with the mouse or cursor keys. See section
797        6.1.
799        The available game parameters have similar meanings to those in Net
800        (see section 3.2) and Sixteen (see section 6.2).
802        Netslide was contributed to this collection by Richard Boulton.
804 Chapter 10: Pattern
805 -------------------
807        You have a grid of squares, which must all be filled in either black
808        or white. Beside each row of the grid are listed the lengths of the
809        runs of black squares on that row; above each column are listed the
810        lengths of the runs of black squares in that column. Your aim is to
811        fill in the entire grid black or white.
813        I first saw this puzzle form around 1995, under the name
814        `nonograms'. I've seen it in various places since then, under
815        different names.
817        Normally, puzzles of this type turn out to be a meaningful picture
818        of something once you've solved them. However, since this version
819        generates the puzzles automatically, they will just look like random
820        groupings of squares. (One user has suggested that this is actually
821        a _good_ thing, since it prevents you from guessing the colour of
822        squares based on the picture, and forces you to use logic instead.)
823        The advantage, though, is that you never run out of them.
825   10.1 Pattern controls
827        This game is played with the mouse.
829        Left-click in a square to colour it black. Right-click to colour it
830        white. If you make a mistake, you can middle-click, or hold down
831        Shift while clicking with any button, to colour the square in the
832        default grey (meaning `undecided') again.
834        You can click and drag with the left or right mouse button to colour
835        a vertical or horizontal line of squares black or white at a time
836        (respectively). If you click and drag with the middle button, or
837        with Shift held down, you can colour a whole rectangle of squares
838        grey.
840        You can also move around the grid with the cursor keys. Pressing the
841        return key will cycle the current cell through empty, then black,
842        then white, then empty, and the space bar does the same cycle in
843        reverse.
845        Moving the cursor while holding Control will colour the moved-over
846        squares black. Holding Shift will colour the moved-over squares
847        white, and holding both will colour them grey.
849        (All the actions described in section 2.1 are also available.)
851   10.2 Pattern parameters
853        The only options available from the `Custom...' option on the `Type'
854        menu are _Width_ and _Height_, which are self-explanatory.
856 Chapter 11: Solo
857 ----------------
859        You have a square grid, which is divided into as many equally sized
860        sub-blocks as the grid has rows. Each square must be filled in with
861        a digit from 1 to the size of the grid, in such a way that
863         -  every row contains only one occurrence of each digit
865         -  every column contains only one occurrence of each digit
867         -  every block contains only one occurrence of each digit.
869         -  (optionally, by default off) each of the square's two main
870            diagonals contains only one occurrence of each digit.
872        You are given some of the numbers as clues; your aim is to place the
873        rest of the numbers correctly.
875        Under the default settings, the sub-blocks are square or
876        rectangular. The default puzzle size is 3x3 (a 9x9 actual grid,
877        divided into nine 3x3 blocks). You can also select sizes with
878        rectangular blocks instead of square ones, such as 2x3 (a 6x6 grid
879        divided into six 3x2 blocks). Alternatively, you can select `jigsaw'
880        mode, in which the sub-blocks are arbitrary shapes which differ
881        between individual puzzles.
883        Another available mode is `killer'. In this mode, clues are not
884        given in the form of filled-in squares; instead, the grid is divided
885        into `cages' by coloured lines, and for each cage the game tells
886        you what the sum of all the digits in that cage should be. Also,
887        no digit may appear more than once within a cage, even if the cage
888        crosses the boundaries of existing regions.
890        If you select a puzzle size which requires more than 9 digits, the
891        additional digits will be letters of the alphabet. For example, if
892        you select 3x4 then the digits which go in your grid will be 1 to 9,
893        plus `a', `b' and `c'. This cannot be selected for killer puzzles.
895        I first saw this puzzle in Nikoli [5], although it's also been
896        popularised by various newspapers under the name `Sudoku' or `Su
897        Doku'. Howard Garns is considered the inventor of the modern form of
898        the puzzle, and it was first published in _Dell Pencil Puzzles and
899        Word Games_. A more elaborate treatment of the history of the puzzle
900        can be found on Wikipedia [6].
902        [5] http://www.nikoli.co.jp/en/puzzles/sudoku.html (beware of Flash)
904        [6] http://en.wikipedia.org/wiki/Sudoku
906   11.1 Solo controls
908        To play Solo, simply click the mouse in any empty square and then
909        type a digit or letter on the keyboard to fill that square. If you
910        make a mistake, click the mouse in the incorrect square and press
911        Space to clear it again (or use the Undo feature).
913        If you _right_-click in a square and then type a number, that
914        number will be entered in the square as a `pencil mark'. You can
915        have pencil marks for multiple numbers in the same square. Squares
916        containing filled-in numbers cannot also contain pencil marks.
918        The game pays no attention to pencil marks, so exactly what you
919        use them for is up to you: you can use them as reminders that a
920        particular square needs to be re-examined once you know more about
921        a particular number, or you can use them as lists of the possible
922        numbers in a given square, or anything else you feel like.
924        To erase a single pencil mark, right-click in the square and type
925        the same number again.
927        All pencil marks in a square are erased when you left-click and type
928        a number, or when you left-click and press space. Right-clicking and
929        pressing space will also erase pencil marks.
931        Alternatively, use the cursor keys to move the mark around the grid.
932        Pressing the return key toggles the mark (from a normal mark to a
933        pencil mark), and typing a number in is entered in the square in the
934        appropriate way; typing in a 0 or using the space bar will clear a
935        filled square.
937        (All the actions described in section 2.1 are also available.)
939   11.2 Solo parameters
941        Solo allows you to configure two separate dimensions of the puzzle
942        grid on the `Type' menu: the number of columns, and the number of
943        rows, into which the main grid is divided. (The size of a block is
944        the inverse of this: for example, if you select 2 columns and 3
945        rows, each actual block will have 3 columns and 2 rows.)
947        If you tick the `X' checkbox, Solo will apply the optional extra
948        constraint that the two main diagonals of the grid also contain
949        one of every digit. (This is sometimes known as `Sudoku-X' in
950        newspapers.) In this mode, the squares on the two main diagonals
951        will be shaded slightly so that you know it's enabled.
953        If you tick the `Jigsaw' checkbox, Solo will generate randomly
954        shaped sub-blocks. In this mode, the actual grid size will be taken
955        to be the product of the numbers entered in the `Columns' and `Rows'
956        boxes. There is no reason why you have to enter a number greater
957        than 1 in both boxes; Jigsaw mode has no constraint on the grid
958        size, and it can even be a prime number if you feel like it.
960        If you tick the `Killer' checkbox, Solo will generate a set of
961        of cages, which are randomly shaped and drawn in an outline of a
962        different colour. Each of these regions contains a smaller clue
963        which shows the digit sum of all the squares in this region.
965        You can also configure the type of symmetry shown in the generated
966        puzzles. More symmetry makes the puzzles look prettier but may also
967        make them easier, since the symmetry constraints can force more
968        clues than necessary to be present. Completely asymmetric puzzles
969        have the freedom to contain as few clues as possible.
971        Finally, you can configure the difficulty of the generated puzzles.
972        Difficulty levels are judged by the complexity of the techniques
973        of deduction required to solve the puzzle: each level requires a
974        mode of reasoning which was not necessary in the previous one. In
975        particular, on difficulty levels `Trivial' and `Basic' there will be
976        a square you can fill in with a single number at all times, whereas
977        at `Intermediate' level and beyond you will have to make partial
978        deductions about the _set_ of squares a number could be in (or the
979        set of numbers that could be in a square). At `Unreasonable' level,
980        even this is not enough, and you will eventually have to make a
981        guess, and then backtrack if it turns out to be wrong.
983        Generating difficult puzzles is itself difficult: if you select one
984        of the higher difficulty levels, Solo may have to make many attempts
985        at generating a puzzle before it finds one hard enough for you. Be
986        prepared to wait, especially if you have also configured a large
987        puzzle size.
989 Chapter 12: Mines
990 -----------------
992        You have a grid of covered squares, some of which contain mines, but
993        you don't know which. Your job is to uncover every square which does
994        _not_ contain a mine. If you uncover a square containing a mine, you
995        lose. If you uncover a square which does not contain a mine, you
996        are told how many mines are contained within the eight surrounding
997        squares.
999        This game needs no introduction; popularised by Windows, it is
1000        perhaps the single best known desktop puzzle game in existence.
1002        This version of it has an unusual property. By default, it will
1003        generate its mine positions in such a way as to ensure that you
1004        never need to _guess_ where a mine is: you will always be able
1005        to deduce it somehow. So you will never, as can happen in other
1006        versions, get to the last four squares and discover that there are
1007        two mines left but you have no way of knowing for sure where they
1008        are.
1010   12.1 Mines controls
1012        This game is played with the mouse.
1014        If you left-click in a covered square, it will be uncovered.
1016        If you right-click in a covered square, it will place a flag which
1017        indicates that the square is believed to be a mine. Left-clicking in
1018        a marked square will not uncover it, for safety. You can right-click
1019        again to remove a mark placed in error.
1021        If you left-click in an _uncovered_ square, it will `clear around'
1022        the square. This means: if the square has exactly as many flags
1023        surrounding it as it should have mines, then all the covered squares
1024        next to it which are _not_ flagged will be uncovered. So once you
1025        think you know the location of all the mines around a square, you
1026        can use this function as a shortcut to avoid having to click on each
1027        of the remaining squares one by one.
1029        If you uncover a square which has _no_ mines in the surrounding
1030        eight squares, then it is obviously safe to uncover those squares in
1031        turn, and so on if any of them also has no surrounding mines. This
1032        will be done for you automatically; so sometimes when you uncover a
1033        square, a whole new area will open up to be explored.
1035        You can also use the cursor keys to move around the minefield.
1036        Pressing the return key in a covered square uncovers it, and in
1037        an uncovered square will clear around it (so it acts as the left
1038        button), pressing the space bar in a covered square will place a
1039        flag (similarly, it acts as the right button).
1041        All the actions described in section 2.1 are also available.
1043        Even Undo is available, although you might consider it cheating to
1044        use it. If you step on a mine, the program will only reveal the mine
1045        in question (unlike most other implementations, which reveal all of
1046        them). You can then Undo your fatal move and continue playing if you
1047        like. The program will track the number of times you died (and Undo
1048        will not reduce that counter), so when you get to the end of the
1049        game you know whether or not you did it without making any errors.
1051        (If you really want to know the full layout of the grid, which other
1052        implementations will show you after you die, you can always use the
1053        Solve menu option.)
1055   12.2 Mines parameters
1057        The options available from the `Custom...' option on the `Type' menu
1058        are:
1060        _Width_, _Height_
1062            Size of grid in squares.
1064        _Mines_
1066            Number of mines in the grid. You can enter this as an absolute
1067            mine count, or alternatively you can put a % sign on the end
1068            in which case the game will arrange for that proportion of the
1069            squares in the grid to be mines.
1071            Beware of setting the mine count too high. At very high
1072            densities, the program may spend forever searching for a
1073            solvable grid.
1075        _Ensure solubility_
1077            When this option is enabled (as it is by default), Mines will
1078            ensure that the entire grid can be fully deduced starting
1079            from the initial open space. If you prefer the riskier grids
1080            generated by other implementations, you can switch off this
1081            option.
1083 Chapter 13: Same Game
1084 ---------------------
1086        You have a grid of coloured squares, which you have to clear by
1087        highlighting contiguous regions of more than one coloured square;
1088        the larger the region you highlight, the more points you get (and
1089        the faster you clear the arena).
1091        If you clear the grid you win. If you end up with nothing but single
1092        squares (i.e., there are no more clickable regions left) you lose.
1094        Removing a region causes the rest of the grid to shuffle up: blocks
1095        that are suspended will fall down (first), and then empty columns
1096        are filled from the right.
1098        Same Game was contributed to this collection by James Harvey.
1100   13.1 Same Game controls
1102        This game can be played with either the keyboard or the mouse.
1104        If you left-click an unselected region, it becomes selected
1105        (possibly clearing the current selection).
1107        If you left-click the selected region, it will be removed (and the
1108        rest of the grid shuffled immediately).
1110        If you right-click the selected region, it will be unselected.
1112        The cursor keys move a cursor around the grid. Pressing the Space or
1113        Enter keys while the cursor is in an unselected region selects it;
1114        pressing Space or Enter again removes it as above.
1116        (All the actions described in section 2.1 are also available.)
1118   13.2 Same Game parameters
1120        These parameters are available from the `Custom...' option on the
1121        `Type' menu.
1123        _Width_, _Height_
1125            Size of grid in squares.
1127        _No. of colours_
1129            Number of different colours used to fill the grid; the more
1130            colours, the fewer large regions of colour and thus the more
1131            difficult it is to successfully clear the grid.
1133        _Scoring system_
1135            Controls the precise mechanism used for scoring. With the
1136            default system, `(n-2)^2', only regions of three squares or more
1137            will score any points at all. With the alternative `(n-1)^2'
1138            system, regions of two squares score a point each, and larger
1139            regions score relatively more points.
1141        _Ensure solubility_
1143            If this option is ticked (the default state), generated grids
1144            will be guaranteed to have at least one solution.
1146            If you turn it off, the game generator will not try to guarantee
1147            soluble grids; it will, however, still ensure that there are at
1148            least 2 squares of each colour on the grid at the start (since a
1149            grid with exactly one square of a given colour is _definitely_
1150            insoluble). Grids generated with this option disabled may
1151            contain more large areas of contiguous colour, leading to
1152            opportunities for higher scores; they can also take less time to
1153            generate.
1155 Chapter 14: Flip
1156 ----------------
1158        You have a grid of squares, some light and some dark. Your aim is to
1159        light all the squares up at the same time. You can choose any square
1160        and flip its state from light to dark or dark to light, but when you
1161        do so, other squares around it change state as well.
1163        Each square contains a small diagram showing which other squares
1164        change when you flip it.
1166   14.1 Flip controls
1168        This game can be played with either the keyboard or the mouse.
1170        Left-click in a square to flip it and its associated squares, or use
1171        the cursor keys to choose a square and the space bar or Enter key to
1172        flip.
1174        If you use the `Solve' function on this game, it will mark some of
1175        the squares in red. If you click once in every square with a red
1176        mark, the game should be solved. (If you click in a square _without_
1177        a red mark, a red mark will appear in it to indicate that you will
1178        need to reverse that operation to reach the solution.)
1180        (All the actions described in section 2.1 are also available.)
1182   14.2 Flip parameters
1184        These parameters are available from the `Custom...' option on the
1185        `Type' menu.
1187        _Width_, _Height_
1189            Size of grid in squares.
1191        _Shape type_
1193            This control determines the shape of the region which is flipped
1194            by clicking in any given square. The default setting, `Crosses',
1195            causes every square to flip itself and its four immediate
1196            neighbours (or three or two if it's at an edge or corner). The
1197            other setting, `Random', causes a random shape to be chosen for
1198            every square, so the game is different every time.
1200 Chapter 15: Guess
1201 -----------------
1203        You have a set of coloured pegs, and have to reproduce a
1204        predetermined sequence of them (chosen by the computer) within a
1205        certain number of guesses.
1207        Each guess gets marked with the number of correctly-coloured pegs
1208        in the correct places (in black), and also the number of correctly-
1209        coloured pegs in the wrong places (in white).
1211        This game is also known (and marketed, by Hasbro, mainly) as a board
1212        game `Mastermind', with 6 colours, 4 pegs per row, and 10 guesses.
1213        However, this version allows custom settings of number of colours
1214        (up to 10), number of pegs per row, and number of guesses.
1216        Guess was contributed to this collection by James Harvey.
1218   15.1 Guess controls
1220        This game can be played with either the keyboard or the mouse.
1222        With the mouse, drag a coloured peg from the tray on the left-hand
1223        side to its required position in the current guess; pegs may also
1224        be dragged from current and past guesses to copy them elsewhere. To
1225        remove a peg, drag it off its current position to somewhere invalid.
1227        Right-clicking in the current guess adds a `hold' marker; pegs that
1228        have hold markers will be automatically added to the next guess
1229        after marking.
1231        Alternatively, with the keyboard, the up and down cursor keys can
1232        be used to select a peg colour, the left and right keys to select a
1233        peg position, and the space bar or Enter key to place a peg of the
1234        selected colour in the chosen position. `D' or Backspace removes a
1235        peg, and Space adds a hold marker.
1237        Pressing `h' or `?' will fill the current guess with a suggested
1238        guess. Using this is not recommended for 10 or more pegs as it is
1239        slow.
1241        When the guess is complete, the smaller feedback pegs will be
1242        highlighted; clicking on these (or moving the peg cursor to them
1243        with the arrow keys and pressing the space bar or Enter key) will
1244        mark the current guess, copy any held pegs to the next guess, and
1245        move the `current guess' marker.
1247        If you correctly position all the pegs the solution will be
1248        displayed below; if you run out of guesses (or select `Solve...')
1249        the solution will also be revealed.
1251        (All the actions described in section 2.1 are also available.)
1253   15.2 Guess parameters
1255        These parameters are available from the `Custom...' option on the
1256        `Type' menu. The default game matches the parameters for the board
1257        game `Mastermind'.
1259        _Colours_
1261            Number of colours the solution is chosen from; from 2 to 10
1262            (more is harder).
1264        _Pegs per guess_
1266            Number of pegs per guess (more is harder).
1268        _Guesses_
1270            Number of guesses you have to find the solution in (fewer is
1271            harder).
1273        _Allow blanks_
1275            Allows blank pegs to be given as part of a guess (makes it
1276            easier, because you know that those will never be counted as
1277            part of the solution). This is turned off by default.
1279            Note that this doesn't allow blank pegs in the solution; if you
1280            really wanted that, use one extra colour.
1282        _Allow duplicates_
1284            Allows the solution (and the guesses) to contain colours more
1285            than once; this increases the search space (making things
1286            harder), and is turned on by default.
1288 Chapter 16: Pegs
1289 ----------------
1291        A number of pegs are placed in holes on a board. You can remove a
1292        peg by jumping an adjacent peg over it (horizontally or vertically)
1293        to a vacant hole on the other side. Your aim is to remove all but
1294        one of the pegs initially present.
1296        This game, best known as `Peg Solitaire', is possibly one of the
1297        oldest puzzle games still commonly known.
1299   16.1 Pegs controls
1301        To move a peg, drag it with the mouse from its current position to
1302        its final position. If the final position is exactly two holes away
1303        from the initial position, is currently unoccupied by a peg, and
1304        there is a peg in the intervening square, the move will be permitted
1305        and the intervening peg will be removed.
1307        Vacant spaces which you can move a peg into are marked with holes. A
1308        space with no peg and no hole is not available for moving at all: it
1309        is an obstacle which you must work around.
1311        You can also use the cursor keys to move a position indicator around
1312        the board. Pressing the return key while over a peg, followed by a
1313        cursor key, will jump the peg in that direction (if that is a legal
1314        move).
1316        (All the actions described in section 2.1 are also available.)
1318   16.2 Pegs parameters
1320        These parameters are available from the `Custom...' option on the
1321        `Type' menu.
1323        _Width_, _Height_
1325            Size of grid in holes.
1327        _Board type_
1329            Controls whether you are given a board of a standard shape or
1330            a randomly generated shape. The two standard shapes currently
1331            supported are `Cross' and `Octagon' (also commonly known as the
1332            English and European traditional board layouts respectively).
1333            Selecting `Random' will give you a different board shape every
1334            time (but always one that is known to have a solution).
1336 Chapter 17: Dominosa
1337 --------------------
1339        A normal set of dominoes - that is, one instance of every
1340        (unordered) pair of numbers from 0 to 6 - has been arranged
1341        irregularly into a rectangle; then the number in each square has
1342        been written down and the dominoes themselves removed. Your task is
1343        to reconstruct the pattern by arranging the set of dominoes to match
1344        the provided array of numbers.
1346        This puzzle is widely credited to O. S. Adler, and takes part of its
1347        name from those initials.
1349   17.1 Dominosa controls
1351        Left-clicking between any two adjacent numbers places a domino
1352        covering them, or removes one if it is already present. Trying to
1353        place a domino which overlaps existing dominoes will remove the ones
1354        it overlaps.
1356        Right-clicking between two adjacent numbers draws a line between
1357        them, which you can use to remind yourself that you know those two
1358        numbers are _not_ covered by a single domino. Right-clicking again
1359        removes the line.
1361        You can also use the cursor keys to move a cursor around the grid.
1362        When the cursor is half way between two adjacent numbers, pressing
1363        the return key will place a domino covering those numbers, or
1364        pressing the space bar will lay a line between the two squares.
1365        Repeating either action removes the domino or line.
1367        Pressing a number key will highlight all occurrences of that number.
1368        Pressing that number again will clear the highlighting. Up to two
1369        different numbers can be highlighted at any given time.
1371        (All the actions described in section 2.1 are also available.)
1373   17.2 Dominosa parameters
1375        These parameters are available from the `Custom...' option on the
1376        `Type' menu.
1378        _Maximum number on dominoes_
1380            Controls the size of the puzzle, by controlling the size of the
1381            set of dominoes used to make it. Dominoes with numbers going
1382            up to N will give rise to an (N+2) x (N+1) rectangle; so, in
1383            particular, the default value of 6 gives an 8x7 grid.
1385        _Ensure unique solution_
1387            Normally, Dominosa will make sure that the puzzles it presents
1388            have only one solution. Puzzles with ambiguous sections can be
1389            more difficult and sometimes more subtle, so if you like you
1390            can turn off this feature. Also, finding _all_ the possible
1391            solutions can be an additional challenge for an advanced player.
1392            Turning off this option can also speed up puzzle generation.
1394 Chapter 18: Untangle
1395 --------------------
1397        You are given a number of points, some of which have lines drawn
1398        between them. You can move the points about arbitrarily; your aim is
1399        to position the points so that no line crosses another.
1401        I originally saw this in the form of a Flash game called Planarity
1402        [7], written by John Tantalo.
1404        [7] http://planarity.net
1406   18.1 Untangle controls
1408        To move a point, click on it with the left mouse button and drag it
1409        into a new position.
1411        (All the actions described in section 2.1 are also available.)
1413   18.2 Untangle parameters
1415        There is only one parameter available from the `Custom...' option on
1416        the `Type' menu:
1418        _Number of points_
1420            Controls the size of the puzzle, by specifying the number of
1421            points in the generated graph.
1423 Chapter 19: Black Box
1424 ---------------------
1426        A number of balls are hidden in a rectangular arena. You have to
1427        deduce the positions of the balls by firing lasers positioned at the
1428        edges of the arena and observing how their beams are deflected.
1430        Beams will travel straight from their origin until they hit the
1431        opposite side of the arena (at which point they emerge), unless
1432        affected by balls in one of the following ways:
1434         -  A beam that hits a ball head-on is absorbed and will never re-
1435            emerge. This includes beams that meet a ball on the first rank
1436            of the arena.
1438         -  A beam with a ball in its front-left square and no ball ahead of
1439            it gets deflected 90 degrees to the right.
1441         -  A beam with a ball in its front-right square and no ball ahead
1442            of it gets similarly deflected to the left.
1444         -  A beam that would re-emerge from its entry location is
1445            considered to be `reflected'.
1447         -  A beam which would get deflected before entering the arena by a
1448            ball to the front-left or front-right of its entry point is also
1449            considered to be `reflected'.
1451        Beams that are reflected appear as a `R'; beams that hit balls head-
1452        on appear as `H'. Otherwise, a number appears at the firing point
1453        and the location where the beam emerges (this number is unique to
1454        that shot).
1456        You can place guesses as to the location of the balls, based on the
1457        entry and exit patterns of the beams; once you have placed enough
1458        balls a button appears enabling you to have your guesses checked.
1460        Here is a diagram showing how the positions of balls can create each
1461        of the beam behaviours shown above:
1463           1RHR---- 
1464          |..O.O...|
1465          2........3
1466          |........|
1467          |........|
1468          3........|
1469          |......O.|
1470          H........|
1471          |.....O..|
1472           12-RR---
1474        As shown, it is possible for a beam to receive multiple reflections
1475        before re-emerging (see turn 3). Similarly, a beam may be reflected
1476        (possibly more than once) before receiving a hit (the `H' on the
1477        left side of the example).
1479        Note that any layout with more than 4 balls may have a non-unique
1480        solution. The following diagram illustrates this; if you know the
1481        board contains 5 balls, it is impossible to determine where the
1482        fifth ball is (possible positions marked with an x):
1484           -------- 
1485          |........|
1486          |........|
1487          |..O..O..|
1488          |...xx...|
1489          |...xx...|
1490          |..O..O..|
1491          |........|
1492          |........|
1493           --------
1495        For this reason, when you have your guesses checked, the game
1496        will check that your solution _produces the same results_ as the
1497        computer's, rather than that your solution is identical to the
1498        computer's. So in the above example, you could put the fifth ball at
1499        _any_ of the locations marked with an x, and you would still win.
1501        Black Box was contributed to this collection by James Harvey.
1503   19.1 Black Box controls
1505        To fire a laser beam, left-click in a square around the edge of
1506        the arena. The results will be displayed immediately. Clicking or
1507        holding the left button on one of these squares will highlight the
1508        current go (or a previous go) to confirm the exit point for that
1509        laser, if applicable.
1511        To guess the location of a ball, left-click within the arena and a
1512        black circle will appear marking the guess; click again to remove
1513        the guessed ball.
1515        Locations in the arena may be locked against modification by right-
1516        clicking; whole rows and columns may be similarly locked by right-
1517        clicking in the laser square above/below that column, or to the
1518        left/right of that row.
1520        The cursor keys may also be used to move around the grid. Pressing
1521        the Enter key will fire a laser or add a new ball-location guess,
1522        and pressing Space will lock a cell, row, or column.
1524        When an appropriate number of balls have been guessed, a button will
1525        appear at the top-left corner of the grid; clicking that (with mouse
1526        or cursor) will check your guesses.
1528        If you click the `check' button and your guesses are not correct,
1529        the game will show you the minimum information necessary to
1530        demonstrate this to you, so you can try again. If your ball
1531        positions are not consistent with the beam paths you already know
1532        about, one beam path will be circled to indicate that it proves you
1533        wrong. If your positions match all the existing beam paths but are
1534        still wrong, one new beam path will be revealed (written in red)
1535        which is not consistent with your current guesses.
1537        If you decide to give up completely, you can select Solve to reveal
1538        the actual ball positions. At this point, correctly-placed balls
1539        will be displayed as filled black circles, incorrectly-placed balls
1540        as filled black circles with red crosses, and missing balls as
1541        filled red circles. In addition, a red circle marks any laser you
1542        had already fired which is not consistent with your ball layout
1543        (just as when you press the `check' button), and red text marks
1544        any laser you _could_ have fired in order to distinguish your ball
1545        layout from the correct one.
1547        (All the actions described in section 2.1 are also available.)
1549   19.2 Black Box parameters
1551        These parameters are available from the `Custom...' option on the
1552        `Type' menu.
1554        _Width_, _Height_
1556            Size of grid in squares. There are 2 x _Width_ x _Height_ lasers
1557            per grid, two per row and two per column.
1559        _No. of balls_
1561            Number of balls to place in the grid. This can be a single
1562            number, or a range (separated with a hyphen, like `2-6'),
1563            and determines the number of balls to place on the grid.
1564            The `reveal' button is only enabled if you have guessed an
1565            appropriate number of balls; a guess using a different number
1566            to the original solution is still acceptable, if all the beam
1567            inputs and outputs match.
1569 Chapter 20: Slant
1570 -----------------
1572        You have a grid of squares. Your aim is to draw a diagonal line
1573        through each square, and choose which way each line slants so that
1574        the following conditions are met:
1576         -  The diagonal lines never form a loop.
1578         -  Any point with a circled number has precisely that many lines
1579            meeting at it. (Thus, a 4 is the centre of a cross shape,
1580            whereas a zero is the centre of a diamond shape - or rather, a
1581            partial diamond shape, because a zero can never appear in the
1582            middle of the grid because that would immediately cause a loop.)
1584        Credit for this puzzle goes to Nikoli [8].
1586        [8] http://www.nikoli.co.jp/ja/puzzles/gokigen_naname (in Japanese)
1588   20.1 Slant controls
1590        Left-clicking in a blank square will place a \ in it (a line leaning
1591        to the left, i.e. running from the top left of the square to the
1592        bottom right). Right-clicking in a blank square will place a / in it
1593        (leaning to the right, running from top right to bottom left).
1595        Continuing to click either button will cycle between the three
1596        possible square contents. Thus, if you left-click repeatedly in a
1597        blank square it will change from blank to \ to / back to blank, and
1598        if you right-click repeatedly the square will change from blank to /
1599        to \ back to blank. (Therefore, you can play the game entirely with
1600        one button if you need to.)
1602        You can also use the cursor keys to move around the grid. Pressing
1603        the return or space keys will place a \ or a /, respectively, and
1604        will then cycle them as above. You can also press / or \ to place a
1605        / or \, respectively, independent of what is already in the cursor
1606        square. Backspace removes any line from the cursor square.
1608        (All the actions described in section 2.1 are also available.)
1610   20.2 Slant parameters
1612        These parameters are available from the `Custom...' option on the
1613        `Type' menu.
1615        _Width_, _Height_
1617            Size of grid in squares.
1619        _Difficulty_
1621            Controls the difficulty of the generated puzzle. At Hard
1622            level, you are required to do deductions based on knowledge of
1623            _relationships_ between squares rather than always being able to
1624            deduce the exact contents of one square at a time. (For example,
1625            you might know that two squares slant in the same direction,
1626            even if you don't yet know what that direction is, and this
1627            might enable you to deduce something about still other squares.)
1628            Even at Hard level, guesswork and backtracking should never be
1629            necessary.
1631 Chapter 21: Light Up
1632 --------------------
1634        You have a grid of squares. Some are filled in black; some of the
1635        black squares are numbered. Your aim is to `light up' all the empty
1636        squares by placing light bulbs in some of them.
1638        Each light bulb illuminates the square it is on, plus all squares
1639        in line with it horizontally or vertically unless a black square is
1640        blocking the way.
1642        To win the game, you must satisfy the following conditions:
1644         -  All non-black squares are lit.
1646         -  No light is lit by another light.
1648         -  All numbered black squares have exactly that number of lights
1649            adjacent to them (in the four squares above, below, and to the
1650            side).
1652        Non-numbered black squares may have any number of lights adjacent to
1653        them.
1655        Credit for this puzzle goes to Nikoli [9].
1657        Light Up was contributed to this collection by James Harvey.
1659        [9] http://www.nikoli.co.jp/en/puzzles/akari.html (beware of Flash)
1661   21.1 Light Up controls
1663        Left-clicking in a non-black square will toggle the presence of a
1664        light in that square. Right-clicking in a non-black square toggles a
1665        mark there to aid solving; it can be used to highlight squares that
1666        cannot be lit, for example.
1668        You may not place a light in a marked square, nor place a mark in a
1669        lit square.
1671        The game will highlight obvious errors in red. Lights lit by other
1672        lights are highlighted in this way, as are numbered squares which do
1673        not (or cannot) have the right number of lights next to them.
1675        Thus, the grid is solved when all non-black squares have yellow
1676        highlights and there are no red lights.
1678        (All the actions described in section 2.1 are also available.)
1680   21.2 Light Up parameters
1682        These parameters are available from the `Custom...' option on the
1683        `Type' menu.
1685        _Width_, _Height_
1687            Size of grid in squares.
1689        _%age of black squares_
1691            Rough percentage of black squares in the grid.
1693            This is a hint rather than an instruction. If the grid generator
1694            is unable to generate a puzzle to this precise specification, it
1695            will increase the proportion of black squares until it can.
1697        _Symmetry_
1699            Allows you to specify the required symmetry of the black squares
1700            in the grid. (This does not affect the difficulty of the puzzles
1701            noticeably.)
1703        _Difficulty_
1705            `Easy' means that the puzzles should be soluble without
1706            backtracking or guessing, `Hard' means that some guesses will
1707            probably be necessary.
1709 Chapter 22: Map
1710 ---------------
1712        You are given a map consisting of a number of regions. Your task is
1713        to colour each region with one of four colours, in such a way that
1714        no two regions sharing a boundary have the same colour. You are
1715        provided with some regions already coloured, sufficient to make the
1716        remainder of the solution unique.
1718        Only regions which share a length of border are required to be
1719        different colours. Two regions which meet at only one _point_ (i.e.
1720        are diagonally separated) may be the same colour.
1722        I believe this puzzle is original; I've never seen an implementation
1723        of it anywhere else. The concept of a four-colouring puzzle was
1724        suggested by Owen Dunn; credit must also go to Nikoli and to Verity
1725        Allan for inspiring the train of thought that led to me realising
1726        Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor
1727        for many detailed suggestions.
1729   22.1 Map controls
1731        To colour a region, click the left mouse button on an existing
1732        region of the desired colour and drag that colour into the new
1733        region.
1735        (The program will always ensure the starting puzzle has at least one
1736        region of each colour, so that this is always possible!)
1738        If you need to clear a region, you can drag from an empty region, or
1739        from the puzzle boundary if there are no empty regions left.
1741        Dragging a colour using the _right_ mouse button will stipple the
1742        region in that colour, which you can use as a note to yourself that
1743        you think the region _might_ be that colour. A region can contain
1744        stipples in multiple colours at once. (This is often useful at the
1745        harder difficulty levels.)
1747        You can also use the cursor keys to move around the map: the colour
1748        of the cursor indicates the position of the colour you would drag
1749        (which is not obvious if you're on a region's boundary, since it
1750        depends on the direction from which you approached the boundary).
1751        Pressing the return key starts a drag of that colour, as above,
1752        which you control with the cursor keys; pressing the return key
1753        again finishes the drag. The space bar can be used similarly to
1754        create a stippled region. Double-pressing the return key (without
1755        moving the cursor) will clear the region, as a drag from an empty
1756        region does: this is useful with the cursor mode if you have filled
1757        the entire map in but need to correct the layout.
1759        If you press L during play, the game will toggle display of a number
1760        in each region of the map. This is useful if you want to discuss a
1761        particular puzzle instance with a friend - having an unambiguous
1762        name for each region is much easier than trying to refer to them all
1763        by names such as `the one down and right of the brown one on the top
1764        border'.
1766        (All the actions described in section 2.1 are also available.)
1768   22.2 Map parameters
1770        These parameters are available from the `Custom...' option on the
1771        `Type' menu.
1773        _Width_, _Height_
1775            Size of grid in squares.
1777        _Regions_
1779            Number of regions in the generated map.
1781        _Difficulty_
1783            In `Easy' mode, there should always be at least one region whose
1784            colour can be determined trivially. In `Normal' and `Hard'
1785            modes, you will have to use increasingly complex logic to deduce
1786            the colour of some regions. However, it will always be possible
1787            without having to guess or backtrack.
1789            In `Unreasonable' mode, the program will feel free to generate
1790            puzzles which are as hard as it can possibly make them: the
1791            only constraint is that they should still have a unique
1792            solution. Solving Unreasonable puzzles may require guessing and
1793            backtracking.
1795 Chapter 23: Loopy
1796 -----------------
1798        You are given a grid of dots, marked with yellow lines to indicate
1799        which dots you are allowed to connect directly together. Your aim is
1800        to use some subset of those yellow lines to draw a single unbroken
1801        loop from dot to dot within the grid.
1803        Some of the spaces between the lines contain numbers. These numbers
1804        indicate how many of the lines around that space form part of the
1805        loop. The loop you draw must correctly satisfy all of these clues to
1806        be considered a correct solution.
1808        In the default mode, the dots are arranged in a grid of squares;
1809        however, you can also play on triangular or hexagonal grids, or even
1810        more exotic ones.
1812        Credit for the basic puzzle idea goes to Nikoli [10].
1814        Loopy was originally contributed to this collection by Mike Pinna,
1815        and subsequently enhanced to handle various types of non-square grid
1816        by Lambros Lambrou.
1818        [10] http://www.nikoli.co.jp/en/puzzles/slitherlink.html (beware of
1819        Flash)
1821   23.1 Loopy controls
1823        Click the left mouse button on a yellow line to turn it black,
1824        indicating that you think it is part of the loop. Click again to
1825        turn the line yellow again (meaning you aren't sure yet).
1827        If you are sure that a particular line segment is _not_ part of the
1828        loop, you can click the right mouse button to remove it completely.
1829        Again, clicking a second time will turn the line back to yellow.
1831        (All the actions described in section 2.1 are also available.)
1833   23.2 Loopy parameters
1835        These parameters are available from the `Custom...' option on the
1836        `Type' menu.
1838        _Width_, _Height_
1840            Size of grid, measured in number of regions across and down. For
1841            square grids, it's clear how this is counted; for other types of
1842            grid you may have to think a bit to see how the dimensions are
1843            measured.
1845        _Grid type_
1847            Allows you to choose between a selection of types of tiling.
1848            Some have all the faces the same but may have multiple different
1849            types of vertex (e.g. the _Cairo_ or _Kites_ mode); others
1850            have all the vertices the same but may have different types of
1851            face (e.g. the _Great Hexagonal_). The square, triangular and
1852            honeycomb grids are fully regular, and have all their vertices
1853            _and_ faces the same; this makes them the least confusing to
1854            play.
1856        _Difficulty_
1858            Controls the difficulty of the generated puzzle.
1860 Chapter 24: Inertia
1861 -------------------
1863        You are a small green ball sitting in a grid full of obstacles. Your
1864        aim is to collect all the gems without running into any mines.
1866        You can move the ball in any orthogonal _or diagonal_ direction.
1867        Once the ball starts moving, it will continue until something stops
1868        it. A wall directly in its path will stop it (but if it is moving
1869        diagonally, it will move through a diagonal gap between two other
1870        walls without stopping). Also, some of the squares are `stops'; when
1871        the ball moves on to a stop, it will stop moving no matter what
1872        direction it was going in. Gems do _not_ stop the ball; it picks
1873        them up and keeps on going.
1875        Running into a mine is fatal. Even if you picked up the last gem in
1876        the same move which then hit a mine, the game will count you as dead
1877        rather than victorious.
1879        This game was originally implemented for Windows by Ben Olmstead
1880        [11], who was kind enough to release his source code on request so
1881        that it could be re-implemented for this collection.
1883        [11] http://xn13.com/
1885   24.1 Inertia controls
1887        You can move the ball in any of the eight directions using the
1888        numeric keypad. Alternatively, if you click the left mouse button
1889        on the grid, the ball will begin a move in the general direction of
1890        where you clicked.
1892        If you use the `Solve' function on this game, the program will
1893        compute a path through the grid which collects all the remaining
1894        gems and returns to the current position. A hint arrow will appear
1895        on the ball indicating the direction in which you should move to
1896        begin on this path. If you then move in that direction, the arrow
1897        will update to indicate the next direction on the path. You can
1898        also press Space to automatically move in the direction of the hint
1899        arrow. If you move in a different direction from the one shown
1900        by the arrow, arrows will be shown only if the puzzle is still
1901        solvable.
1903        All the actions described in section 2.1 are also available. In
1904        particular, if you do run into a mine and die, you can use the Undo
1905        function and resume playing from before the fatal move. The game
1906        will keep track of the number of times you have done this.
1908   24.2 Inertia parameters
1910        These parameters are available from the `Custom...' option on the
1911        `Type' menu.
1913        _Width_, _Height_
1915            Size of grid in squares.
1917 Chapter 25: Tents
1918 -----------------
1920        You have a grid of squares, some of which contain trees. Your aim is
1921        to place tents in some of the remaining squares, in such a way that
1922        the following conditions are met:
1924         -  There are exactly as many tents as trees.
1926         -  The tents and trees can be matched up in such a way that each
1927            tent is directly adjacent (horizontally or vertically, but not
1928            diagonally) to its own tree. However, a tent may be adjacent to
1929            other trees as well as its own.
1931         -  No two tents are adjacent horizontally, vertically _or
1932            diagonally_.
1934         -  The number of tents in each row, and in each column, matches the
1935            numbers given round the sides of the grid.
1937        This puzzle can be found in several places on the Internet, and was
1938        brought to my attention by e-mail. I don't know who I should credit
1939        for inventing it.
1941   25.1 Tents controls
1943        Left-clicking in a blank square will place a tent in it. Right-
1944        clicking in a blank square will colour it green, indicating that you
1945        are sure it _isn't_ a tent. Clicking either button in an occupied
1946        square will clear it.
1948        If you _drag_ with the right button along a row or column, every
1949        blank square in the region you cover will be turned green, and no
1950        other squares will be affected. (This is useful for clearing the
1951        remainder of a row once you have placed all its tents.)
1953        You can also use the cursor keys to move around the grid. Pressing
1954        the return key over an empty square will place a tent, and pressing
1955        the space bar over an empty square will colour it green; either key
1956        will clear an occupied square. Holding Shift and pressing the cursor
1957        keys will colour empty squares green. Holding Control and pressing
1958        the cursor keys will colour green both empty squares and squares
1959        with tents.
1961        (All the actions described in section 2.1 are also available.)
1963   25.2 Tents parameters
1965        These parameters are available from the `Custom...' option on the
1966        `Type' menu.
1968        _Width_, _Height_
1970            Size of grid in squares.
1972        _Difficulty_
1974            Controls the difficulty of the generated puzzle. More difficult
1975            puzzles require more complex deductions, but at present none
1976            of the available difficulty levels requires guesswork or
1977            backtracking.
1979 Chapter 26: Bridges
1980 -------------------
1982        You have a set of islands distributed across the playing area.
1983        Each island contains a number. Your aim is to connect the islands
1984        together with bridges, in such a way that:
1986         -  Bridges run horizontally or vertically.
1988         -  The number of bridges terminating at any island is equal to the
1989            number written in that island.
1991         -  Two bridges may run in parallel between the same two islands,
1992            but no more than two may do so.
1994         -  No bridge crosses another bridge.
1996         -  All the islands are connected together.
1998        There are some configurable alternative modes, which involve
1999        changing the parallel-bridge limit to something other than 2, and
2000        introducing the additional constraint that no sequence of bridges
2001        may form a loop from one island back to the same island. The rules
2002        stated above are the default ones.
2004        Credit for this puzzle goes to Nikoli [12].
2006        Bridges was contributed to this collection by James Harvey.
2008        [12] http://www.nikoli.co.jp/en/puzzles/hashiwokakero.html (beware
2009        of Flash)
2011   26.1 Bridges controls
2013        To place a bridge between two islands, click the mouse down on one
2014        island and drag it towards the other. You do not need to drag all
2015        the way to the other island; you only need to move the mouse far
2016        enough for the intended bridge direction to be unambiguous. (So you
2017        can keep the mouse near the starting island and conveniently throw
2018        bridges out from it in many directions.)
2020        Doing this again when a bridge is already present will add another
2021        parallel bridge. If there are already as many bridges between the
2022        two islands as permitted by the current game rules (i.e. two by
2023        default), the same dragging action will remove all of them.
2025        If you want to remind yourself that two islands definitely _do not_
2026        have a bridge between them, you can right-drag between them in the
2027        same way to draw a `non-bridge' marker.
2029        If you think you have finished with an island (i.e. you have placed
2030        all its bridges and are confident that they are in the right
2031        places), you can mark the island as finished by left-clicking on it.
2032        This will highlight it and all the bridges connected to it, and you
2033        will be prevented from accidentally modifying any of those bridges
2034        in future. Left-clicking again on a highlighted island will unmark
2035        it and restore your ability to modify it.
2037        You can also use the cursor keys to move around the grid: if
2038        possible the cursor will always move orthogonally, otherwise it
2039        will move towards the nearest island to the indicated direction.
2040        Holding Control and pressing a cursor key will lay a bridge in that
2041        direction (if available); Shift and a cursor key will lay a `non-
2042        bridge' marker. Pressing the return key followed by a cursor key
2043        will also lay a bridge in that direction.
2045        You can mark an island as finished by pressing the space bar or by
2046        pressing the return key twice.
2048        By pressing a number key, you can jump to the nearest island with
2049        that number. Letters `a', ..., `f' count as 10, ..., 15 and `0' as
2050        16.
2052        Violations of the puzzle rules will be marked in red:
2054         -  An island with too many bridges will be highlighted in red.
2056         -  An island with too few bridges will be highlighted in red if it
2057            is definitely an error (as opposed to merely not being finished
2058            yet): if adding enough bridges would involve having to cross
2059            another bridge or remove a non-bridge marker, or if the island
2060            has been highlighted as complete.
2062         -  A group of islands and bridges may be highlighted in red if it
2063            is a closed subset of the puzzle with no way to connect it to
2064            the rest of the islands. For example, if you directly connect
2065            two 1s together with a bridge and they are not the only two
2066            islands on the grid, they will light up red to indicate that
2067            such a group cannot be contained in any valid solution.
2069         -  If you have selected the (non-default) option to disallow loops
2070            in the solution, a group of bridges which forms a loop will be
2071            highlighted.
2073        (All the actions described in section 2.1 are also available.)
2075   26.2 Bridges parameters
2077        These parameters are available from the `Custom...' option on the
2078        `Type' menu.
2080        _Width_, _Height_
2082            Size of grid in squares.
2084        _Difficulty_
2086            Difficulty level of puzzle.
2088        _Allow loops_
2090            This is set by default. If cleared, puzzles will be generated in
2091            such a way that they are always soluble without creating a loop,
2092            and solutions which do involve a loop will be disallowed.
2094        _Max. bridges per direction_
2096            Maximum number of bridges in any particular direction. The
2097            default is 2, but you can change it to 1, 3 or 4. In general,
2098            fewer is easier.
2100        _%age of island squares_
2102            Gives a rough percentage of islands the generator will try and
2103            lay before finishing the puzzle. Certain layouts will not manage
2104            to lay enough islands; this is an upper bound.
2106        _Expansion factor (%age)_
2108            The grid generator works by picking an existing island at random
2109            (after first creating an initial island somewhere). It then
2110            decides on a direction (at random), and then works out how far
2111            it could extend before creating another island. This parameter
2112            determines how likely it is to extend as far as it can, rather
2113            than choosing somewhere closer.
2115            High expansion factors usually mean easier puzzles with fewer
2116            possible islands; low expansion factors can create lots of
2117            tightly-packed islands.
2119 Chapter 27: Unequal
2120 -------------------
2122        You have a square grid; each square may contain a digit from 1 to
2123        the size of the grid, and some squares have clue signs between them.
2124        Your aim is to fully populate the grid with numbers such that:
2126         -  Each row contains only one occurrence of each digit
2128         -  Each column contains only one occurrence of each digit
2130         -  All the clue signs are satisfied.
2132        There are two modes for this game, `Unequal' and `Adjacent'.
2134        In `Unequal' mode, the clue signs are greater-than symbols
2135        indicating one square's value is greater than its neighbour's. In
2136        this mode not all clues may be visible, particularly at higher
2137        difficulty levels.
2139        In `Adjacent' mode, the clue signs are bars indicating one square's
2140        value is numerically adjacent (i.e. one higher or one lower) than
2141        its neighbour. In this mode all clues are always visible: absence of
2142        a bar thus means that a square's value is definitely not numerically
2143        adjacent to that neighbour's.
2145        In `Trivial' difficulty level (available via the `Custom' game type
2146        selector), there are no greater-than signs in `Unequal' mode; the
2147        puzzle is to solve the Latin square only.
2149        At the time of writing, the `Unequal' mode of this puzzle is
2150        appearing in the Guardian weekly under the name `Futoshiki'.
2152        Unequal was contributed to this collection by James Harvey.
2154   27.1 Unequal controls
2156        Unequal shares much of its control system with Solo.
2158        To play Unequal, simply click the mouse in any empty square and then
2159        type a digit or letter on the keyboard to fill that square. If you
2160        make a mistake, click the mouse in the incorrect square and press
2161        Space to clear it again (or use the Undo feature).
2163        If you _right_-click in a square and then type a number, that
2164        number will be entered in the square as a `pencil mark'. You can
2165        have pencil marks for multiple numbers in the same square. Squares
2166        containing filled-in numbers cannot also contain pencil marks.
2168        The game pays no attention to pencil marks, so exactly what you
2169        use them for is up to you: you can use them as reminders that a
2170        particular square needs to be re-examined once you know more about
2171        a particular number, or you can use them as lists of the possible
2172        numbers in a given square, or anything else you feel like.
2174        To erase a single pencil mark, right-click in the square and type
2175        the same number again.
2177        All pencil marks in a square are erased when you left-click and type
2178        a number, or when you left-click and press space. Right-clicking and
2179        pressing space will also erase pencil marks.
2181        As for Solo, the cursor keys can be used in conjunction with the
2182        digit keys to set numbers or pencil marks. You can also use the `M'
2183        key to auto-fill every numeric hint, ready for removal as required,
2184        or the `H' key to do the same but also to remove all obvious hints.
2186        Alternatively, use the cursor keys to move the mark around the grid.
2187        Pressing the return key toggles the mark (from a normal mark to a
2188        pencil mark), and typing a number in is entered in the square in the
2189        appropriate way; typing in a 0 or using the space bar will clear a
2190        filled square.
2192        Left-clicking a clue will mark it as done (grey it out), or unmark
2193        it if it is already marked. Holding Control or Shift and pressing
2194        an arrow key likewise marks any clue adjacent to the cursor in the
2195        given direction.
2197        (All the actions described in section 2.1 are also available.)
2199   27.2 Unequal parameters
2201        These parameters are available from the `Custom...' option on the
2202        `Type' menu.
2204        _Mode_
2206            Mode of the puzzle (`Unequal' or `Adjacent')
2208        _Size (s*s)_
2210            Size of grid.
2212        _Difficulty_
2214            Controls the difficulty of the generated puzzle. At Trivial
2215            level, there are no greater-than signs; the puzzle is to solve
2216            the Latin square only. At Recursive level (only available via
2217            the `Custom' game type selector) backtracking will be required,
2218            but the solution should still be unique. The levels in between
2219            require increasingly complex reasoning to avoid having to
2220            backtrack.
2222 Chapter 28: Galaxies
2223 --------------------
2225        You have a rectangular grid containing a number of dots. Your aim is
2226        to draw edges along the grid lines which divide the rectangle into
2227        regions in such a way that every region is 180-degree rotationally
2228        symmetric, and contains exactly one dot which is located at its
2229        centre of symmetry.
2231        This puzzle was invented by Nikoli [13], under the name `Tentai
2232        Show'; its name is commonly translated into English as `Spiral
2233        Galaxies'.
2235        Galaxies was contributed to this collection by James Harvey.
2237        [13] http://www.nikoli.co.jp/en/puzzles/astronomical_show.html
2239   28.1 Galaxies controls
2241        Left-click on any grid line to draw an edge if there isn't one
2242        already, or to remove one if there is. When you create a valid
2243        region (one which is closed, contains exactly one dot, is 180-degree
2244        symmetric about that dot, and contains no extraneous edges inside
2245        it) it will be highlighted automatically; so your aim is to have the
2246        whole grid highlighted in that way.
2248        During solving, you might know that a particular grid square belongs
2249        to a specific dot, but not be sure of where the edges go and which
2250        other squares are connected to the dot. In order to mark this so you
2251        don't forget, you can right-click on the dot and drag, which will
2252        create an arrow marker pointing at the dot. Drop that in a square of
2253        your choice and it will remind you which dot it's associated with.
2254        You can also right-click on existing arrows to pick them up and move
2255        them, or destroy them by dropping them off the edge of the grid.
2256        (Also, if you're not sure which dot an arrow is pointing at, you can
2257        pick it up and move it around to make it clearer. It will swivel
2258        constantly as you drag it, to stay pointed at its parent dot.)
2260        You can also use the cursor keys to move around the grid squares and
2261        lines. Pressing the return key when over a grid line will draw or
2262        clear its edge, as above. Pressing the return key when over a dot
2263        will pick up an arrow, to be dropped the next time the return key
2264        is pressed; this can also be used to move existing arrows around,
2265        removing them by dropping them on a dot or another arrow.
2267        (All the actions described in section 2.1 are also available.)
2269   28.2 Galaxies parameters
2271        These parameters are available from the `Custom...' option on the
2272        `Type' menu.
2274        _Width_, _Height_
2276            Size of grid in squares.
2278        _Difficulty_
2280            Controls the difficulty of the generated puzzle. More difficult
2281            puzzles require more complex deductions, and the `Unreasonable'
2282            difficulty level may require backtracking.
2284 Chapter 29: Filling
2285 -------------------
2287        You have a grid of squares, some of which contain digits, and the
2288        rest of which are empty. Your job is to fill in digits in the empty
2289        squares, in such a way that each connected region of squares all
2290        containing the same digit has an area equal to that digit.
2292        (`Connected region', for the purposes of this game, does not count
2293        diagonally separated squares as adjacent.)
2295        For example, it follows that no square can contain a zero, and that
2296        two adjacent squares can not both contain a one. No region has an
2297        area greater than 9 (because then its area would not be a single
2298        digit).
2300        Credit for this puzzle goes to Nikoli [14].
2302        Filling was contributed to this collection by Jonas Koelker.
2304        [14] http://www.nikoli.co.jp/en/puzzles/fillomino.html
2306   29.1 Filling controls
2308        To play Filling, simply click the mouse in any empty square and
2309        then type a digit on the keyboard to fill that square. By dragging
2310        the mouse, you can select multiple squares to fill with a single
2311        keypress. If you make a mistake, click the mouse in the incorrect
2312        square and press 0, Space, Backspace or Enter to clear it again (or
2313        use the Undo feature).
2315        You can also move around the grid with the cursor keys; typing a
2316        digit will fill the square containing the cursor with that number;
2317        typing 0 will clear it. You can also select multiple squares for
2318        numbering or clearing with the return and arrow keys, before typing
2319        a digit to fill or clear the highlighted squares (as above). The
2320        space bar adds and removes single squares to and from the selection.
2321        Backspace and escape remove all squares from the selection.
2323        (All the actions described in section 2.1 are also available.)
2325   29.2 Filling parameters
2327        Filling allows you to configure the number of rows and columns of
2328        the grid, through the `Type' menu.
2330 Chapter 30: Keen
2331 ----------------
2333        You have a square grid; each square may contain a digit from 1 to
2334        the size of the grid. The grid is divided into blocks of varying
2335        shape and size, with arithmetic clues written in them. Your aim is
2336        to fully populate the grid with digits such that:
2338         -  Each row contains only one occurrence of each digit
2340         -  Each column contains only one occurrence of each digit
2342         -  The digits in each block can be combined to form the number
2343            stated in the clue, using the arithmetic operation given in the
2344            clue. That is:
2346             -  An addition clue means that the sum of the digits in the
2347                block must be the given number. For example, `15+' means the
2348                contents of the block adds up to fifteen.
2350             -  A multiplication clue (e.g. `60*'), similarly, means that
2351                the product of the digits in the block must be the given
2352                number.
2354             -  A subtraction clue will always be written in a block of
2355                size two, and it means that one of the digits in the block
2356                is greater than the other by the given amount. For example,
2357                `2-' means that one of the digits in the block is 2 more
2358                than the other, or equivalently that one digit minus the
2359                other one is 2. The two digits could be either way round,
2360                though.
2362             -  A division clue (e.g. `3/'), similarly, is always in a block
2363                of size two and means that one digit divided by the other is
2364                equal to the given amount.
2366            Note that a block may contain the same digit more than once
2367            (provided the identical ones are not in the same row and
2368            column). This rule is precisely the opposite of the rule in
2369            Solo's `Killer' mode (see chapter 11).
2371        This puzzle appears in the Times under the name `KenKen'.
2373   30.1 Keen controls
2375        Keen shares much of its control system with Solo (and Unequal).
2377        To play Keen, simply click the mouse in any empty square and then
2378        type a digit on the keyboard to fill that square. If you make a
2379        mistake, click the mouse in the incorrect square and press Space to
2380        clear it again (or use the Undo feature).
2382        If you _right_-click in a square and then type a number, that
2383        number will be entered in the square as a `pencil mark'. You can
2384        have pencil marks for multiple numbers in the same square. Squares
2385        containing filled-in numbers cannot also contain pencil marks.
2387        The game pays no attention to pencil marks, so exactly what you
2388        use them for is up to you: you can use them as reminders that a
2389        particular square needs to be re-examined once you know more about
2390        a particular number, or you can use them as lists of the possible
2391        numbers in a given square, or anything else you feel like.
2393        To erase a single pencil mark, right-click in the square and type
2394        the same number again.
2396        All pencil marks in a square are erased when you left-click and type
2397        a number, or when you left-click and press space. Right-clicking and
2398        pressing space will also erase pencil marks.
2400        As for Solo, the cursor keys can be used in conjunction with the
2401        digit keys to set numbers or pencil marks. Use the cursor keys to
2402        move a highlight around the grid, and type a digit to enter it in
2403        the highlighted square. Pressing return toggles the highlight into a
2404        mode in which you can enter or remove pencil marks.
2406        Pressing M will fill in a full set of pencil marks in every square
2407        that does not have a main digit in it.
2409        (All the actions described in section 2.1 are also available.)
2411   30.2 Keen parameters
2413        These parameters are available from the `Custom...' option on the
2414        `Type' menu.
2416        _Grid size_
2418            Specifies the size of the grid. Lower limit is 3; upper limit is
2419            9 (because the user interface would become more difficult with
2420            `digits' bigger than 9!).
2422        _Difficulty_
2424            Controls the difficulty of the generated puzzle. At Unreasonable
2425            level, some backtracking will be required, but the solution
2426            should still be unique. The remaining levels require
2427            increasingly complex reasoning to avoid having to backtrack.
2429        _Multiplication only_
2431            If this is enabled, all boxes will be multiplication boxes. With
2432            this rule, the puzzle is known as `Inshi No Heya'.
2434 Chapter 31: Towers
2435 ------------------
2437        You have a square grid. On each square of the grid you can build
2438        a tower, with its height ranging from 1 to the size of the grid.
2439        Around the edge of the grid are some numeric clues.
2441        Your task is to build a tower on every square, in such a way that:
2443         -  Each row contains every possible height of tower once
2445         -  Each column contains every possible height of tower once
2447         -  Each numeric clue describes the number of towers that can be
2448            seen if you look into the square from that direction, assuming
2449            that shorter towers are hidden behind taller ones. For example,
2450            in a 5x5 grid, a clue marked `5' indicates that the five tower
2451            heights must appear in increasing order (otherwise you would
2452            not be able to see all five towers), whereas a clue marked `1'
2453            indicates that the tallest tower (the one marked 5) must come
2454            first.
2456        In harder or larger puzzles, some towers will be specified for you
2457        as well as the clues round the edge, and some edge clues may be
2458        missing.
2460        This puzzle appears on the web under various names, particularly
2461        `Skyscrapers', but I don't know who first invented it.
2463   31.1 Towers controls
2465        Towers shares much of its control system with Solo, Unequal and
2466        Keen.
2468        To play Towers, simply click the mouse in any empty square and then
2469        type a digit on the keyboard to fill that square with a tower of
2470        the given height. If you make a mistake, click the mouse in the
2471        incorrect square and press Space to clear it again (or use the Undo
2472        feature).
2474        If you _right_-click in a square and then type a number, that
2475        number will be entered in the square as a `pencil mark'. You can
2476        have pencil marks for multiple numbers in the same square. A square
2477        containing a tower cannot also contain pencil marks.
2479        The game pays no attention to pencil marks, so exactly what you
2480        use them for is up to you: you can use them as reminders that a
2481        particular square needs to be re-examined once you know more about
2482        a particular number, or you can use them as lists of the possible
2483        numbers in a given square, or anything else you feel like.
2485        To erase a single pencil mark, right-click in the square and type
2486        the same number again.
2488        All pencil marks in a square are erased when you left-click and type
2489        a number, or when you left-click and press space. Right-clicking and
2490        pressing space will also erase pencil marks.
2492        As for Solo, the cursor keys can be used in conjunction with the
2493        digit keys to set numbers or pencil marks. Use the cursor keys to
2494        move a highlight around the grid, and type a digit to enter it in
2495        the highlighted square. Pressing return toggles the highlight into a
2496        mode in which you can enter or remove pencil marks.
2498        Pressing M will fill in a full set of pencil marks in every square
2499        that does not have a main digit in it.
2501        Left-clicking a clue will mark it as done (grey it out), or unmark
2502        it if it is already marked. Holding Control or Shift and pressing an
2503        arrow key likewise marks any clue in the given direction.
2505        (All the actions described in section 2.1 are also available.)
2507   31.2 Towers parameters
2509        These parameters are available from the `Custom...' option on the
2510        `Type' menu.
2512        _Grid size_
2514            Specifies the size of the grid. Lower limit is 3; upper limit is
2515            9 (because the user interface would become more difficult with
2516            `digits' bigger than 9!).
2518        _Difficulty_
2520            Controls the difficulty of the generated puzzle. At Unreasonable
2521            level, some backtracking will be required, but the solution
2522            should still be unique. The remaining levels require
2523            increasingly complex reasoning to avoid having to backtrack.
2525 Chapter 32: Singles
2526 -------------------
2528        You have a grid of white squares, all of which contain numbers. Your
2529        task is to colour some of the squares black (removing the number) so
2530        as to satisfy all of the following conditions:
2532         -  No number occurs more than once in any row or column.
2534         -  No black square is horizontally or vertically adjacent to any
2535            other black square.
2537         -  The remaining white squares must all form one contiguous region
2538            (connected by edges, not just touching at corners).
2540        Credit for this puzzle goes to Nikoli [15] who call it Hitori.
2542        Singles was contributed to this collection by James Harvey.
2544        [15] http://www.nikoli.com/en/puzzles/hitori.html (beware of Flash)
2546   32.1 Singles controls
2548        Left-clicking on an empty square will colour it black; left-clicking
2549        again will restore the number. Right-clicking will add a circle
2550        (useful for indicating that a cell is definitely not black).
2552        You can also use the cursor keys to move around the grid. Pressing
2553        the return or space keys will turn a square black or add a circle
2554        respectively, and pressing the key again will restore the number or
2555        remove the circle.
2557        (All the actions described in section 2.1 are also available.)
2559   32.2 Singles parameters
2561        These parameters are available from the `Custom...' option on the
2562        `Type' menu.
2564        _Width_, _Height_
2566            Size of grid in squares.
2568        _Difficulty_
2570            Controls the difficulty of the generated puzzle.
2572 Chapter 33: Magnets
2573 -------------------
2575        A rectangular grid has been filled with a mixture of magnets (that
2576        is, dominoes with one positive end and one negative end) and blank
2577        dominoes (that is, dominoes with two neutral poles). These dominoes
2578        are initially only seen in silhouette. Around the grid are placed a
2579        number of clues indicating the number of positive and negative poles
2580        contained in certain columns and rows.
2582        Your aim is to correctly place the magnets and blank dominoes such
2583        that all the clues are satisfied, with the additional constraint
2584        that no two similar magnetic poles may be orthogonally adjacent
2585        (since they repel). Neutral poles do not repel, and can be adjacent
2586        to any other pole.
2588        Credit for this puzzle goes to Janko [16].
2590        Magnets was contributed to this collection by James Harvey.
2592        [16] http://www.janko.at/Raetsel/Magnete/index.htm
2594   33.1 Magnets controls
2596        Left-clicking on an empty square places a magnet at that position
2597        with the positive pole on the square and the negative pole on the
2598        other half of the magnet; left-clicking again reverses the polarity,
2599        and a third click removes the magnet.
2601        Right-clicking on an empty square places a blank domino there.
2602        Right-clicking again places two question marks on the domino,
2603        signifying `this cannot be blank' (which can be useful to note
2604        deductions while solving), and right-clicking again empties the
2605        domino.
2607        Left-clicking a clue will mark it as done (grey it out), or unmark
2608        it if it is already marked.
2610        You can also use the cursor keys to move a cursor around the grid.
2611        Pressing the return key will lay a domino with a positive pole at
2612        that position; pressing again reverses the polarity and then removes
2613        the domino, as with left-clicking. Using the space bar allows
2614        placement of blank dominoes and cannot-be-blank hints, as for right-
2615        clicking.
2617        (All the actions described in section 2.1 are also available.)
2619   33.2 Magnets parameters
2621        These parameters are available from the `Custom...' option on the
2622        `Type' menu.
2624        _Width_, _Height_
2626            Size of grid in squares. There will be half _Width_ x _Height_
2627            dominoes in the grid: if this number is odd then one square will
2628            be blank.
2630            (Grids with at least one odd dimension tend to be easier to
2631            solve.)
2633        _Difficulty_
2635            Controls the difficulty of the generated puzzle. At Tricky
2636            level, you are required to make more deductions about empty
2637            dominoes and row/column counts.
2639        _Strip clues_
2641            If true, some of the clues around the grid are removed at
2642            generation time, making the puzzle more difficult.
2644 Chapter 34: Signpost
2645 --------------------
2647        You have a grid of squares; each square (except the last one)
2648        contains an arrow, and some squares also contain numbers. Your job
2649        is to connect the squares to form a continuous list of numbers
2650        starting at 1 and linked in the direction of the arrows - so the
2651        arrow inside the square with the number 1 will point to the square
2652        containing the number 2, which will point to the square containing
2653        the number 3, etc. Each square can be any distance away from the
2654        previous one, as long as it is somewhere in the direction of the
2655        arrow.
2657        By convention the first and last numbers are shown; one or more
2658        interim numbers may also appear at the beginning.
2660        Credit for this puzzle goes to Janko [17], who call it `Pfeilpfad'
2661        (`arrow path').
2663        Signpost was contributed to this collection by James Harvey.
2665        [17] http://janko.at/Raetsel/Pfeilpfad/index.htm
2667   34.1 Signpost controls
2669        To play Signpost, you connect squares together by dragging from
2670        one square to another, indicating that they are adjacent in the
2671        sequence. Drag with the left button from a square to its successor,
2672        or with the right button from a square to its predecessor.
2674        If you connect together two squares in this way and one of them has
2675        a number in it, the appropriate number will appear in the other
2676        square. If you connect two non-numbered squares, they will be
2677        assigned temporary algebraic labels: on the first occasion, they
2678        will be labelled `a' and `a+1', and then `b' and `b+1', and so on.
2679        Connecting more squares on to the ends of such a chain will cause
2680        them all to be labelled with the same letter.
2682        When you left-click or right-click in a square, the legal squares to
2683        connect it to will be shown.
2685        The arrow in each square starts off black, and goes grey once you
2686        connect the square to its successor. Also, each square which needs
2687        a predecessor has a small dot in the bottom left corner, which
2688        vanishes once you link a square to it. So your aim is always to
2689        connect a square with a black arrow to a square with a dot.
2691        To remove any links for a particular square (both incoming and
2692        outgoing), left-drag it off the grid. To remove a whole chain,
2693        right-drag any square in the chain off the grid.
2695        You can also use the cursor keys to move around the grid squares
2696        and lines. Pressing the return key when over a square starts a link
2697        operation, and pressing the return key again over a square will
2698        finish the link, if allowable. Pressing the space bar over a square
2699        will show the other squares pointing to it, and allow you to form a
2700        backward link, and pressing the space bar again cancels this.
2702        (All the actions described in section 2.1 are also available.)
2704   34.2 Signpost parameters
2706        These parameters are available from the `Custom...' option on the
2707        `Type' menu.
2709        _Width_, _Height_
2711            Size of grid in squares.
2713        _Force start/end to corners_
2715            If true, the start and end squares are always placed in opposite
2716            corners (the start at the top left, and the end at the bottom
2717            right). If false the start and end squares are placed randomly
2718            (although always both shown).
2720 Chapter 35: Range
2721 -----------------
2723        You have a grid of squares; some squares contain numbers. Your job
2724        is to colour some of the squares black, such that several criteria
2725        are satisfied:
2727         -  no square with a number is coloured black.
2729         -  no two black squares are adjacent (horizontally or vertically).
2731         -  for any two white squares, there is a path between them using
2732            only white squares.
2734         -  for each square with a number, that number denotes the total
2735            number of white squares reachable from that square going in a
2736            straight line in any horizontal or vertical direction until
2737            hitting a wall or a black square; the square with the number is
2738            included in the total (once).
2740        For instance, a square containing the number one must have four
2741        black squares as its neighbours by the last criterion; but then it's
2742        impossible for it to be connected to any outside white square, which
2743        violates the second to last criterion. So no square will contain the
2744        number one.
2746        Credit for this puzzle goes to Nikoli, who have variously called it
2747        `Kurodoko', `Kuromasu' or `Where is Black Cells'. [18].
2749        Range was contributed to this collection by Jonas Koelker.
2751        [18] http://www.nikoli.co.jp/en/puzzles/where_is_black_cells.html
2753   35.1 Range controls
2755        Click with the left button to paint a square black, or with the
2756        right button to mark a square with a dot to indicate that you are
2757        sure it should _not_ be painted black. Repeated clicking with either
2758        button will cycle the square through the three possible states
2759        (filled, dotted or empty) in opposite directions.
2761        You can also use the cursor keys to move around the grid squares.
2762        Pressing Return does the same as clicking with the left button,
2763        while pressing Space does the same as a right button click. Moving
2764        with the cursor keys while holding Shift will place dots in all
2765        squares that are moved through.
2767        (All the actions described in section 2.1 are also available.)
2769   35.2 Range parameters
2771        These parameters are available from the `Custom...' option on the
2772        `Type' menu.
2774        _Width_, _Height_
2776            Size of grid in squares.
2778 Chapter 36: Pearl
2779 -----------------
2781        You have a grid of squares. Your job is to draw lines between the
2782        centres of horizontally or vertically adjacent squares, so that the
2783        lines form a single closed loop. In the resulting grid, some of the
2784        squares that the loop passes through will contain corners, and some
2785        will be straight horizontal or vertical lines. (And some squares can
2786        be completely empty - the loop doesn't have to pass through every
2787        square.)
2789        Some of the squares contain black and white circles, which are clues
2790        that the loop must satisfy.
2792        A black circle in a square indicates that that square is a corner,
2793        but neither of the squares adjacent to it in the loop is also a
2794        corner.
2796        A white circle indicates that the square is a straight edge, but _at
2797        least one_ of the squares adjacent to it in the loop is a corner.
2799        (In both cases, the clue only constrains the two squares adjacent
2800        _in the loop_, that is, the squares that the loop passes into after
2801        leaving the clue square. The squares that are only adjacent _in the
2802        grid_ are not constrained.)
2804        Credit for this puzzle goes to Nikoli, who call it `Masyu'. [19]
2806        Thanks to James Harvey for assistance with the implementation.
2808        [19] http://www.nikoli.co.jp/en/puzzles/masyu.html (beware of Flash)
2810   36.1 Pearl controls
2812        Click with the left button on a grid edge to draw a segment of the
2813        loop through that edge, or to remove a segment once it is drawn.
2815        Drag with the left button through a series of squares to draw more
2816        than one segment of the loop in one go. Alternatively, drag over an
2817        existing part of the loop to undraw it, or to undraw part of it and
2818        then go in a different direction.
2820        Click with the right button on a grid edge to mark it with a cross,
2821        indicating that you are sure the loop does not go through that edge.
2822        (For instance, if you have decided which of the squares adjacent
2823        to a white clue has to be a corner, but don't yet know which way
2824        the corner turns, you might mark the one way it _can't_ go with a
2825        cross.)
2827        Alternatively, use the cursor keys to move the cursor. Use the Enter
2828        key to begin and end keyboard `drag' operations. Use the Space,
2829        Escape or Backspace keys to cancel the drag. Or, hold Control while
2830        dragging with the cursor keys to toggle segments as you move between
2831        squares.
2833        Pressing Control-Shift-arrowkey or Shift-arrowkey simulates a left
2834        or right click, respectively, on the edge in the direction of the
2835        key.
2837        (All the actions described in section 2.1 are also available.)
2839   36.2 Pearl parameters
2841        These parameters are available from the `Custom...' option on the
2842        `Type' menu.
2844 Chapter 37: Undead
2845 ------------------
2847        You are given a grid of squares, some of which contain diagonal
2848        mirrors. Every square which is not a mirror must be filled with one
2849        of three types of undead monster: a ghost, a vampire, or a zombie.
2851        Vampires can be seen directly, but are invisible when reflected in
2852        mirrors. Ghosts are the opposite way round: they can be seen in
2853        mirrors, but are invisible when looked at directly. Zombies are
2854        visible by any means.
2856        You are also told the total number of each type of monster in the
2857        grid. Also around the edge of the grid are written numbers, which
2858        indicate how many monsters can be seen if you look into the grid
2859        along a row or column starting from that position. (The diagonal
2860        mirrors are reflective on both sides. If your reflected line of
2861        sight crosses the same monster more than once, the number will count
2862        it each time it is visible, not just once.)
2864        This puzzle type was invented by David Millar, under the name
2865        `Haunted Mirror Maze'. See [20] for more details.
2867        Undead was contributed to this collection by Steffen Bauer.
2869        [20] http://www.janko.at/Raetsel/Spukschloss/index.htm
2871   37.1 Undead controls
2873        Undead has a similar control system to Solo, Unequal and Keen.
2875        To play Undead, click the mouse in any empty square and then type
2876        a letter on the keyboard indicating the type of monster: `G' for
2877        a ghost, `V' for a vampire, or `Z' for a zombie. If you make a
2878        mistake, click the mouse in the incorrect square and press Space to
2879        clear it again (or use the Undo feature).
2881        If you _right_-click in a square and then type a letter, the
2882        corresponding monster will be shown in reduced size in that square,
2883        as a `pencil mark'. You can have pencil marks for multiple monsters
2884        in the same square. A square containing a full-size monster cannot
2885        also contain pencil marks.
2887        The game pays no attention to pencil marks, so exactly what you
2888        use them for is up to you: you can use them as reminders that a
2889        particular square needs to be re-examined once you know more about
2890        a particular monster, or you can use them as lists of the possible
2891        monster in a given square, or anything else you feel like.
2893        To erase a single pencil mark, right-click in the square and type
2894        the same letter again.
2896        All pencil marks in a square are erased when you left-click and type
2897        a monster letter, or when you left-click and press Space. Right-
2898        clicking and pressing space will also erase pencil marks.
2900        As for Solo, the cursor keys can be used in conjunction with the
2901        letter keys to place monsters or pencil marks. Use the cursor keys
2902        to move a highlight around the grid, and type a monster letter to
2903        enter it in the highlighted square. Pressing return toggles the
2904        highlight into a mode in which you can enter or remove pencil marks.
2906        If you prefer plain letters of the alphabet to cute monster
2907        pictures, you can press `A' to toggle between showing the monsters
2908        as monsters or showing them as letters.
2910        Left-clicking a clue will mark it as done (grey it out), or unmark
2911        it if it is already marked.
2913        (All the actions described in section 2.1 are also available.)
2915   37.2 Undead parameters
2917        These parameters are available from the `Custom...' option on the
2918        `Type' menu.
2920        _Width_, _Height_
2922            Size of grid in squares.
2924        _Difficulty_
2926            Controls the difficulty of the generated puzzle.
2928 Chapter 38: Unruly
2929 ------------------
2931        You are given a grid of squares, which you must colour either black
2932        or white. Some squares are provided as clues; the rest are left for
2933        you to fill in. Each row and column must contain the same number
2934        of black and white squares, and no row or column may contain three
2935        consecutive squares of the same colour.
2937        This puzzle type was invented by Adolfo Zanellati, under the name
2938        `Tohu wa Vohu'. See [21] for more details.
2940        Unruly was contributed to this collection by Lennard Sprong.
2942        [21] http://www.janko.at/Raetsel/Tohu-Wa-Vohu/index.htm
2944   38.1 Unruly controls
2946        To play Unruly, click the mouse in a square to change its colour.
2947        Left-clicking an empty square will turn it black, and right-clicking
2948        will turn it white. Keep clicking the same button to cycle through
2949        the three possible states for the square. If you middle-click in a
2950        square it will be reset to empty.
2952        You can also use the cursor keys to move around the grid. Pressing
2953        the return or space keys will turn an empty square black or white
2954        respectively (and then cycle the colours in the same way as the
2955        mouse buttons), and pressing Backspace will reset a square to empty.
2957        (All the actions described in section 2.1 are also available.)
2959   38.2 Unruly parameters
2961        These parameters are available from the `Custom...' option on the
2962        `Type' menu.
2964        _Width_, _Height_
2966            Size of grid in squares. (Note that the rules of the game
2967            require both the width and height to be even numbers.)
2969        _Difficulty_
2971            Controls the difficulty of the generated puzzle.
2973        _Unique rows and columns_
2975            If enabled, no two rows are permitted to have exactly the same
2976            pattern, and likewise columns. (A row and a column can match,
2977            though.)
2979 Chapter 39: Flood
2980 -----------------
2982        You are given a grid of squares, coloured at random in multiple
2983        colours. In each move, you can flood-fill the top left square in a
2984        colour of your choice (i.e. every square reachable from the starting
2985        square by an orthogonally connected path of squares all the same
2986        colour will be filled in the new colour). As you do this, more and
2987        more of the grid becomes connected to the starting square.
2989        Your aim is to make the whole grid the same colour, in as few moves
2990        as possible. The game will set a limit on the number of moves, based
2991        on running its own internal solver. You win if you can make the
2992        whole grid the same colour in that many moves or fewer.
2994        I saw this game (with a fixed grid size, fixed number of colours,
2995        and fixed move limit) at http://floodit.appspot.com (no longer
2996        accessible).
2998   39.1 Flood controls
3000        To play Flood, click the mouse in a square. The top left corner and
3001        everything connected to it will be flood-filled with the colour of
3002        the square you clicked. Clicking a square the same colour as the top
3003        left corner has no effect, and therefore does not count as a move.
3005        You can also use the cursor keys to move a cursor (outline black
3006        square) around the grid. Pressing the return key will fill the top
3007        left corner in the colour of the square under the cursor.
3009        (All the actions described in section 2.1 are also available.)
3011   39.2 Flood parameters
3013        These parameters are available from the `Custom...' option on the
3014        `Type' menu.
3016        _Width_, _Height_
3018            Size of the grid, in squares.
3020        _Colours_
3022            Number of colours used to fill the grid. Must be at least 3
3023            (with two colours there would only be one legal move at any
3024            stage, hence no choice to make at all), and at most 10.
3026        _Extra moves permitted_
3028            Controls the difficulty of the puzzle, by increasing the move
3029            limit. In each new grid, Flood will run an internal solver to
3030            generate its own solution, and then the value in this field
3031            will be added to the length of Flood's solution to generate the
3032            game's move limit. So a value of 0 requires you to be just as
3033            efficient as Flood's automated solver, and a larger value makes
3034            it easier.
3036            (Note that Flood's internal solver will not necessarily find the
3037            shortest possible solution, though I believe it's pretty close.
3038            For a real challenge, set this value to 0 and then try to solve
3039            a grid in _strictly fewer_ moves than the limit you're given!)
3041 Chapter 40: Tracks
3042 ------------------
3044        You are given a grid of squares, some of which are filled with train
3045        tracks. You need to complete the track from A to B so that the
3046        rows and columns contain the same number of track segments as are
3047        indicated in the clues to the top and right of the grid.
3049        There are only straight and 90 degree curved rails, and the track
3050        may not cross itself.
3052        Tracks was contributed to this collection by James Harvey.
3054   40.1 Tracks controls
3056        Left-clicking on an edge between two squares adds a track segment
3057        between the two squares. Right-clicking on an edge adds a cross on
3058        the edge, indicating no track is possible there.
3060        Left-clicking in a square adds a colour indicator showing that
3061        you know the square must contain a track, even if you don't know
3062        which edges it crosses yet. Right-clicking in a square adds a cross
3063        indicating it contains no track segment.
3065        Left- or right-dragging between squares allows you to lay a straight
3066        line of is-track or is-not-track indicators, useful for filling in
3067        rows or columns to match the clue.
3069        (All the actions described in section 2.1 are also available.)
3071   40.2 Tracks parameters
3073        These parameters are available from the `Custom...' option on the
3074        `Type' menu.
3076        _Width_, _Height_
3078            Size of the grid, in squares.
3080        _Difficulty_
3082            Controls the difficulty of the generated puzzle: at Tricky
3083            level, you are required to make more deductions regarding
3084            disregarding moves that would lead to impossible crossings
3085            later.
3087        _Disallow consecutive 1 clues_
3089            Controls whether the Tracks game generation permits two adjacent
3090            rows or columns to have a 1 clue, or permits the row or column
3091            of the track's endpoint to have a 1 clue. By default this is
3092            not permitted, to avoid long straight boring segments of track
3093            and make the games more twiddly and interesting. If you want to
3094            restore the possibility, turn this option off.
3096 Chapter 41: Palisade
3097 --------------------
3099        You're given a grid of squares, some of which contain numbers. Your
3100        goal is to subdivide the grid into contiguous regions, all of the
3101        same (given) size, such that each square containing a number is
3102        adjacent to exactly that many edges (including those between the
3103        inside and the outside of the grid).
3105        Credit for this puzzle goes to Nikoli, who call it `Five Cells'.
3106        [22].
3108        Palisade was contributed to this collection by Jonas Koelker.
3110        [22] http://nikoli.co.jp/en/puzzles/five_cells.html
3112   41.1 Palisade controls
3114        Left-click to place an edge. Right-click to indicate `no edge'.
3115        Alternatively, the arrow keys will move a keyboard cursor. Holding
3116        Control while pressing an arrow key will place an edge. Press Shift-
3117        arrowkey to switch off an edge. Repeat an action to perform its
3118        inverse.
3120        (All the actions described in section 2.1 are also available.)
3122   41.2 Palisade parameters
3124        These parameters are available from the `Custom...' option on the
3125        `Type' menu.
3127        _Width_, _Height_
3129            Size of grid in squares.
3131        _Region size_
3133            The size of the regions into which the grid must be subdivided.
3135 Appendix A: Licence
3136 -------------------
3138        This software is copyright 2004-2014 Simon Tatham.
3140        Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
3141        Koelker, Dariusz Olszewski, Michael Schierl, Lambros Lambrou, Bernd
3142        Schmidt, Steffen Bauer, Lennard Sprong and Rogier Goossens.
3144        Permission is hereby granted, free of charge, to any person
3145        obtaining a copy of this software and associated documentation files
3146        (the `Software'), to deal in the Software without restriction,
3147        including without limitation the rights to use, copy, modify, merge,
3148        publish, distribute, sublicense, and/or sell copies of the Software,
3149        and to permit persons to whom the Software is furnished to do so,
3150        subject to the following conditions:
3152        The above copyright notice and this permission notice shall be
3153        included in all copies or substantial portions of the Software.
3155        THE SOFTWARE IS PROVIDED `AS IS', WITHOUT WARRANTY OF ANY KIND,
3156        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
3157        OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3158        NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
3159        BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
3160        ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
3161        CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3162        SOFTWARE.
3164 [Simon Tatham's Portable Puzzle Collection, version 20170606.272beef]