Patch from Jonas Koelker to add keyboard control support to Pearl.
[sgt-puzzles/ydirson.git] / puzzles.but
blob68857407e1e339586e2179f01c2c284ece4c05e4
1 \title Simon Tatham's Portable Puzzle Collection
3 \cfg{winhelp-filename}{puzzles.hlp}
4 \cfg{winhelp-contents-titlepage}{Contents}
6 \cfg{text-filename}{puzzles.txt}
8 \cfg{html-contents-filename}{index.html}
9 \cfg{html-template-filename}{%k.html}
10 \cfg{html-index-filename}{docindex.html}
11 \cfg{html-leaf-level}{1}
12 \cfg{html-contents-depth-0}{1}
13 \cfg{html-contents-depth-1}{2}
14 \cfg{html-leaf-contains-contents}{true}
16 \cfg{info-filename}{puzzles.info}
18 \cfg{ps-filename}{puzzles.ps}
19 \cfg{pdf-filename}{puzzles.pdf}
21 \define{by} \u00D7{x}
23 \define{dash} \u2013{-}
25 \define{times} \u00D7{*}
27 \define{divide} \u00F7{/}
29 \define{minus} \u2212{-}
31 This is a collection of small one-player puzzle games.
33 \copyright This manual is copyright 2004-2012 Simon Tatham. All rights
34 reserved. You may distribute this documentation under the MIT licence.
35 See \k{licence} for the licence text in full.
37 \cfg{html-local-head}{<meta name="AppleTitle" content="Puzzles Help">}
39 \versionid $Id$
41 \C{intro} Introduction
43 I wrote this collection because I thought there should be more small
44 desktop toys available: little games you can pop up in a window and
45 play for two or three minutes while you take a break from whatever
46 else you were doing. And I was also annoyed that every time I found
47 a good game on (say) \i{Unix}, it wasn't available the next time I
48 was sitting at a \i{Windows} machine, or vice versa; so I arranged
49 that everything in my personal puzzle collection will happily run on
50 both, and have more recently done a port to \i{Mac OS X} as well. When I
51 find (or perhaps invent) further puzzle games that I like, they'll
52 be added to this collection and will immediately be available on
53 both platforms. And if anyone feels like writing any other front
54 ends \dash PocketPC, Mac OS pre-10, or whatever it might be \dash
55 then all the games in this framework will immediately become
56 available on another platform as well.
58 The actual games in this collection were mostly not my invention; they
59 are re-implementations of existing game concepts within my portable
60 puzzle framework. I do not claim credit, in general, for inventing the
61 rules of any of these puzzles. (I don't even claim authorship of all
62 the code; some of the puzzles have been submitted by other authors.)
64 This collection is distributed under the \i{MIT licence} (see
65 \k{licence}). This means that you can do pretty much anything you like
66 with the game binaries or the code, except pretending you wrote them
67 yourself, or suing me if anything goes wrong. 
69 The most recent versions, and \i{source code}, can be found at
70 \I{website}\W{http://www.chiark.greenend.org.uk/~sgtatham/puzzles/}\cw{http://www.chiark.greenend.org.uk/~sgtatham/puzzles/}.
72 Please report \I{feedback}\i{bugs} to
73 \W{mailto:anakin@pobox.com}\cw{anakin@pobox.com}.
74 You might find it helpful to read this article before reporting a bug:
76 \W{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}\cw{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}
78 \ii{Patches} are welcome. Especially if they provide a new front end
79 (to make all these games run on another platform), or a new game.
82 \C{common} \ii{Common features}
84 This chapter describes features that are common to all the games.
86 \H{common-actions} \I{controls}Common actions
88 These actions are all available from the \I{Game menu}\q{Game} menu
89 and via \I{keys}keyboard shortcuts, in addition to any game-specific
90 actions.
92 (On \i{Mac OS X}, to conform with local user interface standards, these
93 actions are situated on the \I{File menu}\q{File} and \I{Edit
94 menu}\q{Edit} menus instead.)
96 \dt \ii\e{New game} (\q{N}, Ctrl+\q{N})
98 \dd Starts a new game, with a random initial state.
100 \dt \ii\e{Restart game}
102 \dd Resets the current game to its initial state. (This can be undone.)
104 \dt \ii\e{Load}
106 \dd Loads a saved game from a file on disk.
108 \dt \ii\e{Save}
110 \dd Saves the current state of your game to a file on disk.
112 \lcont{
114 The Load and Save operations preserve your entire game
115 history (so you can save, reload, and still Undo and Redo things you
116 had done before saving).
120 \dt \I{printing, on Windows}\e{Print}
122 \dd Where supported (currently only on Windows), brings up a dialog
123 allowing you to print an arbitrary number of puzzles randomly
124 generated from the current parameters, optionally including the
125 current puzzle. (Only for puzzles which make sense to print, of
126 course \dash it's hard to think of a sensible printable representation
127 of Fifteen!)
129 \dt \ii\e{Undo} (\q{U}, Ctrl+\q{Z}, Ctrl+\q{_})
131 \dd Undoes a single move. (You can undo moves back to the start of the
132 session.)
134 \dt \ii\e{Redo} (\q{R}, Ctrl+\q{R})
136 \dd Redoes a previously undone move.
138 \dt \ii\e{Copy}
140 \dd Copies the current state of your game to the clipboard in text
141 format, so that you can paste it into (say) an e-mail client or a
142 web message board if you're discussing the game with someone else.
143 (Not all games support this feature.)
145 \dt \ii\e{Solve}
147 \dd Transforms the puzzle instantly into its solved state. For some
148 games (Cube) this feature is not supported at all because it is of
149 no particular use. For other games (such as Pattern), the solved
150 state can be used to give you information, if you can't see how a
151 solution can exist at all or you want to know where you made a
152 mistake. For still other games (such as Sixteen), automatic solution
153 tells you nothing about how to \e{get} to the solution, but it does
154 provide a useful way to get there quickly so that you can experiment
155 with set-piece moves and transformations.
157 \lcont{
159 Some games (such as Solo) are capable of solving a game ID you have
160 typed in from elsewhere. Other games (such as Rectangles) cannot
161 solve a game ID they didn't invent themself, but when they did
162 invent the game ID they know what the solution is already. Still
163 other games (Pattern) can solve \e{some} external game IDs, but only
164 if they aren't too difficult.
166 The \q{Solve} command adds the solved state to the end of the undo
167 chain for the puzzle. In other words, if you want to go back to
168 solving it yourself after seeing the answer, you can just press Undo.
172 \dt \I{exit}\ii\e{Quit} (\q{Q}, Ctrl+\q{Q})
174 \dd Closes the application entirely.
176 \H{common-id} Specifying games with the \ii{game ID}
178 There are two ways to save a game specification out of a puzzle and
179 recreate it later, or recreate it in somebody else's copy of the
180 same puzzle.
182 The \q{\i{Specific}} and \q{\i{Random Seed}} options from the
183 \I{Game menu}\q{Game} menu (or the \q{File} menu, on \i{Mac OS X}) each
184 show a piece of text (a \q{game ID}) which is sufficient to
185 reconstruct precisely the same game at a later date.
187 You can enter either of these pieces of text back into the program
188 (via the same \q{Specific} or \q{Random Seed} menu options) at a
189 later point, and it will recreate the same game. You can also use
190 either one as a \i{command line} argument (on Windows or Unix); see
191 \k{common-cmdline} for more detail.
193 The difference between the two forms is that a descriptive game ID
194 is a literal \e{description} of the \i{initial state} of the game,
195 whereas a random seed is just a piece of arbitrary text which was
196 provided as input to the random number generator used to create the
197 puzzle. This means that:
199 \b Descriptive game IDs tend to be longer in many puzzles (although
200 some, such as Cube (\k{cube}), only need very short descriptions).
201 So a random seed is often a \e{quicker} way to note down the puzzle
202 you're currently playing, or to tell it to somebody else so they can
203 play the same one as you.
205 \b Any text at all is a valid random seed. The automatically
206 generated ones are fifteen-digit numbers, but anything will do; you
207 can type in your full name, or a word you just made up, and a valid
208 puzzle will be generated from it. This provides a way for two or
209 more people to race to complete the same puzzle: you think of a
210 random seed, then everybody types it in at the same time, and nobody
211 has an advantage due to having seen the generated puzzle before
212 anybody else.
214 \b It is often possible to convert puzzles from other sources (such
215 as \q{nonograms} or \q{sudoku} from newspapers) into descriptive
216 game IDs suitable for use with these programs.
218 \b Random seeds are not guaranteed to produce the same result if you
219 use them with a different \i\e{version} of the puzzle program. This
220 is because the generation algorithm might have been improved or
221 modified in later versions of the code, and will therefore produce a
222 different result when given the same sequence of random numbers. Use
223 a descriptive game ID if you aren't sure that it will be used on the
224 same version of the program as yours.
226 \lcont{(Use the \q{About} menu option to find out the version number
227 of the program. Programs with the same version number running on
228 different platforms should still be random-seed compatible.)}
230 \I{ID format}A descriptive game ID starts with a piece of text which
231 encodes the \i\e{parameters} of the current game (such as grid
232 size). Then there is a colon, and after that is the description of
233 the game's initial state. A random seed starts with a similar string
234 of parameters, but then it contains a hash sign followed by
235 arbitrary data.
237 If you enter a descriptive game ID, the program will not be able to
238 show you the random seed which generated it, since it wasn't
239 generated \e{from} a random seed. If you \e{enter} a random seed,
240 however, the program will be able to show you the descriptive game
241 ID derived from that random seed.
243 Note that the game parameter strings are not always identical
244 between the two forms. For some games, there will be parameter data
245 provided with the random seed which is not included in the
246 descriptive game ID. This is because that parameter information is
247 only relevant when \e{generating} puzzle grids, and is not important
248 when playing them. Thus, for example, the difficulty level in Solo
249 (\k{solo}) is not mentioned in the descriptive game ID.
251 These additional parameters are also not set permanently if you type
252 in a game ID. For example, suppose you have Solo set to \q{Advanced}
253 difficulty level, and then a friend wants your help with a
254 \q{Trivial} puzzle; so the friend reads out a random seed specifying
255 \q{Trivial} difficulty, and you type it in. The program will
256 generate you the same \q{Trivial} grid which your friend was having
257 trouble with, but once you have finished playing it, when you ask
258 for a new game it will automatically go back to the \q{Advanced}
259 difficulty which it was previously set on.
261 \H{common-type} The \q{Type} menu
263 The \I{Type menu}\q{Type} menu, if present, may contain a list of
264 \i{preset} game settings. Selecting one of these will start a new
265 random game with the parameters specified.
267 The \q{Type} menu may also contain a \q{\i{Custom}} option which
268 allows you to fine-tune game \i{parameters}. The parameters
269 available are specific to each game and are described in the
270 following sections.
272 \H{common-cmdline} Specifying game parameters on the \i{command line}
274 (This section does not apply to the \i{Mac OS X} version.)
276 The games in this collection deliberately do not ever save
277 information on to the computer they run on: they have no high score
278 tables and no saved preferences. (This is because I expect at least
279 some people to play them at work, and those people will probably
280 appreciate leaving as little evidence as possible!)
282 However, if you do want to arrange for one of these games to
283 \I{default parameters, specifying}default to a particular set of
284 parameters, you can specify them on the command line.
286 The easiest way to do this is to set up the parameters you want
287 using the \q{Type} menu (see \k{common-type}), and then to select
288 \q{Random Seed} from the \q{Game} or \q{File} menu (see
289 \k{common-id}). The text in the \q{Game ID} box will be composed of
290 two parts, separated by a hash. The first of these parts represents
291 the game parameters (the size of the playing area, for example, and
292 anything else you set using the \q{Type} menu).
294 If you run the game with just that parameter text on the command
295 line, it will start up with the settings you specified.
297 For example: if you run Cube (see \k{cube}), select \q{Octahedron}
298 from the \q{Type} menu, and then go to the game ID selection, you
299 will see a string of the form \cq{o2x2#338686542711620}. Take only
300 the part before the hash (\cq{o2x2}), and start Cube with that text
301 on the command line: \cq{cube o2x2}.
303 If you copy the \e{entire} game ID on to the command line, the game
304 will start up in the specific game that was described. This is
305 occasionally a more convenient way to start a particular game ID
306 than by pasting it into the game ID selection box.
308 (You could also retrieve the encoded game parameters using the
309 \q{Specific} menu option instead of \q{Random Seed}, but if you do
310 then some options, such as the difficulty level in Solo, will be
311 missing. See \k{common-id} for more details on this.)
313 \H{common-unix-cmdline} \i{Unix} \i{command-line} options
315 (This section only applies to the Unix port.)
317 In addition to being able to specify game parameters on the command
318 line (see \k{common-cmdline}), there are various other options:
320 \dt \cw{--game}
322 \dt \cw{--load}
324 \dd These options respectively determine whether the command-line
325 argument is treated as specifying game parameters or a \i{save} file
326 to \i{load}. Only one should be specified. If neither of these options
327 is specified, a guess is made based on the format of the argument.
329 \dt \cw{--generate }\e{n}
331 \dd If this option is specified, instead of a puzzle being displayed,
332 a number of descriptive game IDs will be \I{generating game IDs}invented
333 and printed on standard output. This is useful for gaining access to
334 the game generation algorithms without necessarily using the frontend.
336 \lcont{
338 If game parameters are specified on the command-line, they will be
339 used to generate the game IDs; otherwise a default set of parameters
340 will be used.
342 The most common use of this option is in conjunction with \c{--print},
343 in which case its behaviour is slightly different; see below.
347 \dt \I{printing, on Unix}\cw{--print }\e{w}\cw{x}\e{h}
349 \dd If this option is specified, instead of a puzzle being displayed,
350 a printed representation of one or more unsolved puzzles is sent to
351 standard output, in \i{PostScript} format.
353 \lcont{
355 On each page of puzzles, there will be \e{w} across and \e{h} down. If
356 there are more puzzles than \e{w}\by\e{h}, more than one page will be
357 printed.
359 If \c{--generate} has also been specified, the invented game IDs will
360 be used to generate the printed output. Otherwise, a list of game IDs
361 is expected on standard input (which can be descriptive or random
362 seeds; see \k{common-id}), in the same format produced by
363 \c{--generate}.
365 For example:
367 \c net --generate 12 --print 2x3 7x7w | lpr
369 will generate two pages of printed Net puzzles (each of which will
370 have a 7\by\.7 wrapping grid), and pipe the output to the \c{lpr}
371 command, which on many systems will send them to an actual printer.
373 There are various other options which affect printing; see below.
377 \dt \cw{--save }\e{file-prefix} [ \cw{--save-suffix }\e{file-suffix} ]
379 \dd If this option is specified, instead of a puzzle being
380 displayed, saved-game files for one or more unsolved puzzles are
381 written to files constructed from the supplied prefix and/or suffix.
383 \lcont{
385 If \c{--generate} has also been specified, the invented game IDs will
386 be used to generate the printed output. Otherwise, a list of game IDs
387 is expected on standard input (which can be descriptive or random
388 seeds; see \k{common-id}), in the same format produced by
389 \c{--generate}.
391 For example:
393 \c net --generate 12 --save game --save-suffix .sav
395 will generate twelve Net saved-game files with the names
396 \cw{game0.sav} to \cw{game11.sav}.
400 \dt \cw{--version}
402 \dd Prints version information about the game, and then quits.
404 The following options are only meaningful if \c{--print} is also
405 specified:
407 \dt \cw{--with-solutions}
409 \dd The set of pages filled with unsolved puzzles will be followed by
410 the solutions to those puzzles.
412 \dt \cw{--scale }\e{n}
414 \dd Adjusts how big each puzzle is when printed. Larger numbers make
415 puzzles bigger; the default is 1.0.
417 \dt \cw{--colour}
419 \dd Puzzles will be printed in colour, rather than in black and white
420 (if supported by the puzzle).
423 \C{net} \i{Net}
425 \cfg{winhelp-topic}{games.net}
427 (\e{Note:} the \i{Windows} version of this game is called
428 \i\cw{NETGAME.EXE} to avoid clashing with Windows's own \cw{NET.EXE}.)
430 I originally saw this in the form of a Flash game called \i{FreeNet}
431 \k{FreeNet}, written by Pavils Jurjans; there are several other
432 implementations under the name \i{NetWalk}. The computer prepares a
433 network by connecting up the centres of squares in a grid, and then
434 shuffles the network by rotating every tile randomly. Your job is to
435 rotate it all back into place. The successful solution will be an
436 entirely connected network, with no closed loops. \#{The latter
437 clause means that there are no closed paths within the network.
438 Could this be clearer? "No closed paths"?} As a visual aid,
439 all tiles which are connected to the one in the middle are
440 highlighted. 
442 \B{FreeNet} \W{http://www.jurjans.lv/stuff/net/FreeNet.htm}\cw{http://www.jurjans.lv/stuff/net/FreeNet.htm}
444 \H{net-controls} \i{Net controls}
446 \IM{Net controls} controls, for Net
447 \IM{Net controls} keys, for Net
448 \IM{Net controls} shortcuts (keyboard), for Net
450 This game can be played with either the keyboard or the mouse. The
451 controls are:
453 \dt \e{Select tile}: mouse pointer, arrow keys
455 \dt \e{Rotate tile anticlockwise}: left mouse button, \q{A} key
457 \dt \e{Rotate tile clockwise}: right mouse button, \q{D} key
459 \dt \e{Rotate tile by 180 degrees}: \q{F} key
461 \dt \e{Lock (or unlock) tile}: middle mouse button, shift-click, \q{S} key
463 \dd You can lock a tile once you're sure of its orientation. You can
464 also unlock it again, but while it's locked you can't accidentally
465 turn it.
467 The following controls are not necessary to complete the game, but may
468 be useful:
470 \dt \e{Shift grid}: Shift + arrow keys
472 \dd On grids that wrap, you can move the origin of the grid, so that
473 tiles that were on opposite sides of the grid can be seen together.
475 \dt \e{Move centre}: Ctrl + arrow keys
477 \dd You can change which tile is used as the source of highlighting.
478 (It doesn't ultimately matter which tile this is, as every tile will
479 be connected to every other tile in a correct solution, but it may be
480 helpful in the intermediate stages of solving the puzzle.)
482 \dt \e{Jumble tiles}: \q{J} key
484 \dd This key turns all tiles that are not locked to random
485 orientations.
487 (All the actions described in \k{common-actions} are also available.)
489 \H{net-params} \I{parameters, for Net}Net parameters
491 These parameters are available from the \q{Custom...} option on the
492 \q{Type} menu.
494 \dt \e{Width}, \e{Height}
496 \dd Size of grid in tiles.
498 \dt \e{Walls wrap around}
500 \dd If checked, flow can pass from the left edge to the right edge,
501 and from top to bottom, and vice versa.
503 \dt \e{Barrier probability}
505 \dd A number between 0.0 and 1.0 controlling whether an immovable
506 barrier is placed between two tiles to prevent flow between them (a
507 higher number gives more barriers). Since barriers are immovable, they
508 act as constraints on the solution (i.e., hints).
510 \lcont{
512 The grid generation in Net has been carefully arranged so that the
513 barriers are independent of the rest of the grid. This means that if
514 you note down the random seed used to generate the current puzzle
515 (see \k{common-id}), change the \e{Barrier probability} parameter,
516 and then re-enter the same random seed, you should see exactly the
517 same starting grid, with the only change being the number of
518 barriers. So if you're stuck on a particular grid and need a hint,
519 you could start up another instance of Net, set up the same
520 parameters but a higher barrier probability, and enter the game seed
521 from the original Net window.
525 \dt \e{Ensure unique solution}
527 \dd Normally, Net will make sure that the puzzles it presents have
528 only one solution. Puzzles with ambiguous sections can be more
529 difficult and more subtle, so if you like you can turn off this
530 feature and risk having ambiguous puzzles. (Also, finding \e{all}
531 the possible solutions can be an additional challenge for an
532 advanced player.)
535 \C{cube} \i{Cube}
537 \cfg{winhelp-topic}{games.cube}
539 This is another one I originally saw as a web game. This one was a
540 Java game \k{cube-java-game}, by Paul Scott. You have a grid of 16
541 squares, six of which are blue; on one square rests a cube. Your move
542 is to use the arrow keys to roll the cube through 90 degrees so that
543 it moves to an adjacent square. If you roll the cube on to a blue
544 square, the blue square is picked up on one face of the cube; if you
545 roll a blue face of the cube on to a non-blue square, the blueness is
546 put down again. (In general, whenever you roll the cube, the two faces
547 that come into contact swap colours.) Your job is to get all six blue
548 squares on to the six faces of the cube at the same time. Count your
549 moves and try to do it in as few as possible. 
551 Unlike the original Java game, my version has an additional feature:
552 once you've mastered the game with a cube rolling on a square grid,
553 you can change to a triangular grid and roll any of a tetrahedron, an
554 octahedron or an icosahedron. 
556 \B{cube-java-game} \W{http://www3.sympatico.ca/paulscott/cube/cube.htm}\cw{http://www3.sympatico.ca/paulscott/cube/cube.htm}
558 \H{cube-controls} \i{Cube controls}
560 \IM{Cube controls} controls, for Cube
561 \IM{Cube controls} keys, for Cube
562 \IM{Cube controls} shortcuts (keyboard), for Cube
564 This game can be played with either the keyboard or the mouse.
566 Left-clicking anywhere on the window will move the cube (or other
567 solid) towards the mouse pointer.
569 The arrow keys can also used to roll the cube on its square grid in
570 the four cardinal directions.
571 On the triangular grids, the mapping of arrow keys to directions is
572 more approximate. Vertical movement is disallowed where it doesn't
573 make sense. The four keys surrounding the arrow keys on the numeric
574 keypad (\q{7}, \q{9}, \q{1}, \q{3}) can be used for diagonal movement.
576 (All the actions described in \k{common-actions} are also available.)
578 \H{cube-params} \I{parameters, for Cube}Cube parameters
580 These parameters are available from the \q{Custom...} option on the
581 \q{Type} menu.
583 \dt \e{Type of solid}
585 \dd Selects the solid to roll (and hence the shape of the grid):
586 tetrahedron, cube, octahedron, or icosahedron.
588 \dt \e{Width / top}, \e{Height / bottom}
590 \dd On a square grid, horizontal and vertical dimensions. On a
591 triangular grid, the number of triangles on the top and bottom rows
592 respectively.
595 \C{fifteen} \i{Fifteen}
597 \cfg{winhelp-topic}{games.fifteen}
599 The old ones are the best: this is the good old \q{\i{15-puzzle}}
600 with sliding tiles. You have a 4\by\.4 square grid; 15 squares
601 contain numbered tiles, and the sixteenth is empty. Your move is to
602 choose a tile next to the empty space, and slide it into the space.
603 The aim is to end up with the tiles in numerical order, with the
604 space in the bottom right (so that the top row reads 1,2,3,4 and the
605 bottom row reads 13,14,15,\e{space}).
607 \H{fifteen-controls} \i{Fifteen controls}
609 \IM{Fifteen controls} controls, for Fifteen
610 \IM{Fifteen controls} keys, for Fifteen
611 \IM{Fifteen controls} shortcuts (keyboard), for Fifteen
613 This game can be controlled with the mouse or the keyboard.
615 A left-click with the mouse in the row or column containing the empty
616 space will move as many tiles as necessary to move the space to the
617 mouse pointer.
619 The arrow keys will move a tile adjacent to the space in the direction
620 indicated (moving the space in the \e{opposite} direction).
622 (All the actions described in \k{common-actions} are also available.)
624 \H{fifteen-params} \I{parameters, for Fifteen}Fifteen parameters
626 The only options available from the \q{Custom...} option on the \q{Type}
627 menu are \e{Width} and \e{Height}, which are self-explanatory. (Once
628 you've changed these, it's not a \q{15-puzzle} any more, of course!)
631 \C{sixteen} \i{Sixteen}
633 \cfg{winhelp-topic}{games.sixteen}
635 Another sliding tile puzzle, visually similar to Fifteen (see
636 \k{fifteen}) but with a different type of move. This time, there is no
637 hole: all 16 squares on the grid contain numbered squares. Your move
638 is to shift an entire row left or right, or shift an entire column up
639 or down; every time you do that, the tile you shift off the grid
640 re-appears at the other end of the same row, in the space you just
641 vacated. To win, arrange the tiles into numerical order (1,2,3,4 on
642 the top row, 13,14,15,16 on the bottom). When you've done that, try
643 playing on different sizes of grid. 
645 I \e{might} have invented this game myself, though only by accident if
646 so (and I'm sure other people have independently invented it). I
647 thought I was imitating a screensaver I'd seen, but I have a feeling
648 that the screensaver might actually have been a Fifteen-type puzzle
649 rather than this slightly different kind. So this might be the one
650 thing in my puzzle collection which represents creativity on my part
651 rather than just engineering.
653 \H{sixteen-controls} \I{controls, for Sixteen}Sixteen controls
655 Left-clicking on an arrow will move the appropriate row or column in
656 the direction indicated.  Right-clicking will move it in the opposite
657 direction.
659 Alternatively, use the cursor keys to move the position indicator
660 around the edge of the grid, and use the return key to move the
661 row/column in the direction indicated. 
663 (All the actions described in \k{common-actions} are also available.)
665 \H{sixteen-params} \I{parameters, for Sixteen}Sixteen parameters
667 The parameters available from the \q{Custom...} option on the
668 \q{Type} menu are:
670 \b \e{Width} and \e{Height}, which are self-explanatory.
672 \b You can ask for a limited shuffling operation to be performed on
673 the grid. By default, Sixteen will shuffle the grid in such a way
674 that any arrangement is about as probable as any other. You can
675 override this by requesting a precise number of shuffling moves to
676 be performed. Typically your aim is then to determine the precise
677 set of shuffling moves and invert them exactly, so that you answer
678 (say) a four-move shuffle with a four-move solution. Note that the
679 more moves you ask for, the more likely it is that solutions shorter
680 than the target length will turn out to be possible.
683 \C{twiddle} \i{Twiddle}
685 \cfg{winhelp-topic}{games.twiddle}
687 Twiddle is a tile-rearrangement puzzle, visually similar to Sixteen
688 (see \k{sixteen}): you are given a grid of square tiles, each
689 containing a number, and your aim is to arrange the numbers into
690 ascending order.
692 In basic Twiddle, your move is to rotate a square group of four
693 tiles about their common centre. (Orientation is not significant in
694 the basic puzzle, although you can select it.) On more advanced
695 settings, you can rotate a larger square group of tiles.
697 I first saw this type of puzzle in the GameCube game \q{Metroid
698 Prime 2}. In the Main Gyro Chamber in that game, there is a puzzle
699 you solve to unlock a door, which is a special case of Twiddle. I
700 developed this game as a generalisation of that puzzle.
702 \H{twiddle-controls} \I{controls, for Twiddle}Twiddle controls
704 To play Twiddle, click the mouse in the centre of the square group
705 you wish to rotate. In the basic mode, you rotate a 2\by\.2 square,
706 which means you have to click at a corner point where four tiles
707 meet.
709 In more advanced modes you might be rotating 3\by\.3 or even more at
710 a time; if the size of the square is odd then you simply click in
711 the centre tile of the square you want to rotate.
713 Clicking with the left mouse button rotates the group anticlockwise.
714 Clicking with the right button rotates it clockwise.
716 You can also move an outline square around the grid with the cursor
717 keys; the square is the size above (2\by\.2 by default, or larger).
718 Pressing the return key or space bar will rotate the current square
719 anticlockwise or clockwise respectively.
721 (All the actions described in \k{common-actions} are also available.)
723 \H{twiddle-parameters} \I{parameters, for Twiddle}Twiddle parameters
725 Twiddle provides several configuration options via the \q{Custom}
726 option on the \q{Type} menu:
728 \b You can configure the width and height of the puzzle grid.
730 \b You can configure the size of square block that rotates at a time.
732 \b You can ask for every square in the grid to be distinguishable
733 (the default), or you can ask for a simplified puzzle in which there
734 are groups of identical numbers. In the simplified puzzle your aim
735 is just to arrange all the 1s into the first row, all the 2s into
736 the second row, and so on.
738 \b You can configure whether the orientation of tiles matters. If
739 you ask for an orientable puzzle, each tile will have a triangle
740 drawn in it. All the triangles must be pointing upwards to complete
741 the puzzle.
743 \b You can ask for a limited shuffling operation to be performed on
744 the grid. By default, Twiddle will shuffle the grid so much that any
745 arrangement is about as probable as any other. You can override this
746 by requesting a precise number of shuffling moves to be performed.
747 Typically your aim is then to determine the precise set of shuffling
748 moves and invert them exactly, so that you answer (say) a four-move
749 shuffle with a four-move solution. Note that the more moves you ask
750 for, the more likely it is that solutions shorter than the target
751 length will turn out to be possible.
754 \C{rectangles} \i{Rectangles}
756 \cfg{winhelp-topic}{games.rectangles}
758 You have a grid of squares, with numbers written in some (but not all)
759 of the squares. Your task is to subdivide the grid into rectangles of
760 various sizes, such that (a) every rectangle contains exactly one
761 numbered square, and (b) the area of each rectangle is equal to the
762 number written in its numbered square.
764 Credit for this game goes to the Japanese puzzle magazine \i{Nikoli}
765 \k{nikoli-rect}; I've also seen a Palm implementation at \i{Puzzle
766 Palace} \k{puzzle-palace-rect}. Unlike Puzzle Palace's
767 implementation, my version automatically generates random grids of
768 any size you like. The quality of puzzle design is therefore not
769 quite as good as hand-crafted puzzles would be, but on the plus side
770 you get an inexhaustible supply of puzzles tailored to your own
771 specification.
773 \B{nikoli-rect} \W{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}\cw{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}
775 \B{puzzle-palace-rect} \W{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}\cw{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}
777 \H{rectangles-controls} \I{controls, for Rectangles}Rectangles controls
779 This game is played with the mouse or cursor keys.
781 Left-click any edge to toggle it on or off, or left-click and drag to draw
782 an entire rectangle (or line) on the grid in one go (removing any existing
783 edges within that rectangle). Right-clicking and dragging will allow you
784 to erase the contents of a rectangle without affecting its edges. 
786 Alternatively, use the cursor keys to move the position indicator
787 around the board. Pressing the return key then allows you to use the
788 cursor keys to drag a rectangle out from that position, and pressing
789 the return key again completes the rectangle. Using the space bar
790 instead of the return key allows you to erase the contents of a
791 rectangle without affecting its edges, as above.
793 When a rectangle of the correct size is completed, it will be shaded.
795 (All the actions described in \k{common-actions} are also available.)
797 \H{rectangles-params} \I{parameters, for Rectangles}Rectangles parameters
799 These parameters are available from the \q{Custom...} option on the
800 \q{Type} menu.
802 \dt \e{Width}, \e{Height}
804 \dd Size of grid, in squares.
806 \dt \e{Expansion factor}
808 \dd This is a mechanism for changing the type of grids generated by
809 the program. Some people prefer a grid containing a few large
810 rectangles to one containing many small ones. So you can ask
811 Rectangles to essentially generate a \e{smaller} grid than the size
812 you specified, and then to expand it by adding rows and columns.
814 \lcont{
816 The default expansion factor of zero means that Rectangles will
817 simply generate a grid of the size you ask for, and do nothing
818 further. If you set an expansion factor of (say) 0.5, it means that
819 each dimension of the grid will be expanded to half again as big
820 after generation. In other words, the initial grid will be 2/3 the
821 size in each dimension, and will be expanded to its full size
822 without adding any more rectangles.
824 Setting an expansion factor of around 0.5 tends to make the game
825 more difficult, and also (in my experience) rewards a less deductive
826 and more intuitive playing style. If you set it \e{too} high,
827 though, the game simply cannot generate more than a few rectangles
828 to cover the entire grid, and the game becomes trivial.
832 \dt \e{Ensure unique solution}
834 \dd Normally, Rectangles will make sure that the puzzles it presents
835 have only one solution. Puzzles with ambiguous sections can be more
836 difficult and more subtle, so if you like you can turn off this
837 feature and risk having ambiguous puzzles. Also, finding \e{all} the
838 possible solutions can be an additional challenge for an advanced
839 player. Turning off this option can also speed up puzzle generation.
842 \C{netslide} \i{Netslide}
844 \cfg{winhelp-topic}{games.netslide}
846 This game combines the grid generation of Net (see \k{net}) with the
847 movement of Sixteen (see \k{sixteen}): you have a Net grid, but
848 instead of rotating tiles back into place you have to slide them
849 into place by moving a whole row at a time. 
851 As in Sixteen, \I{controls, for Netslide}control is with the mouse or
852 cursor keys. See \k{sixteen-controls}.
854 \I{parameters, for Netslide}The available game parameters have similar
855 meanings to those in Net (see \k{net-params}) and Sixteen (see
856 \k{sixteen-params}).
858 Netslide was contributed to this collection by Richard Boulton.
861 \C{pattern} \i{Pattern}
863 \cfg{winhelp-topic}{games.pattern}
865 You have a grid of squares, which must all be filled in either black
866 or white. Beside each row of the grid are listed the lengths of the
867 runs of black squares on that row; above each column are listed the
868 lengths of the runs of black squares in that column. Your aim is to
869 fill in the entire grid black or white.
871 I first saw this puzzle form around 1995, under the name
872 \q{\i{nonograms}}. I've seen it in various places since then, under
873 different names.
875 Normally, puzzles of this type turn out to be a meaningful picture
876 of something once you've solved them. However, since this version
877 generates the puzzles automatically, they will just look like random
878 groupings of squares. (One user has suggested that this is actually
879 a \e{good} thing, since it prevents you from guessing the colour of
880 squares based on the picture, and forces you to use logic instead.)
881 The advantage, though, is that you never run out of them.
883 \H{pattern-controls} \I{controls, for Pattern}Pattern controls
885 This game is played with the mouse.
887 Left-click in a square to colour it black. Right-click to colour it
888 white. If you make a mistake, you can middle-click, or hold down
889 Shift while clicking with any button, to colour the square in the
890 default grey (meaning \q{undecided}) again.
892 You can click and drag with the left or right mouse button to colour
893 a vertical or horizontal line of squares black or white at a time
894 (respectively). If you click and drag with the middle button, or
895 with Shift held down, you can colour a whole rectangle of squares
896 grey.
898 You can also move around the grid with the cursor keys. Pressing the
899 return key will cycle the current cell through empty, then black, then
900 white, then empty, and the space bar does the same cycle in reverse.
902 (All the actions described in \k{common-actions} are also available.)
904 \H{pattern-parameters} \I{parameters, for Pattern}Pattern parameters
906 The only options available from the \q{Custom...} option on the \q{Type}
907 menu are \e{Width} and \e{Height}, which are self-explanatory.
910 \C{solo} \i{Solo}
912 \cfg{winhelp-topic}{games.solo}
914 You have a square grid, which is divided into as many equally sized
915 sub-blocks as the grid has rows. Each square must be filled in with
916 a digit from 1 to the size of the grid, in such a way that
918 \b every row contains only one occurrence of each digit
920 \b every column contains only one occurrence of each digit
922 \b every block contains only one occurrence of each digit.
924 \b (optionally, by default off) each of the square's two main
925 diagonals contains only one occurrence of each digit.
927 You are given some of the numbers as clues; your aim is to place the
928 rest of the numbers correctly.
930 Under the default settings, the sub-blocks are square or
931 rectangular. The default puzzle size is 3\by\.3 (a 9\by\.9 actual
932 grid, divided into nine 3\by\.3 blocks). You can also select sizes
933 with rectangular blocks instead of square ones, such as 2\by\.3 (a
934 6\by\.6 grid divided into six 3\by\.2 blocks). Alternatively, you
935 can select \q{jigsaw} mode, in which the sub-blocks are arbitrary
936 shapes which differ between individual puzzles.
938 Another available mode is \q{killer}. In this mode, clues are not
939 given in the form of filled-in squares; instead, the grid is divided
940 into \q{cages} by coloured lines, and for each cage the game tells
941 you what the sum of all the digits in that cage should be. Also, no
942 digit may appear more than once within a cage, even if the cage
943 crosses the boundaries of existing regions.
945 If you select a puzzle size which requires more than 9 digits, the
946 additional digits will be letters of the alphabet. For example, if
947 you select 3\by\.4 then the digits which go in your grid will be 1
948 to 9, plus \cq{a}, \cq{b} and \cq{c}. This cannot be selected for
949 killer puzzles.
951 I first saw this puzzle in \i{Nikoli} \k{nikoli-solo}, although it's
952 also been popularised by various newspapers under the name
953 \q{Sudoku} or \q{Su Doku}.  Howard Garns is considered the inventor
954 of the modern form of the puzzle, and it was first published in
955 \e{Dell Pencil Puzzles and Word Games}.  A more elaborate treatment
956 of the history of the puzzle can be found on Wikipedia
957 \k{wikipedia-solo}.
959 \B{nikoli-solo} \W{http://www.nikoli.co.jp/puzzles/1/index_text-e.htm}\cw{http://www.nikoli.co.jp/puzzles/1/index_text-e.htm}
961 \B{wikipedia-solo} \W{http://en.wikipedia.org/wiki/Sudoku}\cw{http://en.wikipedia.org/wiki/Sudoku}
963 \H{solo-controls} \I{controls, for Solo}Solo controls
965 To play Solo, simply click the mouse in any empty square and then
966 type a digit or letter on the keyboard to fill that square. If you
967 make a mistake, click the mouse in the incorrect square and press
968 Space to clear it again (or use the Undo feature).
970 If you \e{right}-click in a square and then type a number, that
971 number will be entered in the square as a \q{pencil mark}. You can
972 have pencil marks for multiple numbers in the same square. Squares
973 containing filled-in numbers cannot also contain pencil marks.
975 The game pays no attention to pencil marks, so exactly what you use
976 them for is up to you: you can use them as reminders that a
977 particular square needs to be re-examined once you know more about a
978 particular number, or you can use them as lists of the possible
979 numbers in a given square, or anything else you feel like.
981 To erase a single pencil mark, right-click in the square and type
982 the same number again.
984 All pencil marks in a square are erased when you left-click and type
985 a number, or when you left-click and press space. Right-clicking and
986 pressing space will also erase pencil marks.
988 Alternatively, use the cursor keys to move the mark around the grid.
989 Pressing the return key toggles the mark (from a normal mark to a
990 pencil mark), and typing a number in is entered in the square in the
991 appropriate way; typing in a 0 or using the space bar will clear a
992 filled square. 
994 (All the actions described in \k{common-actions} are also available.)
996 \H{solo-parameters} \I{parameters, for Solo}Solo parameters
998 Solo allows you to configure two separate dimensions of the puzzle
999 grid on the \q{Type} menu: the number of columns, and the number of
1000 rows, into which the main grid is divided. (The size of a block is
1001 the inverse of this: for example, if you select 2 columns and 3 rows,
1002 each actual block will have 3 columns and 2 rows.)
1004 If you tick the \q{X} checkbox, Solo will apply the optional extra
1005 constraint that the two main diagonals of the grid also contain one
1006 of every digit. (This is sometimes known as \q{Sudoku-X} in
1007 newspapers.) In this mode, the squares on the two main diagonals
1008 will be shaded slightly so that you know it's enabled.
1010 If you tick the \q{Jigsaw} checkbox, Solo will generate randomly
1011 shaped sub-blocks. In this mode, the actual grid size will be taken
1012 to be the product of the numbers entered in the \q{Columns} and
1013 \q{Rows} boxes. There is no reason why you have to enter a number
1014 greater than 1 in both boxes; Jigsaw mode has no constraint on the
1015 grid size, and it can even be a prime number if you feel like it.
1017 If you tick the \q{Killer} checkbox, Solo will generate a set of
1018 of cages, which are randomly shaped and drawn in an outline of a
1019 different colour.  Each of these regions contains a smaller clue
1020 which shows the digit sum of all the squares in this region.
1022 You can also configure the type of symmetry shown in the generated
1023 puzzles. More symmetry makes the puzzles look prettier but may also
1024 make them easier, since the symmetry constraints can force more
1025 clues than necessary to be present. Completely asymmetric puzzles
1026 have the freedom to contain as few clues as possible.
1028 Finally, you can configure the difficulty of the generated puzzles.
1029 Difficulty levels are judged by the complexity of the techniques of
1030 deduction required to solve the puzzle: each level requires a mode
1031 of reasoning which was not necessary in the previous one. In
1032 particular, on difficulty levels \q{Trivial} and \q{Basic} there
1033 will be a square you can fill in with a single number at all times,
1034 whereas at \q{Intermediate} level and beyond you will have to make
1035 partial deductions about the \e{set} of squares a number could be in
1036 (or the set of numbers that could be in a square).
1037 \#{Advanced, Extreme?}
1038 At \q{Unreasonable} level, even this is not enough, and you will
1039 eventually have to make a guess, and then backtrack if it turns out
1040 to be wrong.
1042 Generating difficult puzzles is itself difficult: if you select one
1043 of the higher difficulty levels, Solo may have to make many attempts
1044 at generating a puzzle before it finds one hard enough for you. Be
1045 prepared to wait, especially if you have also configured a large
1046 puzzle size.
1049 \C{mines} \i{Mines}
1051 \cfg{winhelp-topic}{games.mines}
1053 You have a grid of covered squares, some of which contain mines, but
1054 you don't know which. Your job is to uncover every square which does
1055 \e{not} contain a mine. If you uncover a square containing a mine,
1056 you lose. If you uncover a square which does not contain a mine, you
1057 are told how many mines are contained within the eight surrounding
1058 squares.
1060 This game needs no introduction; popularised by Windows, it is
1061 perhaps the single best known desktop puzzle game in existence.
1063 This version of it has an unusual property. By default, it will
1064 generate its mine positions in such a way as to ensure that you
1065 never need to \e{guess} where a mine is: you will always be able to
1066 deduce it somehow. So you will never, as can happen in other
1067 versions, get to the last four squares and discover that there are
1068 two mines left but you have no way of knowing for sure where they
1069 are.
1071 \H{mines-controls} \I{controls, for Mines}Mines controls
1073 This game is played with the mouse.
1075 If you left-click in a covered square, it will be uncovered.
1077 If you right-click in a covered square, it will place a flag which
1078 indicates that the square is believed to be a mine. Left-clicking in
1079 a marked square will not uncover it, for safety. You can right-click
1080 again to remove a mark placed in error.
1082 If you left-click in an \e{uncovered} square, it will \q{clear
1083 around} the square. This means: if the square has exactly as many
1084 flags surrounding it as it should have mines, then all the covered
1085 squares next to it which are \e{not} flagged will be uncovered. So
1086 once you think you know the location of all the mines around a
1087 square, you can use this function as a shortcut to avoid having to
1088 click on each of the remaining squares one by one.
1090 If you uncover a square which has \e{no} mines in the surrounding
1091 eight squares, then it is obviously safe to uncover those squares in
1092 turn, and so on if any of them also has no surrounding mines. This
1093 will be done for you automatically; so sometimes when you uncover a
1094 square, a whole new area will open up to be explored.
1096 You can also use the cursor keys to move around the minefield.
1097 Pressing the return key in a covered square uncovers it, and in an
1098 uncovered square will clear around it (so it acts as the left button),
1099 pressing the space bar in a covered square will place a flag
1100 (similarly, it acts as the right button).
1102 All the actions described in \k{common-actions} are also available.
1104 Even Undo is available, although you might consider it cheating to
1105 use it. If you step on a mine, the program will only reveal the mine
1106 in question (unlike most other implementations, which reveal all of
1107 them). You can then Undo your fatal move and continue playing if you
1108 like. The program will track the number of times you died (and Undo
1109 will not reduce that counter), so when you get to the end of the
1110 game you know whether or not you did it without making any errors.
1112 (If you really want to know the full layout of the grid, which other
1113 implementations will show you after you die, you can always use the
1114 Solve menu option.)
1116 \H{mines-parameters} \I{parameters, for Mines}Mines parameters
1118 The options available from the \q{Custom...} option on the \q{Type}
1119 menu are:
1121 \dt \e{Width}, \e{Height}
1123 \dd Size of grid in squares.
1125 \dt \e{Mines}
1127 \dd Number of mines in the grid. You can enter this as an absolute
1128 mine count, or alternatively you can put a \cw{%} sign on the end in
1129 which case the game will arrange for that proportion of the squares
1130 in the grid to be mines.
1132 \lcont{
1134 Beware of setting the mine count too high. At very high densities,
1135 the program may spend forever searching for a solvable grid.
1139 \dt \e{Ensure solubility}
1141 \dd When this option is enabled (as it is by default), Mines will
1142 ensure that the entire grid can be fully deduced starting from the
1143 initial open space. If you prefer the riskier grids generated by
1144 other implementations, you can switch off this option.
1147 \C{samegame} \i{Same Game}
1149 \cfg{winhelp-topic}{games.samegame}
1151 You have a grid of coloured squares, which you have to clear by 
1152 highlighting contiguous regions of more than one coloured square;
1153 the larger the region you highlight, the more points you get (and
1154 the faster you clear the arena).
1156 If you clear the grid you win. If you end up with nothing but 
1157 single squares (i.e., there are no more clickable regions left) you
1158 lose.
1160 Removing a region causes the rest of the grid to shuffle up:
1161 blocks that are suspended will fall down (first), and then empty
1162 columns are filled from the right. 
1164 Same Game was contributed to this collection by James Harvey.
1166 \H{samegame-controls} \i{Same Game controls}
1168 \IM{Same Game controls} controls, for Same Game
1169 \IM{Same Game controls} keys, for Same Game
1170 \IM{Same Game controls} shortcuts (keyboard), for Same Game
1172 This game can be played with either the keyboard or the mouse.
1174 If you left-click an unselected region, it becomes selected (possibly
1175 clearing the current selection). 
1177 If you left-click the selected region, it will be removed (and the
1178 rest of the grid shuffled immediately).
1180 If you right-click the selected region, it will be unselected. 
1182 The cursor keys move a cursor around the grid. Pressing the Space or
1183 Enter keys while the cursor is in an unselected region selects it;
1184 pressing Space or Enter again removes it as above.
1186 (All the actions described in \k{common-actions} are also available.)
1188 \H{samegame-parameters} \I{parameters, for Same Game}Same Game parameters
1190 These parameters are available from the \q{Custom...} option on the
1191 \q{Type} menu.
1193 \dt \e{Width}, \e{Height}
1195 \dd Size of grid in squares.
1197 \dt \e{No. of colours}
1199 \dd Number of different colours used to fill the grid; the more colours,
1200 the fewer large regions of colour and thus the more difficult it is to
1201 successfully clear the grid.
1203 \dt \e{Scoring system}
1205 \dd Controls the precise mechanism used for scoring. With the default
1206 system, \q{(n-2)^2}, only regions of three squares or more will score
1207 any points at all. With the alternative \q{(n-1)^2} system, regions of
1208 two squares score a point each, and larger regions score relatively
1209 more points.
1211 \dt \e{Ensure solubility}
1213 \dd If this option is ticked (the default state), generated grids
1214 will be guaranteed to have at least one solution.
1216 \lcont{
1218 If you turn it off, the game generator will not try to guarantee
1219 soluble grids; it will, however, still ensure that there are at
1220 least 2 squares of each colour on the grid at the start (since a
1221 grid with exactly one square of a given colour is \e{definitely}
1222 insoluble). Grids generated with this option disabled may contain
1223 more large areas of contiguous colour, leading to opportunities for
1224 higher scores; they can also take less time to generate.
1229 \C{flip} \i{Flip}
1231 \cfg{winhelp-topic}{games.flip}
1233 You have a grid of squares, some light and some dark. Your aim is to
1234 light all the squares up at the same time. You can choose any square
1235 and flip its state from light to dark or dark to light, but when you
1236 do so, other squares around it change state as well.
1238 Each square contains a small diagram showing which other squares
1239 change when you flip it.
1241 \H{flip-controls} \i{Flip controls}
1243 \IM{Flip controls} controls, for Flip
1244 \IM{Flip controls} keys, for Flip
1245 \IM{Flip controls} shortcuts (keyboard), for Flip
1247 This game can be played with either the keyboard or the mouse.
1249 Left-click in a square to flip it and its associated squares, or
1250 use the cursor keys to choose a square and the space bar or Enter
1251 key to flip.
1253 If you use the \q{Solve} function on this game, it will mark some of
1254 the squares in red. If you click once in every square with a red
1255 mark, the game should be solved. (If you click in a square
1256 \e{without} a red mark, a red mark will appear in it to indicate
1257 that you will need to reverse that operation to reach the solution.)
1259 (All the actions described in \k{common-actions} are also available.)
1261 \H{flip-parameters} \I{parameters, for flip}Flip parameters
1263 These parameters are available from the \q{Custom...} option on the
1264 \q{Type} menu.
1266 \dt \e{Width}, \e{Height}
1268 \dd Size of grid in squares.
1270 \dt \e{Shape type}
1272 \dd This control determines the shape of the region which is flipped
1273 by clicking in any given square. The default setting, \q{Crosses},
1274 causes every square to flip itself and its four immediate neighbours
1275 (or three or two if it's at an edge or corner). The other setting,
1276 \q{Random}, causes a random shape to be chosen for every square, so
1277 the game is different every time.
1280 \C{guess} \i{Guess}
1282 \cfg{winhelp-topic}{games.guess}
1284 You have a set of coloured pegs, and have to reproduce a
1285 predetermined sequence of them (chosen by the computer) within a
1286 certain number of guesses. 
1288 Each guess gets marked with the number of correctly-coloured pegs
1289 in the correct places (in black), and also the number of
1290 correctly-coloured pegs in the wrong places (in white). 
1292 This game is also known (and marketed, by Hasbro, mainly) as
1293 a board game \q{\i{Mastermind}}, with 6 colours, 4 pegs per row,
1294 and 10 guesses. However, this version allows custom settings of number
1295 of colours (up to 10), number of pegs per row, and number of guesses. 
1297 Guess was contributed to this collection by James Harvey.
1299 \H{guess-controls} \i{Guess controls}
1301 \IM{Guess controls} controls, for Guess
1302 \IM{Guess controls} keys, for Guess
1303 \IM{Guess controls} shortcuts (keyboard), for Guess
1305 This game can be played with either the keyboard or the mouse.
1307 With the mouse, drag a coloured peg from the tray on the left-hand
1308 side to its required position in the current guess; pegs may also be
1309 dragged from current and past guesses to copy them elsewhere. To
1310 remove a peg, drag it off its current position to somewhere invalid.
1312 Right-clicking in the current guess adds a \q{hold} marker; pegs
1313 that have hold markers will be automatically added to the next guess
1314 after marking.
1316 Alternatively, with the keyboard, the up and down cursor keys can be
1317 used to select a peg colour, the left and right keys to select a
1318 peg position, and the space bar or Enter key to place a peg of the
1319 selected colour in the chosen position. \q{D} or Backspace removes a
1320 peg, and \q{H} adds a hold marker.
1322 When the guess is complete, the smaller feedback pegs will be highlighted;
1323 clicking on these (or moving the peg cursor to them with the arrow keys
1324 and pressing the space bar or Enter key) will mark the current guess,
1325 copy any held pegs to the next guess, and move the \q{current guess}
1326 marker.
1328 If you correctly position all the pegs the solution will be displayed
1329 below; if you run out of guesses (or select \q{Solve...}) the solution
1330 will also be revealed.
1332 (All the actions described in \k{common-actions} are also available.)
1334 \H{guess-parameters} \I{parameters, for Guess}Guess parameters
1336 These parameters are available from the \q{Custom...} option on the
1337 \q{Type} menu. The default game matches the parameters for the 
1338 board game \q{Mastermind}. 
1340 \dt \e{Colours}
1342 \dd Number of colours the solution is chosen from; from 2 to 10
1343 (more is harder).
1345 \dt \e{Pegs per guess}
1347 \dd Number of pegs per guess (more is harder).
1349 \dt \e{Guesses}
1351 \dd Number of guesses you have to find the solution in (fewer is harder).
1353 \dt \e{Allow blanks}
1355 \dd Allows blank pegs to be given as part of a guess (makes it easier, because
1356 you know that those will never be counted as part of the solution). This
1357 is turned off by default. 
1359 Note that this doesn't allow blank pegs in the solution; if you really wanted
1360 that, use one extra colour.
1362 \dt \e{Allow duplicates}
1364 \dd Allows the solution (and the guesses) to contain colours more than once;
1365 this increases the search space (making things harder), and is turned on by
1366 default.
1369 \C{pegs} \i{Pegs}
1371 \cfg{winhelp-topic}{games.pegs}
1373 A number of pegs are placed in holes on a board. You can remove a
1374 peg by jumping an adjacent peg over it (horizontally or vertically)
1375 to a vacant hole on the other side. Your aim is to remove all but one
1376 of the pegs initially present.
1378 This game, best known as \I{Solitaire, Peg}\q{Peg Solitaire}, is
1379 possibly one of the oldest puzzle games still commonly known.
1381 \H{pegs-controls} \i{Pegs controls}
1383 \IM{Pegs controls} controls, for Pegs
1385 To move a peg, drag it with the mouse from its current position to
1386 its final position. If the final position is exactly two holes away
1387 from the initial position, is currently unoccupied by a peg, and
1388 there is a peg in the intervening square, the move will be permitted
1389 and the intervening peg will be removed.
1391 Vacant spaces which you can move a peg into are marked with holes. A
1392 space with no peg and no hole is not available for moving at all: it
1393 is an obstacle which you must work around.
1395 You can also use the cursor keys to move a position indicator around
1396 the board. Pressing the return key while over a peg, followed by a
1397 cursor key, will jump the peg in that direction (if that is a legal
1398 move).
1400 (All the actions described in \k{common-actions} are also available.)
1402 \H{pegs-parameters} \I{parameters, for Pegs}Pegs parameters
1404 These parameters are available from the \q{Custom...} option on the
1405 \q{Type} menu.
1407 \dt \e{Width}, \e{Height}
1409 \dd Size of grid in holes.
1411 \dt \e{Board type}
1413 \dd Controls whether you are given a board of a standard shape or a
1414 randomly generated shape. The two standard shapes currently
1415 supported are \q{Cross} and \q{Octagon} (also commonly known as the
1416 English and European traditional board layouts respectively).
1417 Selecting \q{Random} will give you a different board shape every
1418 time (but always one that is known to have a solution).
1421 \C{dominosa} \i{Dominosa}
1423 \cfg{winhelp-topic}{games.dominosa}
1425 A normal set of dominoes \dash that is, one instance of every
1426 (unordered) pair of numbers from 0 to 6 \dash has been arranged
1427 irregularly into a rectangle; then the number in each square has
1428 been written down and the dominoes themselves removed. Your task is
1429 to reconstruct the pattern by arranging the set of dominoes to match
1430 the provided array of numbers.
1432 This puzzle is widely credited to O. S. Adler, and takes part of its
1433 name from those initials.
1435 \H{dominosa-controls} \i{Dominosa controls}
1437 \IM{Dominosa controls} controls, for Dominosa
1439 Left-clicking between any two adjacent numbers places a domino
1440 covering them, or removes one if it is already present. Trying to
1441 place a domino which overlaps existing dominoes will remove the ones
1442 it overlaps.
1444 Right-clicking between two adjacent numbers draws a line between
1445 them, which you can use to remind yourself that you know those two
1446 numbers are \e{not} covered by a single domino. Right-clicking again
1447 removes the line.
1449 You can also use the cursor keys to move a cursor around the grid.
1450 When the cursor is half way between two adjacent numbers, pressing
1451 the return key will place a domino covering those numbers, or
1452 pressing the space bar will lay a line between the two squares.
1453 Repeating either action removes the domino or line.
1455 (All the actions described in \k{common-actions} are also available.)
1457 \H{dominosa-parameters} \I{parameters, for Dominosa}Dominosa parameters
1459 These parameters are available from the \q{Custom...} option on the
1460 \q{Type} menu.
1462 \dt \e{Maximum number on dominoes}
1464 \dd Controls the size of the puzzle, by controlling the size of the
1465 set of dominoes used to make it. Dominoes with numbers going up to N
1466 will give rise to an (N+2) \by (N+1) rectangle; so, in particular,
1467 the default value of 6 gives an 8\by\.7 grid.
1469 \dt \e{Ensure unique solution}
1471 \dd Normally, Dominosa will make sure that the puzzles it presents
1472 have only one solution. Puzzles with ambiguous sections can be more
1473 difficult and sometimes more subtle, so if you like you can turn off
1474 this feature. Also, finding \e{all} the possible solutions can be an
1475 additional challenge for an advanced player. Turning off this option
1476 can also speed up puzzle generation.
1479 \C{untangle} \i{Untangle}
1481 \cfg{winhelp-topic}{games.untangle}
1483 You are given a number of points, some of which have lines drawn
1484 between them. You can move the points about arbitrarily; your aim is
1485 to position the points so that no line crosses another.
1487 I originally saw this in the form of a Flash game called \i{Planarity}
1488 \k{Planarity}, written by John Tantalo.
1490 \B{Planarity} \W{http://home.cwru.edu/~jnt5/Planarity}\cw{http://home.cwru.edu/~jnt5/Planarity}
1492 \H{untangle-controls} \i{Untangle controls}
1494 \IM{Untangle controls} controls, for Untangle
1496 To move a point, click on it with the left mouse button and drag it
1497 into a new position.
1499 (All the actions described in \k{common-actions} are also available.)
1501 \H{untangle-parameters} \I{parameters, for Untangle}Untangle parameters
1503 There is only one parameter available from the \q{Custom...} option
1504 on the \q{Type} menu:
1506 \dt \e{Number of points}
1508 \dd Controls the size of the puzzle, by specifying the number of
1509 points in the generated graph.
1512 \C{blackbox} \i{Black Box}
1514 \cfg{winhelp-topic}{games.blackbox}
1516 A number of balls are hidden in a rectangular arena. You have to
1517 deduce the positions of the balls by firing lasers positioned at
1518 the edges of the arena and observing how their beams are deflected. 
1520 Beams will travel straight from their origin until they hit the
1521 opposite side of the arena (at which point they emerge), unless
1522 affected by balls in one of the following ways:
1524 \b A beam that hits a ball head-on is absorbed and will never
1525    re-emerge. This includes beams that meet a ball on the first rank
1526    of the arena.
1528 \b A beam with a ball to its front-left square gets deflected 90 degrees
1529    to the right.
1531 \b A beam with a ball to its front-right square gets similarly deflected 
1532    to the left. 
1534 \b A beam that would re-emerge from its entry location is considered to be
1535    \q{reflected}. 
1537 \b A beam which would get deflected before entering the arena by a
1538    ball to the front-left or front-right of its entry point is also
1539    considered to be \q{reflected}.
1541 Beams that are reflected appear as a \q{R}; beams that hit balls
1542 head-on appear as \q{H}. Otherwise, a number appears at the firing
1543 point and the location where the beam emerges (this number is unique
1544 to that shot).
1546 You can place guesses as to the location of the balls, based on the
1547 entry and exit patterns of the beams; once you have placed enough
1548 balls a button appears enabling you to have your guesses checked. 
1550 Here is a diagram showing how the positions of balls can create each
1551 of the beam behaviours shown above:
1553 \c  1RHR---- 
1554 \c |..O.O...|
1555 \c 2........3
1556 \c |........|
1557 \c |........|
1558 \c 3........|
1559 \c |......O.|
1560 \c H........|
1561 \c |.....O..|
1562 \c  12-RH---
1564 As shown, it is possible for a beam to receive multiple reflections
1565 before re-emerging (see turn 3). Similarly, a beam may be reflected
1566 (possibly more than once) before receiving a hit (the \q{H} on the
1567 left side of the example).
1569 Note that any layout with more than 4 balls may have a non-unique
1570 solution.  The following diagram illustrates this; if you know the
1571 board contains 5 balls, it is impossible to determine where the fifth
1572 ball is (possible positions marked with an \cw{x}):
1574 \c  -------- 
1575 \c |........|
1576 \c |........|
1577 \c |..O..O..|
1578 \c |...xx...|
1579 \c |...xx...|
1580 \c |..O..O..|
1581 \c |........|
1582 \c |........|
1583 \c  --------
1585 For this reason, when you have your guesses checked, the game will
1586 check that your solution \e{produces the same results} as the
1587 computer's, rather than that your solution is identical to the
1588 computer's. So in the above example, you could put the fifth ball at
1589 \e{any} of the locations marked with an \cw{x}, and you would still
1590 win.
1592 Black Box was contributed to this collection by James Harvey.
1594 \H{blackbox-controls} \i{Black Box controls}
1596 \IM{Black Box controls} controls, for Black Box
1597 \IM{Black Box controls} keys, for Black Box
1598 \IM{Black Box controls} shortcuts (keyboard), for Black Box
1600 To fire a laser beam, left-click in a square around the edge of the
1601 arena. The results will be displayed immediately. Clicking or holding
1602 the left button on one of these squares will highlight the current go
1603 (or a previous go) to confirm the exit point for that laser, if
1604 applicable.
1606 To guess the location of a ball, left-click within the arena and a
1607 black circle will appear marking the guess; click again to remove the
1608 guessed ball.
1610 Locations in the arena may be locked against modification by
1611 right-clicking; whole rows and columns may be similarly locked by
1612 right-clicking in the laser square above/below that column, or to the
1613 left/right of that row.
1615 The cursor keys may also be used to move around the grid. Pressing the
1616 Enter key will fire a laser or add a new ball-location guess, and
1617 pressing Space will lock a cell, row, or column.
1619 When an appropriate number of balls have been guessed, a button will
1620 appear at the top-left corner of the grid; clicking that (with mouse
1621 or cursor) will check your guesses. 
1623 If you click the \q{check} button and your guesses are not correct,
1624 the game will show you the minimum information necessary to
1625 demonstrate this to you, so you can try again. If your ball
1626 positions are not consistent with the beam paths you already know
1627 about, one beam path will be circled to indicate that it proves you
1628 wrong. If your positions match all the existing beam paths but are
1629 still wrong, one new beam path will be revealed (written in red)
1630 which is not consistent with your current guesses.
1632 If you decide to give up completely, you can select Solve to reveal
1633 the actual ball positions. At this point, correctly-placed balls
1634 will be displayed as filled black circles, incorrectly-placed balls
1635 as filled black circles with red crosses, and missing balls as filled
1636 red circles. In addition, a red circle marks any laser you had already
1637 fired which is not consistent with your ball layout (just as when you
1638 press the \q{check} button), and red text marks any laser you
1639 \e{could} have fired in order to distinguish your ball layout from the
1640 correct one.
1642 (All the actions described in \k{common-actions} are also available.)
1644 \H{blackbox-parameters} \I{parameters, for Black Box}Black Box parameters
1646 These parameters are available from the \q{Custom...} option on the
1647 \q{Type} menu.
1649 \dt \e{Width}, \e{Height}
1651 \dd Size of grid in squares. There are 2 \by \e{Width} \by \e{Height} lasers 
1652 per grid, two per row and two per column. 
1654 \dt \e{No. of balls}
1656 \dd Number of balls to place in the grid. This can be a single number,
1657 or a range (separated with a hyphen, like \q{2-6}), and determines the
1658 number of balls to place on the grid. The \q{reveal} button is only
1659 enabled if you have guessed an appropriate number of balls; a guess
1660 using a different number to the original solution is still acceptable,
1661 if all the beam inputs and outputs match.
1664 \C{slant} \i{Slant}
1666 \cfg{winhelp-topic}{games.slant}
1668 You have a grid of squares. Your aim is to draw a diagonal line
1669 through each square, and choose which way each line slants so that
1670 the following conditions are met:
1672 \b The diagonal lines never form a loop.
1674 \b Any point with a circled number has precisely that many lines
1675 meeting at it. (Thus, a 4 is the centre of a cross shape, whereas a
1676 zero is the centre of a diamond shape \dash or rather, a partial
1677 diamond shape, because a zero can never appear in the middle of the
1678 grid because that would immediately cause a loop.)
1680 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-slant}.
1682 \B{nikoli-slant}
1683 \W{http://www.nikoli.co.jp/puzzles/39/index.htm}\cw{http://www.nikoli.co.jp/puzzles/39/index.htm}
1684 (in Japanese)
1686 \H{slant-controls} \i{Slant controls}
1688 \IM{Slant controls} controls, for Slant
1690 Left-clicking in a blank square will place a \cw{\\} in it (a line
1691 leaning to the left, i.e. running from the top left of the square to
1692 the bottom right). Right-clicking in a blank square will place a
1693 \cw{/} in it (leaning to the right, running from top right to bottom
1694 left).
1696 Continuing to click either button will cycle between the three
1697 possible square contents. Thus, if you left-click repeatedly in a
1698 blank square it will change from blank to \cw{\\} to \cw{/} back to
1699 blank, and if you right-click repeatedly the square will change from
1700 blank to \cw{/} to \cw{\\} back to blank. (Therefore, you can play
1701 the game entirely with one button if you need to.)
1703 You can also use the cursor keys to move around the grid. Pressing the
1704 return or space keys will place a \cw{\\} or a \cw{/}, respectively,
1705 and will then cycle them as above.
1707 (All the actions described in \k{common-actions} are also available.)
1709 \H{slant-parameters} \I{parameters, for Slant}Slant parameters
1711 These parameters are available from the \q{Custom...} option on the
1712 \q{Type} menu.
1714 \dt \e{Width}, \e{Height}
1716 \dd Size of grid in squares.
1718 \dt \e{Difficulty}
1720 \dd Controls the difficulty of the generated puzzle. At Hard level,
1721 you are required to do deductions based on knowledge of
1722 \e{relationships} between squares rather than always being able to
1723 deduce the exact contents of one square at a time. (For example, you
1724 might know that two squares slant in the same direction, even if you
1725 don't yet know what that direction is, and this might enable you to
1726 deduce something about still other squares.) Even at Hard level,
1727 guesswork and backtracking should never be necessary.
1730 \C{lightup} \i{Light Up}
1732 \cfg{winhelp-topic}{games.lightup}
1734 You have a grid of squares. Some are filled in black; some of the
1735 black squares are numbered. Your aim is to \q{light up} all the
1736 empty squares by placing light bulbs in some of them.
1738 Each light bulb illuminates the square it is on, plus all squares in
1739 line with it horizontally or vertically unless a black square is
1740 blocking the way.
1742 To win the game, you must satisfy the following conditions:
1744 \b All non-black squares are lit.
1746 \b No light is lit by another light.
1748 \b All numbered black squares have exactly that number of lights adjacent to
1749    them (in the four squares above, below, and to the side).
1751 Non-numbered black squares may have any number of lights adjacent to them. 
1753 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-lightup}.
1755 Light Up was contributed to this collection by James Harvey.
1757 \B{nikoli-lightup}
1758 \W{http://www.nikoli.co.jp/puzzles/32/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/32/index-e.htm}
1759 (beware of Flash)
1761 \H{lightup-controls} \i{Light Up controls}
1763 \IM{Light Up controls} controls, for Light Up
1765 Left-clicking in a non-black square will toggle the presence of a light
1766 in that square. Right-clicking in a non-black square toggles a mark there to aid
1767 solving; it can be used to highlight squares that cannot be lit, for example. 
1769 You may not place a light in a marked square, nor place a mark in a lit square.
1771 The game will highlight obvious errors in red. Lights lit by other
1772 lights are highlighted in this way, as are numbered squares which
1773 do not (or cannot) have the right number of lights next to them.
1774   
1775 Thus, the grid is solved when all non-black squares have yellow
1776 highlights and there are no red lights.
1778 (All the actions described in \k{common-actions} are also available.)
1780 \H{lightup-parameters} \I{parameters, for Light Up}Light Up parameters
1782 These parameters are available from the \q{Custom...} option on the
1783 \q{Type} menu.
1785 \dt \e{Width}, \e{Height}
1787 \dd Size of grid in squares.
1789 \dt \e{%age of black squares}
1791 \dd Rough percentage of black squares in the grid.
1793 \lcont{
1795 This is a hint rather than an instruction. If the grid generator is
1796 unable to generate a puzzle to this precise specification, it will
1797 increase the proportion of black squares until it can.
1801 \dt \e{Symmetry}
1803 \dd Allows you to specify the required symmetry of the black squares
1804 in the grid. (This does not affect the difficulty of the puzzles
1805 noticeably.)
1807 \dt \e{Difficulty}
1809 \dd \q{Easy} means that the puzzles should be soluble without
1810 backtracking or guessing, \q{Hard} means that some guesses will
1811 probably be necessary.
1814 \C{map} \i{Map}
1816 \cfg{winhelp-topic}{games.map}
1818 You are given a map consisting of a number of regions. Your task is
1819 to colour each region with one of four colours, in such a way that
1820 no two regions sharing a boundary have the same colour. You are
1821 provided with some regions already coloured, sufficient to make the
1822 remainder of the solution unique.
1824 Only regions which share a length of border are required to be
1825 different colours. Two regions which meet at only one \e{point}
1826 (i.e. are diagonally separated) may be the same colour.
1828 I believe this puzzle is original; I've never seen an implementation
1829 of it anywhere else. The concept of a \i{four-colouring} puzzle was
1830 suggested by Owen Dunn; credit must also go to Nikoli and to Verity
1831 Allan for inspiring the train of thought that led to me realising
1832 Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor
1833 for many detailed suggestions.
1835 \H{map-controls} \i{Map controls}
1837 \IM{Map controls} controls, for Map
1839 To colour a region, click the left mouse button on an existing
1840 region of the desired colour and drag that colour into the new
1841 region.
1843 (The program will always ensure the starting puzzle has at least one
1844 region of each colour, so that this is always possible!)
1846 If you need to clear a region, you can drag from an empty region, or
1847 from the puzzle boundary if there are no empty regions left.
1849 Dragging a colour using the \e{right} mouse button will stipple the
1850 region in that colour, which you can use as a note to yourself that
1851 you think the region \e{might} be that colour. A region can contain
1852 stipples in multiple colours at once. (This is often useful at the
1853 harder difficulty levels.)
1855 You can also use the cursor keys to move around the map: the colour of
1856 the cursor indicates the position of the colour you would drag (which
1857 is not obvious if you're on a region's boundary, since it depends on the
1858 direction from which you approached the boundary). Pressing the return
1859 key starts a drag of that colour, as above, which you control with the
1860 cursor keys; pressing the return key again finishes the drag. The
1861 space bar can be used similarly to create a stippled region. 
1862 Double-pressing the return key (without moving the cursor) will clear
1863 the region, as a drag from an empty region does: this is useful with
1864 the cursor mode if you have filled the entire map in but need to 
1865 correct the layout.
1867 If you press L during play, the game will toggle display of a number
1868 in each region of the map. This is useful if you want to discuss a
1869 particular puzzle instance with a friend \dash having an unambiguous
1870 name for each region is much easier than trying to refer to them all
1871 by names such as \q{the one down and right of the brown one on the
1872 top border}.
1874 (All the actions described in \k{common-actions} are also available.)
1876 \H{map-parameters} \I{parameters, for Map}Map parameters
1878 These parameters are available from the \q{Custom...} option on the
1879 \q{Type} menu.
1881 \dt \e{Width}, \e{Height}
1883 \dd Size of grid in squares.
1885 \dt \e{Regions}
1887 \dd Number of regions in the generated map.
1889 \dt \e{Difficulty}
1891 \dd In \q{Easy} mode, there should always be at least one region
1892 whose colour can be determined trivially. In \q{Normal} and \q{Hard}
1893 modes, you will have to use increasingly complex logic to deduce the
1894 colour of some regions. However, it will always be possible without
1895 having to guess or backtrack.
1897 \lcont{
1899 In \q{Unreasonable} mode, the program will feel free to generate
1900 puzzles which are as hard as it can possibly make them: the only
1901 constraint is that they should still have a unique solution. Solving
1902 Unreasonable puzzles may require guessing and backtracking.
1907 \C{loopy} \i{Loopy}
1909 \cfg{winhelp-topic}{games.loopy}
1911 You are given a grid of dots, marked with yellow lines to indicate
1912 which dots you are allowed to connect directly together. Your aim is
1913 to use some subset of those yellow lines to draw a single unbroken
1914 loop from dot to dot within the grid.
1916 Some of the spaces between the lines contain numbers. These numbers
1917 indicate how many of the lines around that space form part of the
1918 loop. The loop you draw must correctly satisfy all of these clues to
1919 be considered a correct solution.
1921 In the default mode, the dots are arranged in a grid of squares;
1922 however, you can also play on triangular or hexagonal grids, or even
1923 more exotic ones.
1925 Credit for the basic puzzle idea goes to \i{Nikoli}
1926 \k{nikoli-loopy}.
1928 Loopy was originally contributed to this collection by Mike Pinna,
1929 and subsequently enhanced to handle various types of non-square grid
1930 by Lambros Lambrou.
1932 \B{nikoli-loopy}
1933 \W{http://www.nikoli.co.jp/puzzles/3/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/3/index-e.htm}
1934 (beware of Flash)
1936 \H{loopy-controls} \i{Loopy controls}
1938 \IM{Loopy controls} controls, for Loopy
1940 Click the left mouse button on a yellow line to turn it black,
1941 indicating that you think it is part of the loop. Click again to
1942 turn the line yellow again (meaning you aren't sure yet).
1944 If you are sure that a particular line segment is \e{not} part of
1945 the loop, you can click the right mouse button to remove it
1946 completely. Again, clicking a second time will turn the line back to
1947 yellow.
1949 (All the actions described in \k{common-actions} are also available.)
1951 \H{loopy-parameters} \I{parameters, for Loopy}Loopy parameters
1953 These parameters are available from the \q{Custom...} option on the
1954 \q{Type} menu.
1956 \dt \e{Width}, \e{Height}
1958 \dd Size of grid, measured in number of regions across and down. For
1959 square grids, it's clear how this is counted; for other types of
1960 grid you may have to think a bit to see how the dimensions are
1961 measured.
1963 \dt \e{Grid type}
1965 \dd Allows you to choose between a selection of types of tiling.
1966 Some have all the faces the same but may have multiple different
1967 types of vertex (e.g. the \e{Cairo} or \e{Kites} mode); others have
1968 all the vertices the same but may have different types of face (e.g.
1969 the \e{Great Hexagonal}). The square, triangular and honeycomb grids
1970 are fully regular, and have all their vertices \e{and} faces the
1971 same; this makes them the least confusing to play.
1973 \dt \e{Difficulty}
1975 \dd Controls the difficulty of the generated puzzle.
1976 \#{FIXME: what distinguishes Easy, Medium, and Hard? In particular,
1977 when are backtracking/guesswork required, if ever?}
1980 \C{inertia} \i{Inertia}
1982 \cfg{winhelp-topic}{games.inertia}
1984 You are a small green ball sitting in a grid full of obstacles. Your
1985 aim is to collect all the gems without running into any mines.
1987 You can move the ball in any orthogonal \e{or diagonal} direction.
1988 Once the ball starts moving, it will continue until something stops
1989 it. A wall directly in its path will stop it (but if it is moving
1990 diagonally, it will move through a diagonal gap between two other
1991 walls without stopping). Also, some of the squares are \q{stops};
1992 when the ball moves on to a stop, it will stop moving no matter what
1993 direction it was going in. Gems do \e{not} stop the ball; it picks
1994 them up and keeps on going.
1996 Running into a mine is fatal. Even if you picked up the last gem in
1997 the same move which then hit a mine, the game will count you as dead
1998 rather than victorious.
2000 This game was originally implemented for Windows by Ben Olmstead
2001 \k{bem}, who was kind enough to release his source code on request
2002 so that it could be re-implemented for this collection.
2004 \B{bem} \W{http://xn13.com/}\cw{http://xn13.com/}
2006 \H{inertia-controls} \i{Inertia controls}
2008 \IM{Inertia controls} controls, for Inertia
2009 \IM{Inertia controls} keys, for Inertia
2010 \IM{Inertia controls} shortcuts (keyboard), for Inertia
2012 You can move the ball in any of the eight directions using the
2013 numeric keypad. Alternatively, if you click the left mouse button on
2014 the grid, the ball will begin a move in the general direction of
2015 where you clicked.
2017 If you use the \q{Solve} function on this game, the program will
2018 compute a path through the grid which collects all the remaining
2019 gems and returns to the current position. A hint arrow will appear
2020 on the ball indicating the direction in which you should move to
2021 begin on this path. If you then move in that direction, the arrow
2022 will update to indicate the next direction on the path. You can also
2023 press Space to automatically move in the direction of the hint
2024 arrow. If you move in a different direction from the one shown by
2025 the arrow, the hint arrows will stop appearing because you have
2026 strayed from the provided path; you can then use \q{Solve} again to
2027 generate a new path if you want to.
2029 All the actions described in \k{common-actions} are also available.
2030 In particular, if you do run into a mine and die, you can use the
2031 Undo function and resume playing from before the fatal move. The
2032 game will keep track of the number of times you have done this.
2034 \H{inertia-parameters} \I{parameters, for Inertia}Inertia parameters
2036 These parameters are available from the \q{Custom...} option on the
2037 \q{Type} menu.
2039 \dt \e{Width}, \e{Height}
2041 \dd Size of grid in squares.
2044 \C{tents} \i{Tents}
2046 \cfg{winhelp-topic}{games.tents}
2048 You have a grid of squares, some of which contain trees. Your aim is
2049 to place tents in some of the remaining squares, in such a way that
2050 the following conditions are met:
2052 \b There are exactly as many tents as trees.
2054 \b The tents and trees can be matched up in such a way that each
2055 tent is directly adjacent (horizontally or vertically, but not
2056 diagonally) to its own tree. However, a tent may be adjacent to
2057 other trees as well as its own.
2059 \b No two tents are adjacent horizontally, vertically \e{or
2060 diagonally}.
2062 \b The number of tents in each row, and in each column, matches the
2063 numbers given round the sides of the grid.
2065 This puzzle can be found in several places on the Internet, and was
2066 brought to my attention by e-mail. I don't know who I should credit
2067 for inventing it.
2069 \H{tents-controls} \i{Tents controls}
2071 \IM{Tents controls} controls, for Tents
2073 Left-clicking in a blank square will place a tent in it.
2074 Right-clicking in a blank square will colour it green, indicating
2075 that you are sure it \e{isn't} a tent. Clicking either button in an
2076 occupied square will clear it.
2078 If you \e{drag} with the right button along a row or column, every
2079 blank square in the region you cover will be turned green, and no
2080 other squares will be affected. (This is useful for clearing the
2081 remainder of a row once you have placed all its tents.)
2083 You can also use the cursor keys to move around the grid. Pressing the
2084 return key over an empty square will place a tent, and pressing the
2085 space bar over an empty square will colour it green; either key will
2086 clear an occupied square.
2088 (All the actions described in \k{common-actions} are also available.)
2090 \H{tents-parameters} \I{parameters, for Tents}Tents parameters
2092 These parameters are available from the \q{Custom...} option on the
2093 \q{Type} menu.
2095 \dt \e{Width}, \e{Height}
2097 \dd Size of grid in squares.
2099 \dt \e{Difficulty}
2101 \dd Controls the difficulty of the generated puzzle. More difficult
2102 puzzles require more complex deductions, but at present none of the
2103 available difficulty levels requires guesswork or backtracking.
2106 \C{bridges} \i{Bridges}
2108 \cfg{winhelp-topic}{games.bridges}
2110 You have a set of islands distributed across the playing area. Each
2111 island contains a number. Your aim is to connect the islands
2112 together with bridges, in such a way that:
2114 \b Bridges run horizontally or vertically.
2116 \b The number of bridges terminating at any island is equal to the
2117 number written in that island.
2119 \b Two bridges may run in parallel between the same two islands, but
2120 no more than two may do so.
2122 \b No bridge crosses another bridge.
2124 \b All the islands are connected together.
2126 There are some configurable alternative modes, which involve
2127 changing the parallel-bridge limit to something other than 2, and
2128 introducing the additional constraint that no sequence of bridges
2129 may form a loop from one island back to the same island. The rules
2130 stated above are the default ones.
2132 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-bridges}.
2134 Bridges was contributed to this collection by James Harvey.
2136 \B{nikoli-bridges}
2137 \W{http://www.nikoli.co.jp/puzzles/14/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/14/index-e.htm}
2139 \H{bridges-controls} \i{Bridges controls}
2141 \IM{Bridges controls} controls, for Bridges
2143 To place a bridge between two islands, click the mouse down on one
2144 island and drag it towards the other. You do not need to drag all
2145 the way to the other island; you only need to move the mouse far
2146 enough for the intended bridge direction to be unambiguous. (So you
2147 can keep the mouse near the starting island and conveniently throw
2148 bridges out from it in many directions.)
2150 Doing this again when a bridge is already present will add another
2151 parallel bridge. If there are already as many bridges between the
2152 two islands as permitted by the current game rules (i.e. two by
2153 default), the same dragging action will remove all of them.
2155 If you want to remind yourself that two islands definitely \e{do
2156 not} have a bridge between them, you can right-drag between them in
2157 the same way to draw a \q{non-bridge} marker.
2159 If you think you have finished with an island (i.e. you have placed
2160 all its bridges and are confident that they are in the right
2161 places), you can mark the island as finished by left-clicking on it.
2162 This will highlight it and all the bridges connected to it, and you
2163 will be prevented from accidentally modifying any of those bridges
2164 in future. Left-clicking again on a highlighted island will unmark
2165 it and restore your ability to modify it.
2167 You can also use the cursor keys to move around the grid: if possible
2168 the cursor will always move orthogonally, otherwise it will move
2169 towards the nearest island to the indicated direction. Pressing the
2170 return key followed by a cursor key will lay a bridge in that direction
2171 (if available); pressing the space bar followed by a cursor key will
2172 lay a \q{non-bridge} marker.
2174 You can mark an island as finished by pressing the return key twice.
2176 Violations of the puzzle rules will be marked in red:
2178 \b An island with too many bridges will be highlighted in red.
2180 \b An island with too few bridges will be highlighted in red if it
2181 is definitely an error (as opposed to merely not being finished
2182 yet): if adding enough bridges would involve having to cross another
2183 bridge or remove a non-bridge marker, or if the island has been
2184 highlighted as complete.
2186 \b A group of islands and bridges may be highlighted in red if it is
2187 a closed subset of the puzzle with no way to connect it to the rest
2188 of the islands. For example, if you directly connect two 1s together
2189 with a bridge and they are not the only two islands on the grid,
2190 they will light up red to indicate that such a group cannot be
2191 contained in any valid solution.
2193 \b If you have selected the (non-default) option to disallow loops
2194 in the solution, a group of bridges which forms a loop will be
2195 highlighted.
2197 (All the actions described in \k{common-actions} are also available.)
2199 \H{bridges-parameters} \I{parameters, for Bridges}Bridges parameters
2201 These parameters are available from the \q{Custom...} option on the
2202 \q{Type} menu.
2204 \dt \e{Width}, \e{Height}
2206 \dd Size of grid in squares.
2208 \dt \e{Difficulty}
2210 \dd Difficulty level of puzzle.
2212 \dt \e{Allow loops}
2214 \dd This is set by default. If cleared, puzzles will be generated in
2215 such a way that they are always soluble without creating a loop, and
2216 solutions which do involve a loop will be disallowed.
2218 \dt \e{Max. bridges per direction}
2220 \dd Maximum number of bridges in any particular direction. The
2221 default is 2, but you can change it to 1, 3 or 4. In general, fewer
2222 is easier.
2224 \dt \e{%age of island squares}
2226 \dd Gives a rough percentage of islands the generator will try and
2227 lay before finishing the puzzle. Certain layouts will not manage to
2228 lay enough islands; this is an upper bound.
2230 \dt \e{Expansion factor (%age)}
2232 \dd The grid generator works by picking an existing island at random
2233 (after first creating an initial island somewhere). It then decides
2234 on a direction (at random), and then works out how far it could
2235 extend before creating another island. This parameter determines how
2236 likely it is to extend as far as it can, rather than choosing
2237 somewhere closer.
2239 High expansion factors usually mean easier puzzles with fewer
2240 possible islands; low expansion factors can create lots of
2241 tightly-packed islands.
2244 \C{unequal} \i{Unequal}
2246 \cfg{winhelp-topic}{games.unequal}
2248 You have a square grid; each square may contain a digit from 1 to
2249 the size of the grid, and some squares have clue signs between
2250 them. Your aim is to fully populate the grid with numbers such that:
2252 \b Each row contains only one occurrence of each digit
2254 \b Each column contains only one occurrence of each digit
2256 \b All the clue signs are satisfied. 
2258 There are two modes for this game, \q{Unequal} and \q{Adjacent}.
2260 In \q{Unequal} mode, the clue signs are greater-than symbols indicating one
2261 square's value is greater than its neighbour's. In this mode not all clues
2262 may be visible, particularly at higher difficulty levels. 
2264 In \q{Adjacent} mode, the clue signs are bars indicating
2265 one square's value is numerically adjacent (i.e. one higher or one lower)
2266 than its neighbour. In this mode all clues are always visible: absence of
2267 a bar thus means that a square's value is definitely not numerically adjacent
2268 to that neighbour's.  
2270 In \q{Trivial} difficulty level (available via the \q{Custom} game type
2271 selector), there are no greater-than signs in \q{Unequal} mode; the puzzle is
2272 to solve the \i{Latin square} only.
2274 At the time of writing, the \q{Unequal} mode of this puzzle is appearing in the
2275 Guardian weekly under the name \q{\i{Futoshiki}}.
2277 Unequal was contributed to this collection by James Harvey.
2279 \H{unequal-controls} \i{Unequal controls}
2281 \IM{Unequal controls} controls, for Unequal
2283 Unequal shares much of its control system with Solo.
2285 To play Unequal, simply click the mouse in any empty square and then
2286 type a digit or letter on the keyboard to fill that square. If you
2287 make a mistake, click the mouse in the incorrect square and press
2288 Space to clear it again (or use the Undo feature).
2290 If you \e{right}-click in a square and then type a number, that
2291 number will be entered in the square as a \q{pencil mark}. You can
2292 have pencil marks for multiple numbers in the same square. Squares
2293 containing filled-in numbers cannot also contain pencil marks.
2295 The game pays no attention to pencil marks, so exactly what you use
2296 them for is up to you: you can use them as reminders that a
2297 particular square needs to be re-examined once you know more about a
2298 particular number, or you can use them as lists of the possible
2299 numbers in a given square, or anything else you feel like.
2301 To erase a single pencil mark, right-click in the square and type
2302 the same number again.
2304 All pencil marks in a square are erased when you left-click and type
2305 a number, or when you left-click and press space. Right-clicking and
2306 pressing space will also erase pencil marks.
2308 As for Solo, the cursor keys can be used in conjunction with the digit
2309 keys to set numbers or pencil marks. You can also use the 'M' key to
2310 auto-fill every numeric hint, ready for removal as required, or the 'H'
2311 key to do the same but also to remove all obvious hints. 
2313 Alternatively, use the cursor keys to move the mark around the grid.
2314 Pressing the return key toggles the mark (from a normal mark to a
2315 pencil mark), and typing a number in is entered in the square in the
2316 appropriate way; typing in a 0 or using the space bar will clear a
2317 filled square. 
2319 (All the actions described in \k{common-actions} are also available.)
2321 \H{unequal-parameters} \I{parameters, for Unequal}Unequal parameters
2323 These parameters are available from the \q{Custom...} option on the
2324 \q{Type} menu.
2326 \dt \e{Mode}
2328 \dd Mode of the puzzle (\q{Unequal} or \q{Adjacent})
2330 \dt \e{Size (s*s)}
2332 \dd Size of grid.
2334 \dt \e{Difficulty}
2336 \dd Controls the difficulty of the generated puzzle. At Trivial
2337 level, there are no greater-than signs; the puzzle is to solve the
2338 Latin square only. At Recursive level (only available via the
2339 \q{Custom} game type selector) backtracking will be required, but
2340 the solution should still be unique. The levels in between require
2341 increasingly complex reasoning to avoid having to backtrack.
2345 \C{galaxies} \i{Galaxies}
2347 \cfg{winhelp-topic}{games.galaxies}
2349 You have a rectangular grid containing a number of dots. Your aim is
2350 to draw edges along the grid lines which divide the rectangle into
2351 regions in such a way that every region is 180\u00b0{-degree}
2352 rotationally symmetric, and contains exactly one dot which is
2353 located at its centre of symmetry.
2355 This puzzle was invented by \i{Nikoli} \k{nikoli-galaxies}, under
2356 the name \q{Tentai Show}; its name is commonly translated into
2357 English as \q{Spiral Galaxies}.
2359 Galaxies was contributed to this collection by James Harvey.
2361 \B{nikoli-galaxies} \W{http://www.nikoli.co.jp/en/puzzles/astronomical_show/}\cw{http://www.nikoli.co.jp/en/puzzles/astronomical_show/}
2363 \H{galaxies-controls} \i{Galaxies controls}
2365 \IM{Galaxies controls} controls, for Galaxies
2367 Left-click on any grid line to draw an edge if there isn't one
2368 already, or to remove one if there is. When you create a valid
2369 region (one which is closed, contains exactly one dot, is
2370 180\u00b0{-degree} symmetric about that dot, and contains no
2371 extraneous edges inside it) it will be highlighted automatically; so
2372 your aim is to have the whole grid highlighted in that way.
2374 During solving, you might know that a particular grid square belongs
2375 to a specific dot, but not be sure of where the edges go and which
2376 other squares are connected to the dot. In order to mark this so you
2377 don't forget, you can right-click on the dot and drag, which will
2378 create an arrow marker pointing at the dot. Drop that in a square of
2379 your choice and it will remind you which dot it's associated with.
2380 You can also right-click on existing arrows to pick them up and move
2381 them, or destroy them by dropping them off the edge of the grid.
2382 (Also, if you're not sure which dot an arrow is pointing at, you can
2383 pick it up and move it around to make it clearer. It will swivel
2384 constantly as you drag it, to stay pointed at its parent dot.)
2386 You can also use the cursor keys to move around the grid squares and
2387 lines.  Pressing the return key when over a grid line will draw or
2388 clear its edge, as above. Pressing the return key when over a dot will
2389 pick up an arrow, to be dropped the next time the return key is
2390 pressed; this can also be used to move existing arrows around, removing
2391 them by dropping them on a dot or another arrow.
2393 (All the actions described in \k{common-actions} are also available.)
2395 \H{galaxies-parameters} \I{parameters, for Galaxies}Galaxies parameters
2397 These parameters are available from the \q{Custom...} option on the
2398 \q{Type} menu.
2400 \dt \e{Width}, \e{Height}
2402 \dd Size of grid in squares.
2404 \dt \e{Difficulty}
2406 \dd Controls the difficulty of the generated puzzle. More difficult
2407 puzzles require more complex deductions, and the \q{Unreasonable}
2408 difficulty level may require backtracking.
2412 \C{filling} \i{Filling}
2414 \cfg{winhelp-topic}{games.filling}
2416 You have a grid of squares, some of which contain digits, and the
2417 rest of which are empty. Your job is to fill in digits in the empty
2418 squares, in such a way that each connected region of squares all
2419 containing the same digit has an area equal to that digit.
2421 (\q{Connected region}, for the purposes of this game, does not count
2422 diagonally separated squares as adjacent.)
2424 For example, it follows that no square can contain a zero, and that
2425 two adjacent squares can not both contain a one.  No region has an
2426 area greater than 9 (because then its area would not be a single
2427 digit).
2429 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-fillomino}.
2431 Filling was contributed to this collection by Jonas K\u00F6{oe}lker.
2433 \B{nikoli-fillomino}
2434 \W{http://www.nikoli.co.jp/en/puzzles/fillomino/}\cw{http://www.nikoli.co.jp/en/puzzles/fillomino/}
2436 \H{filling-controls} \I{controls, for Filling}Filling controls
2438 To play Filling, simply click the mouse in any empty square and then
2439 type a digit on the keyboard to fill that square. By dragging the
2440 mouse, you can select multiple squares to fill with a single keypress.
2441 If you make a mistake, click the mouse in the incorrect square and
2442 press 0, Space, Backspace or Enter to clear it again (or use the Undo
2443 feature).
2445 You can also move around the grid with the cursor keys; typing a digit will
2446 fill the square containing the cursor with that number, or typing 0, Space,
2447 or Enter will clear it. You can also select multiple squares for numbering
2448 or clearing by using the return key, before typing a digit to fill in the
2449 highlighted squares (as above).
2451 (All the actions described in \k{common-actions} are also available.)
2453 \H{filling-parameters} \I{parameters, for Filling}Filling parameters
2455 Filling allows you to configure the number of rows and columns of the
2456 grid, through the \q{Type} menu.
2459 \C{keen} \i{Keen}
2461 \cfg{winhelp-topic}{games.keen}
2463 You have a square grid; each square may contain a digit from 1 to
2464 the size of the grid. The grid is divided into blocks of varying
2465 shape and size, with arithmetic clues written in them. Your aim is
2466 to fully populate the grid with digits such that:
2468 \b Each row contains only one occurrence of each digit
2470 \b Each column contains only one occurrence of each digit
2472 \b The digits in each block can be combined to form the number
2473 stated in the clue, using the arithmetic operation given in the
2474 clue. That is:
2476 \lcont{
2478 \b An addition clue means that the sum of the digits in the block
2479 must be the given number. For example, \q{15+} means the contents of
2480 the block adds up to fifteen.
2482 \b A multiplication clue (e.g. \q{60\times}), similarly, means that
2483 the product of the digits in the block must be the given number.
2485 \b A subtraction clue will always be written in a block of size two,
2486 and it means that one of the digits in the block is greater than the
2487 other by the given amount. For example, \q{2\minus} means that one
2488 of the digits in the block is 2 more than the other, or equivalently
2489 that one digit minus the other one is 2. The two digits could be
2490 either way round, though.
2492 \b A division clue (e.g. \q{3\divide}), similarly, is always in a
2493 block of size two and means that one digit divided by the other is
2494 equal to the given amount.
2496 Note that a block may contain the same digit more than once
2497 (provided the identical ones are not in the same row and column).
2498 This rule is precisely the opposite of the rule in Solo's \q{Killer}
2499 mode (see \k{solo}).
2503 This puzzle appears in the Times under the name \q{\i{KenKen}}.
2506 \H{keen-controls} \i{Keen controls}
2508 \IM{Keen controls} controls, for Keen
2510 Keen shares much of its control system with Solo (and Unequal).
2512 To play Keen, simply click the mouse in any empty square and then
2513 type a digit on the keyboard to fill that square. If you make a
2514 mistake, click the mouse in the incorrect square and press Space to
2515 clear it again (or use the Undo feature).
2517 If you \e{right}-click in a square and then type a number, that
2518 number will be entered in the square as a \q{pencil mark}. You can
2519 have pencil marks for multiple numbers in the same square. Squares
2520 containing filled-in numbers cannot also contain pencil marks.
2522 The game pays no attention to pencil marks, so exactly what you use
2523 them for is up to you: you can use them as reminders that a
2524 particular square needs to be re-examined once you know more about a
2525 particular number, or you can use them as lists of the possible
2526 numbers in a given square, or anything else you feel like.
2528 To erase a single pencil mark, right-click in the square and type
2529 the same number again.
2531 All pencil marks in a square are erased when you left-click and type
2532 a number, or when you left-click and press space. Right-clicking and
2533 pressing space will also erase pencil marks.
2535 As for Solo, the cursor keys can be used in conjunction with the
2536 digit keys to set numbers or pencil marks. Use the cursor keys to
2537 move a highlight around the grid, and type a digit to enter it in
2538 the highlighted square. Pressing return toggles the highlight into a
2539 mode in which you can enter or remove pencil marks.
2541 Pressing M will fill in a full set of pencil marks in every square
2542 that does not have a main digit in it.
2544 (All the actions described in \k{common-actions} are also available.)
2546 \H{keen-parameters} \I{parameters, for Keen}Keen parameters
2548 These parameters are available from the \q{Custom...} option on the
2549 \q{Type} menu.
2551 \dt \e{Grid size}
2553 \dd Specifies the size of the grid. Lower limit is 3; upper limit is
2554 9 (because the user interface would become more difficult with
2555 \q{digits} bigger than 9!).
2557 \dt \e{Difficulty}
2559 \dd Controls the difficulty of the generated puzzle. At Unreasonable
2560 level, some backtracking will be required, but the solution should
2561 still be unique. The remaining levels require increasingly complex
2562 reasoning to avoid having to backtrack.
2565 \C{towers} \i{Towers}
2567 \cfg{winhelp-topic}{games.towers}
2569 You have a square grid. On each square of the grid you can build a
2570 tower, with its height ranging from 1 to the size of the grid.
2571 Around the edge of the grid are some numeric clues.
2573 Your task is to build a tower on every square, in such a way that:
2575 \b Each row contains every possible height of tower once
2577 \b Each column contains every possible height of tower once
2579 \b Each numeric clue describes the number of towers that can be seen
2580 if you look into the square from that direction, assuming that
2581 shorter towers are hidden behind taller ones. For example, in a
2582 5\by\.5 grid, a clue marked \q{5} indicates that the five tower
2583 heights must appear in increasing order (otherwise you would not be
2584 able to see all five towers), whereas a clue marked \q{1} indicates
2585 that the tallest tower (the one marked 5) must come first.
2587 In harder or larger puzzles, some towers will be specified for you
2588 as well as the clues round the edge, and some edge clues may be
2589 missing.
2591 This puzzle appears on the web under various names, particularly
2592 \q{\i{Skyscrapers}}, but I don't know who first invented it.
2595 \H{towers-controls} \i{Towers controls}
2597 \IM{Towers controls} controls, for Towers
2599 Towers shares much of its control system with Solo, Unequal and Keen.
2601 To play Towers, simply click the mouse in any empty square and then
2602 type a digit on the keyboard to fill that square with a tower of the
2603 given height. If you make a mistake, click the mouse in the
2604 incorrect square and press Space to clear it again (or use the Undo
2605 feature).
2607 If you \e{right}-click in a square and then type a number, that
2608 number will be entered in the square as a \q{pencil mark}. You can
2609 have pencil marks for multiple numbers in the same square. A square
2610 containing a tower cannot also contain pencil marks.
2612 The game pays no attention to pencil marks, so exactly what you use
2613 them for is up to you: you can use them as reminders that a
2614 particular square needs to be re-examined once you know more about a
2615 particular number, or you can use them as lists of the possible
2616 numbers in a given square, or anything else you feel like.
2618 To erase a single pencil mark, right-click in the square and type
2619 the same number again.
2621 All pencil marks in a square are erased when you left-click and type
2622 a number, or when you left-click and press space. Right-clicking and
2623 pressing space will also erase pencil marks.
2625 As for Solo, the cursor keys can be used in conjunction with the
2626 digit keys to set numbers or pencil marks. Use the cursor keys to
2627 move a highlight around the grid, and type a digit to enter it in
2628 the highlighted square. Pressing return toggles the highlight into a
2629 mode in which you can enter or remove pencil marks.
2631 Pressing M will fill in a full set of pencil marks in every square
2632 that does not have a main digit in it.
2634 (All the actions described in \k{common-actions} are also available.)
2636 \H{towers-parameters} \I{parameters, for Towers}Towers parameters
2638 These parameters are available from the \q{Custom...} option on the
2639 \q{Type} menu.
2641 \dt \e{Grid size}
2643 \dd Specifies the size of the grid. Lower limit is 3; upper limit is
2644 9 (because the user interface would become more difficult with
2645 \q{digits} bigger than 9!).
2647 \dt \e{Difficulty}
2649 \dd Controls the difficulty of the generated puzzle. At Unreasonable
2650 level, some backtracking will be required, but the solution should
2651 still be unique. The remaining levels require increasingly complex
2652 reasoning to avoid having to backtrack.
2655 \C{singles} \i{Singles}
2657 \cfg{winhelp-topic}{games.singles}
2659 You have a grid of white squares, all of which contain numbers. Your task
2660 is to colour some of the squares black (removing the number) so as to satisfy
2661 all of the following conditions:
2663 \b No number occurs more than once in any row or column.
2665 \b No black square is horizontally or vertically adjacent to any other black
2666 square.
2668 \b The remaining white squares must all form one contiguous region
2669 (connected by edges, not just touching at corners).
2671 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-hitori} who call it
2672 \i{Hitori}. 
2674 Singles was contributed to this collection by James Harvey.
2676 \B{nikoli-hitori}
2677 \W{http://www.nikoli.com/en/puzzles/hitori/index.html}\cw{http://www.nikoli.com/en/puzzles/hitori/index.html}
2678 (beware of Flash)
2680 \H{singles-controls} \i{Singles controls}
2682 \IM{Singles controls} controls, for Singles
2684 Left-clicking on an empty square will colour it black; left-clicking again 
2685 will restore the number. Right-clicking will add a circle (useful for 
2686 indicating that a cell is definitely not black). 
2688 You can also use the cursor keys to move around the grid. Pressing the
2689 return or space keys will turn a square black or add a circle respectively,
2690 and pressing the key again will restore the number or remove the circle.
2692 (All the actions described in \k{common-actions} are also available.)
2694 \H{singles-parameters} \I{parameters, for Singles}Singles parameters
2696 These parameters are available from the \q{Custom...} option on the
2697 \q{Type} menu.
2699 \dt \e{Width}, \e{Height}
2701 \dd Size of grid in squares.
2703 \dt \e{Difficulty}
2705 \dd Controls the difficulty of the generated puzzle.
2708 \C{magnets} \i{Magnets}
2710 \cfg{winhelp-topic}{games.magnets}
2712 A rectangular grid has been filled with a mixture of magnets (that is,
2713 dominoes with one positive end and one negative end) and blank dominoes
2714 (that is, dominoes with two neutral poles).
2715 These dominoes are initially only seen in silhouette. Around the grid
2716 are placed a number of clues indicating the number of positive and
2717 negative poles contained in certain columns and rows.
2719 Your aim is to correctly place the magnets and blank dominoes such that
2720 all the clues are satisfied, with the additional constraint that no two
2721 similar magnetic poles may be orthogonally adjacent (since they repel).
2722 Neutral poles do not repel, and can be adjacent to any other pole. 
2724 Credit for this puzzle goes to \i{Janko} \k{janko-magnets}.
2726 Magnets was contributed to this collection by James Harvey.
2728 \B{janko-magnets}
2729 \W{http://www.janko.at/Raetsel/Magnete/index.htm}\cw{http://www.janko.at/Raetsel/Magnete/index.htm}
2731 \H{magnets-controls} \i{Magnets controls}
2733 \IM{Magnets controls} controls, for Magnets
2735 Left-clicking on an empty square places a magnet at that position with
2736 the positive pole on the square and the negative pole on the other half
2737 of the magnet; left-clicking again reverses the polarity, and a third
2738 click removes the magnet.
2740 Right-clicking on an empty square places a blank domino there.
2741 Right-clicking again places two question marks on the domino, signifying
2742 \q{this cannot be blank} (which can be useful to note deductions while
2743 solving), and right-clicking again empties the domino. 
2745 You can also use the cursor keys to move a cursor around the grid. 
2746 Pressing the return key will lay a domino with a positive pole at that
2747 position; pressing again reverses the polarity and then removes the
2748 domino, as with left-clicking. Using the space bar allows placement
2749 of blank dominoes and cannot-be-blank hints, as for right-clicking. 
2751 (All the actions described in \k{common-actions} are also available.)
2753 \H{magnets-parameters} \I{parameters, for Magnets}Magnets parameters
2755 These parameters are available from the \q{Custom...} option on the
2756 \q{Type} menu.
2758 \dt \e{Width}, \e{Height}
2760 \dd Size of grid in squares. There will be half \e{Width} \by \e{Height}
2761 dominoes in the grid: if this number is odd then one square will be blank.
2763 (Grids with at least one odd dimension tend to be easier to solve.)
2765 \dt \e{Difficulty}
2767 \dd Controls the difficulty of the generated puzzle. At Tricky level,
2768 you are required to make more deductions about empty dominoes and
2769 row/column counts. 
2771 \dt \e{Strip clues}
2773 \dd If true, some of the clues around the grid are removed at generation
2774 time, making the puzzle more difficult.
2777 \C{signpost} \i{Signpost}
2779 \cfg{winhelp-topic}{games.signpost}
2781 You have a grid of squares; each square (except the last one)
2782 contains an arrow, and some squares also contain numbers. Your job
2783 is to connect the squares to form a continuous list of numbers
2784 starting at 1 and linked in the direction of the arrows \dash so the
2785 arrow inside the square with the number 1 will point to the square
2786 containing the number 2, which will point to the square containing
2787 the number 3, etc. Each square can be any distance away from the
2788 previous one, as long as it is somewhere in the direction of the
2789 arrow.
2791 By convention the first and last numbers are shown; one or more
2792 interim numbers may also appear at the beginning. 
2794 Credit for this puzzle goes to \i{Janko} \k{janko-arrowpath}, who call it
2795 \q{Pfeilpfad} (\q{arrow path}).
2797 Signpost was contributed to this collection by James Harvey.
2799 \B{janko-arrowpath}
2800 \W{http://janko.at/Raetsel/Pfeilpfad/index.htm}\cw{http://janko.at/Raetsel/Pfeilpfad/index.htm}
2802 \H{signpost-controls} \I{controls, for Signpost}Signpost controls
2804 To play Signpost, you connect squares together by dragging from one
2805 square to another, indicating that they are adjacent in the
2806 sequence. Drag with the left button from a square to its successor,
2807 or with the right button from a square to its predecessor.
2809 If you connect together two squares in this way and one of them has
2810 a number in it, the appropriate number will appear in the other
2811 square. If you connect two non-numbered squares, they will be
2812 assigned temporary algebraic labels: on the first occasion, they
2813 will be labelled \cq{a} and \cq{a+1}, and then \cq{b} and \cq{b+1},
2814 and so on. Connecting more squares on to the ends of such a chain
2815 will cause them all to be labelled with the same letter.
2817 When you left-click or right-click in a square, the legal squares to
2818 connect it to will be shown.
2820 The arrow in each square starts off black, and goes grey once you
2821 connect the square to its successor. Also, each square which needs a
2822 predecessor has a small dot in the bottom left corner, which
2823 vanishes once you link a square to it. So your aim is always to
2824 connect a square with a black arrow to a square with a dot.
2826 To remove any links for a particular square (both incoming and
2827 outgoing), left-drag it off the grid. To remove a whole chain,
2828 right-drag any square in the chain off the grid.
2830 You can also use the cursor keys to move around the grid squares and
2831 lines. Pressing the return key when over a square starts a link
2832 operation, and pressing the return key again over a square will
2833 finish the link, if allowable. Pressing the space bar over a square
2834 will show the other squares pointing to it, and allow you to form a
2835 backward link, and pressing the space bar again cancels this.
2837 (All the actions described in \k{common-actions} are also available.)
2839 \H{signpost-parameters} \I{parameters, for Signpost}Signpost parameters
2841 These parameters are available from the \q{Custom...} option on the
2842 \q{Type} menu.
2844 \dt \e{Width}, \e{Height}
2846 \dd Size of grid in squares.
2848 \dt \e{Force start/end to corners}
2850 \dd If true, the start and end squares are always placed in opposite corners
2851 (the start at the top left, and the end at the bottom right). If false the start
2852 and end squares are placed randomly (although always both shown). 
2854 \C{range} \i{Range}
2856 \cfg{winhelp-topic}{games.range}
2858 You have a grid of squares; some squares contain numbers.  Your job is
2859 to colour some of the squares black, such that several criteria are
2860 satisfied:
2862 \b no square with a number is coloured black.
2864 \b no two black squares are adjacent (horizontally or vertically).
2866 \b for any two white squares, there is a path between them using only
2867 white squares.
2869 \b for each square with a number, that number denotes the number of
2870 squares reachable from that square going in each direction until
2871 hitting a wall or a black square.
2873 For instance, a square containing the number one must have four black
2874 squares as its neighbours by the last criterion; but then it's
2875 impossible for it to be connected to any outside white square, which
2876 violates the second to last criterion.  So no square will contain the
2877 number one.
2879 Credit for this puzzle goes to \i{Nikoli}, who have variously called
2880 it \q{Kurodoko}, \q{Kuromasu} or \q{Where is Black Cells}.
2881 \k{nikoli-range}.
2883 Range was contributed to this collection by Jonas K\u00F6{oe}lker.
2885 \B{nikoli-range}
2886 \W{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}\cw{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}
2888 \H{range-controls} \I{controls, for Range}Range controls
2890 Click with the left button to paint a square black, or with the right
2891 button to mark a square with a dot to indicate that you are sure it
2892 should \e{not} be painted black. Repeated clicking with either button
2893 will cycle the square through the three possible states (filled,
2894 dotted or empty) in opposite directions.
2896 You can also use the cursor keys to move around the grid squares.
2897 Pressing Return does the same as clicking with the left button, while
2898 pressing Space does the same as a right button click.
2900 (All the actions described in \k{common-actions} are also available.)
2902 \H{range-parameters} \I{parameters, for Range}Range parameters
2904 These parameters are available from the \q{Custom...} option on the
2905 \q{Type} menu.
2907 \dt \e{Width}, \e{Height}
2909 \dd Size of grid in squares.
2911 \C{pearl} \i{Pearl}
2913 \cfg{winhelp-topic}{games.pearl}
2915 You have a grid of squares. Your job is to draw lines between the
2916 centres of horizontally or vertically adjacent squares, so that the
2917 lines form a single closed loop. In the resulting grid, some of the
2918 squares that the loop passes through will contain corners, and some
2919 will be straight horizontal or vertical lines. (And some squares can
2920 be completely empty \dash the loop doesn't have to pass through every
2921 square.)
2923 Some of the squares contain black and white circles, which are clues
2924 that the loop must satisfy.
2926 A black circle in a square indicates that that square is a corner, but
2927 neither of the squares adjacent to it in the loop is also a corner.
2929 A while circle indicates that the square is a straight edge, but \e{at
2930 least one} of the squares adjacent to it in the loop is a corner.
2932 (In both cases, the clue only constrains the two squares adjacent
2933 \e{in the loop}, that is, the squares that the loop passes into after
2934 leaving the clue square. The squares that are only adjacent \e{in the
2935 grid} are not constrained.)
2937 Credit for this puzzle goes to \i{Nikoli}, who call it \q{Masyu}.
2938 \k{nikoli-pearl}.
2940 Thanks to James Harvey for assistance with the implementation.
2942 \B{nikoli-pearl}
2943 \W{http://www.nikoli.co.jp/en/puzzles/masyu/}\cw{http://www.nikoli.co.jp/en/puzzles/masyu/}
2945 \H{pearl-controls} \I{controls, for Pearl}Pearl controls
2947 Click with the left button on a grid edge to draw a segment of the
2948 loop through that edge, or to remove a segment once it is drawn.
2950 Drag with the left button through a series of squares to draw more
2951 than one segment of the loop in one go. Alternatively, drag over an
2952 existing part of the loop to undraw it, or to undraw part of it and
2953 then go in a different direction.
2955 Click with the right button on a grid edge to mark it with a cross,
2956 indicating that you are sure the loop does not go through that edge.
2957 (For instance, if you have decided which of the squares adjacent to a
2958 white clue has to be a corner, but don't yet know which way the corner
2959 turns, you might mark the one way it \e{can't} go with a cross.)
2961 Alternatively, use the cursor keys to move the cursor.  Use the Enter
2962 key to begin and end keyboard `drag' operations.  Use the Space key to
2963 cancel the drag.  Use Ctrl-arrowkey and Shift-arrowkey to simulate a
2964 left or right click, respectively, on the edge in the given direction
2965 relative to the cursor, i.e. to draw a segment or a cross.
2967 (All the actions described in \k{common-actions} are also available.)
2969 \H{pearl-parameters} \I{parameters, for Pearl}Pearl parameters
2971 These parameters are available from the \q{Custom...} option on the
2972 \q{Type} menu.
2974 \dt \e{Width}, \e{Height}
2976 \dd Size of grid in squares.
2978 \dt \e{Difficulty}
2980 \dd Controls the difficulty of the generated puzzle.
2982 \A{licence} \I{MIT licence}\ii{Licence}
2984 This software is \i{copyright} 2004-2012 Simon Tatham.
2986 Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
2987 K\u00F6{oe}lker, Dariusz Olszewski, Michael Schierl, Lambros
2988 Lambrou and Bernd Schmidt.
2990 Permission is hereby granted, free of charge, to any person
2991 obtaining a copy of this software and associated documentation files
2992 (the \q{Software}), to deal in the Software without restriction,
2993 including without limitation the rights to use, copy, modify, merge,
2994 publish, distribute, sublicense, and/or sell copies of the Software,
2995 and to permit persons to whom the Software is furnished to do so,
2996 subject to the following conditions:
2998 The above copyright notice and this permission notice shall be
2999 included in all copies or substantial portions of the Software.
3001 THE SOFTWARE IS PROVIDED \q{AS IS}, WITHOUT WARRANTY OF ANY KIND,
3002 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3003 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
3004 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
3005 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
3006 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
3007 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3008 SOFTWARE.
3010 \IM{command-line}{command line} command line
3012 \IM{default parameters, specifying} default parameters, specifying
3013 \IM{default parameters, specifying} preferences, specifying default
3015 \IM{Unix} Unix
3016 \IM{Unix} Linux
3018 \IM{generating game IDs} generating game IDs
3019 \IM{generating game IDs} game ID, generating
3021 \IM{specific} \q{Specific}, menu option
3022 \IM{custom} \q{Custom}, menu option
3024 \IM{game ID} game ID
3025 \IM{game ID} ID, game
3026 \IM{ID format} ID format
3027 \IM{ID format} format, ID
3028 \IM{ID format} game ID, format
3030 \IM{keys} keys
3031 \IM{keys} shortcuts (keyboard)
3033 \IM{initial state} initial state
3034 \IM{initial state} state, initial
3036 \IM{MIT licence} MIT licence
3037 \IM{MIT licence} licence, MIT