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}
23 \define{dash} \u2013{-}
25 This is a collection of small one-player puzzle games.
27 \copyright This manual is copyright 2004-5 Simon Tatham. All rights
28 reserved. You may distribute this documentation under the MIT licence.
29 See \k{licence} for the licence text in full.
31 \cfg{html-local-head}{<meta name="AppleTitle" content="Puzzles Help">}
35 \C{intro} Introduction
37 I wrote this collection because I thought there should be more small
38 desktop toys available: little games you can pop up in a window and
39 play for two or three minutes while you take a break from whatever
40 else you were doing. And I was also annoyed that every time I found
41 a good game on (say) \i{Unix}, it wasn't available the next time I
42 was sitting at a \i{Windows} machine, or vice versa; so I arranged
43 that everything in my personal puzzle collection will happily run on
44 both, and have more recently done a port to Mac OS X as well. When I
45 find (or perhaps invent) further puzzle games that I like, they'll
46 be added to this collection and will immediately be available on
47 both platforms. And if anyone feels like writing any other front
48 ends \dash PocketPC, Mac OS pre-10, or whatever it might be \dash
49 then all the games in this framework will immediately become
50 available on another platform as well.
52 The actual games in this collection were mostly not my invention; they
53 are re-implementations of existing game concepts within my portable
54 puzzle framework. I do not claim credit, in general, for inventing the
55 rules of any of these puzzles. (I don't even claim authorship of all
56 the code; some of the puzzles have been submitted by other authors.)
58 This collection is distributed under the \i{MIT licence} (see
59 \k{licence}). This means that you can do pretty much anything you like
60 with the game binaries or the code, except pretending you wrote them
61 yourself, or suing me if anything goes wrong.
63 The most recent versions, and \i{source code}, can be found at
64 \I{website}\W{http://www.chiark.greenend.org.uk/~sgtatham/puzzles/}\cw{http://www.chiark.greenend.org.uk/~sgtatham/puzzles/}.
66 Please report \I{feedback}\i{bugs} to
67 \W{mailto:anakin@pobox.com}\cw{anakin@pobox.com}.
68 You might find it helpful to read this article before reporting a bug:
70 \W{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}\cw{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}
72 \ii{Patches} are welcome. Especially if they provide a new front end
73 (to make all these games run on another platform), or a new game.
76 \C{common} \ii{Common features}
78 This chapter describes features that are common to all the games.
80 \H{common-actions} \I{controls}Common actions
82 These actions are all available from the \I{Game menu}\q{Game} menu
83 and via \I{keys}keyboard shortcuts, in addition to any game-specific
86 (On Mac OS X, to conform with local user interface standards, these
87 actions are situated on the \I{File menu}\q{File} and \I{Edit
88 menu}\q{Edit} menus instead.)
90 \dt \ii\e{New game} (\q{N}, Ctrl+\q{N})
92 \dd Starts a new game, with a random initial state.
94 \dt \ii\e{Restart game}
96 \dd Resets the current game to its initial state. (This can be undone.)
100 \dd Loads a saved game from a file on disk.
104 \dd Saves the current state of your game to a file on disk.
108 The Load and Save operations should preserve your entire game
109 history (so you can save, reload, and still Undo and Redo things you
110 had done before saving).
116 \dd Where supported (currently only on Windows), brings up a dialog
117 allowing you to print an arbitrary number of puzzles randomly
118 generated from the current parameters, optionally including the
121 \dt \ii\e{Undo} (\q{U}, Ctrl+\q{Z}, Ctrl+\q{_})
123 \dd Undoes a single move. (You can undo moves back to the start of the
126 \dt \ii\e{Redo} (\q{R}, Ctrl+\q{R})
128 \dd Redoes a previously undone move.
132 \dd Copies the current state of your game to the clipboard in text
133 format, so that you can paste it into (say) an e-mail client or a
134 web message board if you're discussing the game with someone else.
135 (Not all games support this feature.)
139 \dd Transforms the puzzle instantly into its solved state. For some
140 games (Cube) this feature is not supported at all because it is of
141 no particular use. For other games (such as Pattern), the solved
142 state can be used to give you information, if you can't see how a
143 solution can exist at all or you want to know where you made a
144 mistake. For still other games (such as Sixteen), automatic solution
145 tells you nothing about how to \e{get} to the solution, but it does
146 provide a useful way to get there quickly so that you can experiment
147 with set-piece moves and transformations.
151 Some games (such as Solo) are capable of solving a game ID you have
152 typed in from elsewhere. Other games (such as Rectangles) cannot
153 solve a game ID they didn't invent themself, but when they did
154 invent the game ID they know what the solution is already. Still
155 other games (Pattern) can solve \e{some} external game IDs, but only
156 if they aren't too difficult.
158 The \q{Solve} command adds the solved state to the end of the undo
159 chain for the puzzle. In other words, if you want to go back to
160 solving it yourself after seeing the answer, you can just press Undo.
164 \dt \I{exit}\ii\e{Quit} (\q{Q}, Ctrl+\q{Q})
166 \dd Closes the application entirely.
168 \H{common-id} Specifying games with the \ii{game ID}
170 There are two ways to save a game specification out of a puzzle and
171 recreate it later, or recreate it in somebody else's copy of the
174 The \q{\i{Specific}} and \q{\i{Random Seed}} options from the
175 \I{Game menu}\q{Game} menu (or the \q{File} menu, on Mac OS X) each
176 show a piece of text (a \q{game ID}) which is sufficient to
177 reconstruct precisely the same game at a later date.
179 You can enter either of these pieces of text back into the program
180 (via the same \q{Specific} or \q{Random Seed} menu options) at a
181 later point, and it will recreate the same game. You can also use
182 either one as a \i{command line} argument (on Windows or Unix); see
183 \k{common-cmdline} for more detail.
185 The difference between the two forms is that a descriptive game ID
186 is a literal \e{description} of the \i{initial state} of the game,
187 whereas a random seed is just a piece of arbitrary text which was
188 provided as input to the random number generator used to create the
189 puzzle. This means that:
191 \b Descriptive game IDs tend to be longer in many puzzles (although
192 some, such as Cube (\k{cube}), only need very short descriptions).
193 So a random seed is often a \e{quicker} way to note down the puzzle
194 you're currently playing, or to tell it to somebody else so they can
195 play the same one as you.
197 \b Any text at all is a valid random seed. The automatically
198 generated ones are fifteen-digit numbers, but anything will do; you
199 can type in your full name, or a word you just made up, and a valid
200 puzzle will be generated from it. This provides a way for two or
201 more people to race to complete the same puzzle: you think of a
202 random seed, then everybody types it in at the same time, and nobody
203 has an advantage due to having seen the generated puzzle before
206 \b It is often possible to convert puzzles from other sources (such
207 as \q{nonograms} or \q{sudoku} from newspapers) into descriptive
208 game IDs suitable for use with these programs.
210 \b Random seeds are not guaranteed to produce the same result if you
211 use them with a different \i\e{version} of the puzzle program. This
212 is because the generation algorithm might have been improved or
213 modified in later versions of the code, and will therefore produce a
214 different result when given the same sequence of random numbers. Use
215 a descriptive game ID if you aren't sure that it will be used on the
216 same version of the program as yours.
218 \lcont{(Use the \q{About} menu option to find out the version number
219 of the program. Programs with the same version number running on
220 different platforms should still be random-seed compatible.)}
222 \I{ID format}A descriptive game ID starts with a piece of text which
223 encodes the \i\e{parameters} of the current game (such as grid
224 size). Then there is a colon, and after that is the description of
225 the game's initial state. A random seed starts with a similar string
226 of parameters, but then it contains a hash sign followed by
229 If you enter a descriptive game ID, the program will not be able to
230 show you the random seed which generated it, since it wasn't
231 generated \e{from} a random seed. If you \e{enter} a random seed,
232 however, the program will be able to show you the descriptive game
233 ID derived from that random seed.
235 Note that the game parameter strings are not always identical
236 between the two forms. For some games, there will be parameter data
237 provided with the random seed which is not included in the
238 descriptive game ID. This is because that parameter information is
239 only relevant when \e{generating} puzzle grids, and is not important
240 when playing them. Thus, for example, the difficulty level in Solo
241 (\k{solo}) is not mentioned in the descriptive game ID.
243 These additional parameters are also not set permanently if you type
244 in a game ID. For example, suppose you have Solo set to \q{Advanced}
245 difficulty level, and then a friend wants your help with a
246 \q{Trivial} puzzle; so the friend reads out a random seed specifying
247 \q{Trivial} difficulty, and you type it in. The program will
248 generate you the same \q{Trivial} grid which your friend was having
249 trouble with, but once you have finished playing it, when you ask
250 for a new game it will automatically go back to the \q{Advanced}
251 difficulty which it was previously set on.
253 \H{common-type} The \q{Type} menu
255 The \I{Type menu}\q{Type} menu, if present, may contain a list of
256 \i{preset} game settings. Selecting one of these will start a new
257 random game with the parameters specified.
259 The \q{Type} menu may also contain a \q{\i{Custom}} option which
260 allows you to fine-tune game \i{parameters}. The parameters
261 available are specific to each game and are described in the
264 \H{common-cmdline} Specifying game parameters on the \i{command line}
266 (This section does not apply to the Mac OS X version.)
268 The games in this collection deliberately do not ever save
269 information on to the computer they run on: they have no high score
270 tables and no saved preferences. (This is because I expect at least
271 some people to play them at work, and those people will probably
272 appreciate leaving as little evidence as possible!)
274 However, if you do want to arrange for one of these games to default
275 to a particular set of parameters, you can specify them on the
278 The easiest way to do this is to set up the parameters you want
279 using the \q{Type} menu (see \k{common-type}), and then to select
280 \q{Random Seed} from the \q{Game} or \q{File} menu (see
281 \k{common-id}). The text in the \q{Game ID} box will be composed of
282 two parts, separated by a hash. The first of these parts represents
283 the game parameters (the size of the playing area, for example, and
284 anything else you set using the \q{Type} menu).
286 If you run the game with just that parameter text on the command
287 line, it will start up with the settings you specified.
289 For example: if you run Cube (see \k{cube}), select \q{Octahedron}
290 from the \q{Type} menu, and then go to the game ID selection, you
291 will see a string of the form \cq{o2x2#338686542711620}. Take only
292 the part before the hash (\cq{o2x2}), and start Cube with that text
293 on the command line: \cq{cube o2x2}.
295 If you copy the \e{entire} game ID on to the command line, the game
296 will start up in the specific game that was described. This is
297 occasionally a more convenient way to start a particular game ID
298 than by pasting it into the game ID selection box.
300 (You could also retrieve the encoded game parameters using the
301 \q{Specific} menu option instead of \q{Random Seed}, but if you do
302 then some options, such as the difficulty level in Solo, will be
303 missing. See \k{common-id} for more details on this.)
308 \cfg{winhelp-topic}{games.net}
310 (\e{Note:} the \i{Windows} version of this game is called
311 \i\cw{NETGAME.EXE} to avoid clashing with Windows's own \cw{NET.EXE}.)
313 I originally saw this in the form of a Flash game called \i{FreeNet}
314 \k{FreeNet}, written by Pavils Jurjans; there are several other
315 implementations under the name \i{NetWalk}. The computer prepares a
316 network by connecting up the centres of squares in a grid, and then
317 shuffles the network by rotating every tile randomly. Your job is to
318 rotate it all back into place. The successful solution will be an
319 entirely connected network, with no closed loops. \#{The latter
320 clause means that there are no closed paths within the network.
321 Could this be clearer? "No closed paths"?} As a visual aid,
322 all tiles which are connected to the one in the middle are
325 \B{FreeNet} \W{http://www.jurjans.lv/stuff/net/FreeNet.htm}\cw{http://www.jurjans.lv/stuff/net/FreeNet.htm}
327 \H{net-controls} \i{Net controls}
329 \IM{Net controls} controls, for Net
330 \IM{Net controls} keys, for Net
331 \IM{Net controls} shortcuts (keyboard), for Net
333 This game can be played with either the keyboard or the mouse. The
336 \dt \e{Select tile}: mouse pointer, arrow keys
338 \dt \e{Rotate tile anticlockwise}: left mouse button, \q{A} key
340 \dt \e{Rotate tile clockwise}: right mouse button, \q{D} key
342 \dt \e{Rotate tile by 180 degrees}: \q{F} key
344 \dt \e{Lock (or unlock) tile}: middle mouse button, shift-click, \q{S} key
346 \dd You can lock a tile once you're sure of its orientation. You can
347 also unlock it again, but while it's locked you can't accidentally
350 The following controls are not necessary to complete the game, but may
353 \dt \e{Shift grid}: Shift + arrow keys
355 \dd On grids that wrap, you can move the origin of the grid, so that
356 tiles that were on opposite sides of the grid can be seen together.
358 \dt \e{Move centre}: Ctrl + arrow keys
360 \dd You can change which tile is used as the source of highlighting.
361 (It doesn't ultimately matter which tile this is, as every tile will
362 be connected to every other tile in a correct solution, but it may be
363 helpful in the intermediate stages of solving the puzzle.)
365 \dt \e{Jumble tiles}: \q{J} key
367 \dd This key turns all tiles that are not locked to random
370 (All the actions described in \k{common-actions} are also available.)
372 \H{net-params} \I{parameters, for Net}Net parameters
374 These parameters are available from the \q{Custom...} option on the
377 \dt \e{Width}, \e{Height}
379 \dd Size of grid in tiles.
381 \dt \e{Walls wrap around}
383 \dd If checked, flow can pass from the left edge to the right edge,
384 and from top to bottom, and vice versa.
386 \dt \e{Barrier probability}
388 \dd A number between 0.0 and 1.0 controlling whether an immovable
389 barrier is placed between two tiles to prevent flow between them (a
390 higher number gives more barriers). Since barriers are immovable, they
391 act as constraints on the solution (i.e., hints).
395 The grid generation in Net has been carefully arranged so that the
396 barriers are independent of the rest of the grid. This means that if
397 you note down the random seed used to generate the current puzzle
398 (see \k{common-id}), change the \e{Barrier probability} parameter,
399 and then re-enter the same random seed, you should see exactly the
400 same starting grid, with the only change being the number of
401 barriers. So if you're stuck on a particular grid and need a hint,
402 you could start up another instance of Net, set up the same
403 parameters but a higher barrier probability, and enter the game seed
404 from the original Net window.
408 \dt \e{Ensure unique solution}
410 \dd Normally, Net will make sure that the puzzles it presents have
411 only one solution. Puzzles with ambiguous sections can be more
412 difficult and more subtle, so if you like you can turn off this
413 feature and risk having ambiguous puzzles. (Also, finding \e{all}
414 the possible solutions can be an additional challenge for an
420 \cfg{winhelp-topic}{games.cube}
422 This is another one I originally saw as a web game. This one was a
423 Java game \k{cube-java-game}, by Paul Scott. You have a grid of 16
424 squares, six of which are blue; on one square rests a cube. Your move
425 is to use the arrow keys to roll the cube through 90 degrees so that
426 it moves to an adjacent square. If you roll the cube on to a blue
427 square, the blue square is picked up on one face of the cube; if you
428 roll a blue face of the cube on to a non-blue square, the blueness is
429 put down again. (In general, whenever you roll the cube, the two faces
430 that come into contact swap colours.) Your job is to get all six blue
431 squares on to the six faces of the cube at the same time. Count your
432 moves and try to do it in as few as possible.
434 Unlike the original Java game, my version has an additional feature:
435 once you've mastered the game with a cube rolling on a square grid,
436 you can change to a triangular grid and roll any of a tetrahedron, an
437 octahedron or an icosahedron.
439 \B{cube-java-game} \W{http://www3.sympatico.ca/paulscott/cube/cube.htm}\cw{http://www3.sympatico.ca/paulscott/cube/cube.htm}
441 \H{cube-controls} \i{Cube controls}
443 \IM{Cube controls} controls, for Cube
444 \IM{Cube controls} keys, for Cube
445 \IM{Cube controls} shortcuts (keyboard), for Cube
447 This game can be played with either the keyboard or the mouse.
449 Left-clicking anywhere on the window will move the cube (or other
450 solid) towards the mouse pointer.
452 The arrow keys can also used to roll the cube on its square grid in
453 the four cardinal directions.
454 On the triangular grids, the mapping of arrow keys to directions is
455 more approximate. Vertical movement is disallowed where it doesn't
456 make sense. The four keys surrounding the arrow keys on the numeric
457 keypad (\q{7}, \q{9}, \q{1}, \q{3}) can be used for diagonal movement.
459 (All the actions described in \k{common-actions} are also available.)
461 \H{cube-params} \I{parameters, for Cube}Cube parameters
463 These parameters are available from the \q{Custom...} option on the
466 \dt \e{Type of solid}
468 \dd Selects the solid to roll (and hence the shape of the grid):
469 tetrahedron, cube, octahedron, or icosahedron.
471 \dt \e{Width / top}, \e{Height / bottom}
473 \dd On a square grid, horizontal and vertical dimensions. On a
474 triangular grid, the number of triangles on the top and bottom rows
478 \C{fifteen} \i{Fifteen}
480 \cfg{winhelp-topic}{games.fifteen}
482 The old ones are the best: this is the good old \q{\i{15-puzzle}}
483 with sliding tiles. You have a 4\by\.4 square grid; 15 squares
484 contain numbered tiles, and the sixteenth is empty. Your move is to
485 choose a tile next to the empty space, and slide it into the space.
486 The aim is to end up with the tiles in numerical order, with the
487 space in the bottom right (so that the top row reads 1,2,3,4 and the
488 bottom row reads 13,14,15,\e{space}).
490 \H{fifteen-controls} \i{Fifteen controls}
492 \IM{Fifteen controls} controls, for Fifteen
493 \IM{Fifteen controls} keys, for Fifteen
494 \IM{Fifteen controls} shortcuts (keyboard), for Fifteen
496 This game can be controlled with the mouse or the keyboard.
498 A left-click with the mouse in the row or column containing the empty
499 space will move as many tiles as necessary to move the space to the
502 The arrow keys will move a tile adjacent to the space in the direction
503 indicated (moving the space in the \e{opposite} direction).
505 (All the actions described in \k{common-actions} are also available.)
507 \H{fifteen-params} \I{parameters, for Fifteen}Fifteen parameters
509 The only options available from the \q{Custom...} option on the \q{Type}
510 menu are \e{Width} and \e{Height}, which are self-explanatory. (Once
511 you've changed these, it's not a \q{15-puzzle} any more, of course!)
514 \C{sixteen} \i{Sixteen}
516 \cfg{winhelp-topic}{games.sixteen}
518 Another sliding tile puzzle, visually similar to Fifteen (see
519 \k{fifteen}) but with a different type of move. This time, there is no
520 hole: all 16 squares on the grid contain numbered squares. Your move
521 is to shift an entire row left or right, or shift an entire column up
522 or down; every time you do that, the tile you shift off the grid
523 re-appears at the other end of the same row, in the space you just
524 vacated. To win, arrange the tiles into numerical order (1,2,3,4 on
525 the top row, 13,14,15,16 on the bottom). When you've done that, try
526 playing on different sizes of grid.
528 I \e{might} have invented this game myself, though only by accident if
529 so (and I'm sure other people have independently invented it). I
530 thought I was imitating a screensaver I'd seen, but I have a feeling
531 that the screensaver might actually have been a Fifteen-type puzzle
532 rather than this slightly different kind. So this might be the one
533 thing in my puzzle collection which represents creativity on my part
534 rather than just engineering.
536 \H{sixteen-controls} \I{controls, for Sixteen}Sixteen controls
538 This game is played with the mouse. Left-clicking on an arrow will
539 move the appropriate row or column in the direction indicated.
540 Right-clicking will move it in the opposite direction.
542 (All the actions described in \k{common-actions} are also available.)
544 \H{sixteen-params} \I{parameters, for Sixteen}Sixteen parameters
546 The parameters available from the \q{Custom...} option on the
549 \b \e{Width} and \e{Height}, which are self-explanatory.
551 \b You can ask for a limited shuffling operation to be performed on
552 the grid. By default, Sixteen will shuffle the grid in such a way
553 that any arrangement is about as probable as any other. You can
554 override this by requesting a precise number of shuffling moves to
555 be performed. Typically your aim is then to determine the precise
556 set of shuffling moves and invert them exactly, so that you answer
557 (say) a four-move shuffle with a four-move solution. Note that the
558 more moves you ask for, the more likely it is that solutions shorter
559 than the target length will turn out to be possible.
562 \C{twiddle} \i{Twiddle}
564 \cfg{winhelp-topic}{games.twiddle}
566 Twiddle is a tile-rearrangement puzzle, visually similar to Sixteen
567 (see \k{sixteen}): you are given a grid of square tiles, each
568 containing a number, and your aim is to arrange the numbers into
571 In basic Twiddle, your move is to rotate a square group of four
572 tiles about their common centre. (Orientation is not significant in
573 the basic puzzle, although you can select it.) On more advanced
574 settings, you can rotate a larger square group of tiles.
576 I first saw this type of puzzle in the GameCube game \q{Metroid
577 Prime 2}. In the Main Gyro Chamber in that game, there is a puzzle
578 you solve to unlock a door, which is a special case of Twiddle. I
579 developed this game as a generalisation of that puzzle.
581 \H{twiddle-controls} \I{controls, for Twiddle}Twiddle controls
583 To play Twiddle, click the mouse in the centre of the square group
584 you wish to rotate. In the basic mode, you rotate a 2\by\.2 square,
585 which means you have to click at a corner point where four tiles
588 In more advanced modes you might be rotating 3\by\.3 or even more at
589 a time; if the size of the square is odd then you simply click in
590 the centre tile of the square you want to rotate.
592 Clicking with the left mouse button rotates the group anticlockwise.
593 Clicking with the right button rotates it clockwise.
595 (All the actions described in \k{common-actions} are also available.)
597 \H{twiddle-parameters} \I{parameters, for Twiddle}Twiddle parameters
599 Twiddle provides several configuration options via the \q{Custom}
600 option on the \q{Type} menu:
602 \b You can configure the width and height of the puzzle grid.
604 \b You can configure the size of square block that rotates at a time.
606 \b You can ask for every square in the grid to be distinguishable
607 (the default), or you can ask for a simplified puzzle in which there
608 are groups of identical numbers. In the simplified puzzle your aim
609 is just to arrange all the 1s into the first row, all the 2s into
610 the second row, and so on.
612 \b You can configure whether the orientation of tiles matters. If
613 you ask for an orientable puzzle, each tile will have a triangle
614 drawn in it. All the triangles must be pointing upwards to complete
617 \b You can ask for a limited shuffling operation to be performed on
618 the grid. By default, Twiddle will shuffle the grid so much that any
619 arrangement is about as probable as any other. You can override this
620 by requesting a precise number of shuffling moves to be performed.
621 Typically your aim is then to determine the precise set of shuffling
622 moves and invert them exactly, so that you answer (say) a four-move
623 shuffle with a four-move solution. Note that the more moves you ask
624 for, the more likely it is that solutions shorter than the target
625 length will turn out to be possible.
628 \C{rectangles} \i{Rectangles}
630 \cfg{winhelp-topic}{games.rectangles}
632 You have a grid of squares, with numbers written in some (but not all)
633 of the squares. Your task is to subdivide the grid into rectangles of
634 various sizes, such that (a) every rectangle contains exactly one
635 numbered square, and (b) the area of each rectangle is equal to the
636 number written in its numbered square.
638 Credit for this game goes to the Japanese puzzle magazine \i{Nikoli}
639 \k{nikoli-rect}; I've also seen a Palm implementation at \i{Puzzle
640 Palace} \k{puzzle-palace-rect}. Unlike Puzzle Palace's
641 implementation, my version automatically generates random grids of
642 any size you like. The quality of puzzle design is therefore not
643 quite as good as hand-crafted puzzles would be, but on the plus side
644 you get an inexhaustible supply of puzzles tailored to your own
647 \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}
649 \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}
651 \H{rectangles-controls} \I{controls, for Rectangles}Rectangles controls
653 This game is played with the mouse.
655 Left-click any edge to toggle it on or off, or click and drag to draw
656 an entire rectangle (or line) on the grid in one go (removing any
657 existing edges within that rectangle).
659 When a rectangle of the correct size is completed, it will be shaded.
661 (All the actions described in \k{common-actions} are also available.)
663 \H{rectangles-params} \I{parameters, for Rectangles}Rectangles parameters
665 These parameters are available from the \q{Custom...} option on the
668 \dt \e{Width}, \e{Height}
670 \dd Size of grid, in squares.
672 \dt \e{Expansion factor}
674 \dd This is a mechanism for changing the type of grids generated by
675 the program. Some people prefer a grid containing a few large
676 rectangles to one containing many small ones. So you can ask
677 Rectangles to essentially generate a \e{smaller} grid than the size
678 you specified, and then to expand it by adding rows and columns.
682 The default expansion factor of zero means that Rectangles will
683 simply generate a grid of the size you ask for, and do nothing
684 further. If you set an expansion factor of (say) 0.5, it means that
685 each dimension of the grid will be expanded to half again as big
686 after generation. In other words, the initial grid will be 2/3 the
687 size in each dimension, and will be expanded to its full size
688 without adding any more rectangles.
690 Setting an expansion factor of around 0.5 tends to make the game
691 more difficult, and also (in my experience) rewards a less deductive
692 and more intuitive playing style. If you set it \e{too} high,
693 though, the game simply cannot generate more than a few rectangles
694 to cover the entire grid, and the game becomes trivial.
698 \dt \e{Ensure unique solution}
700 \dd Normally, Rectangles will make sure that the puzzles it presents
701 have only one solution. Puzzles with ambiguous sections can be more
702 difficult and more subtle, so if you like you can turn off this
703 feature and risk having ambiguous puzzles. Also, finding \e{all} the
704 possible solutions can be an additional challenge for an advanced
705 player. Turning off this option can also speed up puzzle generation.
708 \C{netslide} \i{Netslide}
710 \cfg{winhelp-topic}{games.netslide}
712 This game combines the grid generation of Net (see \k{net}) with the
713 movement of Sixteen (see \k{sixteen}): you have a Net grid, but
714 instead of rotating tiles back into place you have to slide them
715 into place by moving a whole row at a time.
717 As in Sixteen, \I{controls, for Netslide}control is with the mouse.
718 See \k{sixteen-controls}.
720 \I{parameters, for Netslide}The available game parameters have similar
721 meanings to those in Net (see \k{net-params}) and Sixteen (see
724 Netslide was contributed to this collection by Richard Boulton.
727 \C{pattern} \i{Pattern}
729 \cfg{winhelp-topic}{games.pattern}
731 You have a grid of squares, which must all be filled in either black
732 or white. Beside each row of the grid are listed the lengths of the
733 runs of black squares on that row; above each column are listed the
734 lengths of the runs of black squares in that column. Your aim is to
735 fill in the entire grid black or white.
737 I first saw this puzzle form around 1995, under the name
738 \q{\i{nonograms}}. I've seen it in various places since then, under
741 Normally, puzzles of this type turn out to be a meaningful picture
742 of something once you've solved them. However, since this version
743 generates the puzzles automatically, they will just look like random
744 groupings of squares. (One user has suggested that this is actually
745 a \e{good} thing, since it prevents you from guessing the colour of
746 squares based on the picture, and forces you to use logic instead.)
747 The advantage, though, is that you never run out of them.
749 \H{pattern-controls} \I{controls, for Pattern}Pattern controls
751 This game is played with the mouse.
753 Left-click in a square to colour it black. Right-click to colour it
754 white. If you make a mistake, you can middle-click, or hold down
755 Shift while clicking with any button, to colour the square in the
756 default grey (meaning \q{undecided}) again.
758 You can click and drag with the left or right mouse button to colour
759 a vertical or horizontal line of squares black or white at a time
760 (respectively). If you click and drag with the middle button, or
761 with Shift held down, you can colour a whole rectangle of squares
764 (All the actions described in \k{common-actions} are also available.)
766 \H{pattern-parameters} \I{parameters, for Pattern}Pattern parameters
768 The only options available from the \q{Custom...} option on the \q{Type}
769 menu are \e{Width} and \e{Height}, which are self-explanatory.
774 \cfg{winhelp-topic}{games.solo}
776 You have a square grid, which is divided into square or rectangular
777 blocks. Each square must be filled in with a digit from 1 to the
778 size of the grid, in such a way that
780 \b every row contains only one occurrence of each digit
782 \b every column contains only one occurrence of each digit
784 \b every block contains only one occurrence of each digit.
786 You are given some of the numbers as clues; your aim is to place the
787 rest of the numbers correctly.
789 The default puzzle size is 3\by\.3 (a 9\by\.9 actual grid, divided
790 into nine 3\by\.3 blocks). You can also select sizes with
791 rectangular blocks instead of square ones, such as 2\by\.3 (a
792 6\by\.6 grid divided into six 3\by\.2 blocks).
794 If you select a puzzle size which requires more than 9 digits, the
795 additional digits will be letters of the alphabet. For example, if
796 you select 3\by\.4 then the digits which go in your grid will be 1
797 to 9, plus \cq{a}, \cq{b} and \cq{c}.
799 I first saw this puzzle in \i{Nikoli} \k{nikoli-solo}, although it's also
800 been popularised by various newspapers under the name \q{Sudoku} or
803 \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}
805 \H{solo-controls} \I{controls, for Solo}Solo controls
807 To play Solo, simply click the mouse in any empty square and then
808 type a digit or letter on the keyboard to fill that square. If you
809 make a mistake, click the mouse in the incorrect square and press
810 Space to clear it again (or use the Undo feature).
812 If you \e{right}-click in a square and then type a number, that
813 number will be entered in the square as a \q{pencil mark}. You can
814 have pencil marks for multiple numbers in the same square.
816 The game pays no attention to pencil marks, so exactly what you use
817 them for is up to you: you can use them as reminders that a
818 particular square needs to be re-examined once you know more about a
819 particular number, or you can use them as lists of the possible
820 numbers in a given square, or anything else you feel like.
822 To erase a single pencil mark, right-click in the square and type
823 the same number again.
825 All pencil marks in a square are erased when you left-click and type
826 a number, or when you left-click and press space. Right-clicking and
827 pressing space will also erase pencil marks.
829 (All the actions described in \k{common-actions} are also available.)
831 \H{solo-parameters} \I{parameters, for Solo}Solo parameters
833 Solo allows you to configure two separate dimensions of the puzzle
834 grid on the \q{Type} menu: the number of columns, and the number of
835 rows, into which the main grid is divided. (The size of a block is
836 the inverse of this: for example, if you select 2 columns and 3 rows,
837 each actual block will have 3 columns and 2 rows.)
839 You can also configure the type of symmetry shown in the generated
840 puzzles. More symmetry makes the puzzles look prettier but may also
841 make them easier, since the symmetry constraints can force more
842 clues than necessary to be present. Completely asymmetric puzzles
843 have the freedom to contain as few clues as possible.
845 Finally, you can configure the difficulty of the generated puzzles.
846 Difficulty levels are judged by the complexity of the techniques of
847 deduction required to solve the puzzle: each level requires a mode
848 of reasoning which was not necessary in the previous one. In
849 particular, on difficulty levels \q{Trivial} and \q{Basic} there
850 will be a square you can fill in with a single number at all times,
851 whereas at \q{Intermediate} level and beyond you will have to make
852 partial deductions about the \e{set} of squares a number could be in
853 (or the set of numbers that could be in a square).
854 \#{Advanced, Extreme?}
855 At \q{Unreasonable} level, even this is not enough, and you will
856 eventually have to make a guess, and then backtrack if it turns out
859 Generating difficult puzzles is itself difficult: if you select one
860 of the higher difficulty levels, Solo may have to make many attempts
861 at generating a puzzle before it finds one hard enough for you. Be
862 prepared to wait, especially if you have also configured a large
868 \cfg{winhelp-topic}{games.mines}
870 You have a grid of covered squares, some of which contain mines, but
871 you don't know which. Your job is to uncover every square which does
872 \e{not} contain a mine. If you uncover a square containing a mine,
873 you lose. If you uncover a square which does not contain a mine, you
874 are told how many mines are contained within the eight surrounding
877 This game needs no introduction; popularised by Windows, it is
878 perhaps the single best known desktop puzzle game in existence.
880 This version of it has an unusual property. By default, it will
881 generate its mine positions in such a way as to ensure that you
882 never need to \e{guess} where a mine is: you will always be able to
883 deduce it somehow. So you will never, as can happen in other
884 versions, get to the last four squares and discover that there are
885 two mines left but you have no way of knowing for sure where they
888 \H{mines-controls} \I{controls, for Mines}Mines controls
890 This game is played with the mouse.
892 If you left-click in a covered square, it will be uncovered.
894 If you right-click in a covered square, it will place a flag which
895 indicates that the square is believed to be a mine. Left-clicking in
896 a marked square will not uncover it, for safety. You can right-click
897 again to remove a mark placed in error.
899 If you left-click in an \e{uncovered} square, it will \q{clear
900 around} the square. This means: if the square has exactly as many
901 flags surrounding it as it should have mines, then all the covered
902 squares next to it which are \e{not} flagged will be uncovered. So
903 once you think you know the location of all the mines around a
904 square, you can use this function as a shortcut to avoid having to
905 click on each of the remaining squares one by one.
907 If you uncover a square which has \e{no} mines in the surrounding
908 eight squares, then it is obviously safe to uncover those squares in
909 turn, and so on if any of them also has no surrounding mines. This
910 will be done for you automatically; so sometimes when you uncover a
911 square, a whole new area will open up to be explored.
913 All the actions described in \k{common-actions} are also available.
915 Even Undo is available, although you might consider it cheating to
916 use it. If you step on a mine, the program will only reveal the mine
917 in question (unlike most other implementations, which reveal all of
918 them). You can then Undo your fatal move and continue playing if you
919 like. The program will track the number of times you died (and Undo
920 will not reduce that counter), so when you get to the end of the
921 game you know whether or not you did it without making any errors.
923 (If you really want to know the full layout of the grid, which other
924 implementations will show you after you die, you can always use the
927 \H{mines-parameters} \I{parameters, for Mines}Mines parameters
929 The options available from the \q{Custom...} option on the \q{Type}
932 \dt \e{Width}, \e{Height}
934 \dd Size of grid in squares.
938 \dd Number of mines in the grid. You can enter this as an absolute
939 mine count, or alternatively you can put a \cw{%} sign on the end in
940 which case the game will arrange for that proportion of the squares
941 in the grid to be mines.
945 Beware of setting the mine count too high. At very high densities,
946 the program may spend forever searching for a solvable grid.
950 \dt \e{Ensure solubility}
952 \dd When this option is enabled (as it is by default), Mines will
953 ensure that the entire grid can be fully deduced starting from the
954 initial open space. If you prefer the riskier grids generated by
955 other implementations, you can switch off this option.
958 \C{samegame} \i{Same Game}
960 \cfg{winhelp-topic}{games.samegame}
962 You have a grid of coloured squares, which you have to clear by
963 highlighting contiguous regions of more than one coloured square;
964 the larger the region you highlight, the more points you get (and
965 the faster you clear the arena).
967 If you clear the grid you win. If you end up with nothing but
968 single squares (i.e., there are no more clickable regions left) you
971 Removing a region causes the rest of the grid to shuffle up:
972 blocks that are suspended will fall down (first), and then empty
973 columns are filled from the right.
975 Same Game was contributed to this collection by James Harvey.
977 \H{samegame-controls} \i{Same Game controls}
979 \IM{Same Game controls} controls, for Same Game
980 \IM{Same Game controls} keys, for Same Game
981 \IM{Same Game controls} shortcuts (keyboard), for Same Game
983 This game can be played with either the keyboard or the mouse.
985 If you left-click an unselected region, it becomes selected (possibly
986 clearing the current selection).
988 If you left-click the selected region, it will be removed (and the
989 rest of the grid shuffled immediately).
991 If you right-click the selected region, it will be unselected.
993 The cursor keys move a cursor around the grid. Pressing the Space or
994 Enter keys while the cursor is in an unselected region selects it;
995 pressing Space or Enter again removes it as above.
997 (All the actions described in \k{common-actions} are also available.)
999 \H{samegame-parameters} \I{parameters, for Same Game}Same Game parameters
1001 These parameters are available from the \q{Custom...} option on the
1004 \dt \e{Width}, \e{Height}
1006 \dd Size of grid in squares.
1008 \dt \e{No. of colours}
1010 \dd Number of different colours used to fill the grid; the more colours,
1011 the fewer large regions of colour and thus the more difficult it is to
1012 successfully clear the grid.
1014 \dt \e{Scoring system}
1016 \dd Controls the precise mechanism used for scoring. With the default
1017 system, \q{(n-2)^2}, only regions of three squares or more will score
1018 any points at all. With the alternative \q{(n-1)^2} system, regions of
1019 two squares score a point each, and larger regions score relatively
1022 \dt \e{Ensure solubility}
1024 \dd If this option is ticked (the default state), generated grids
1025 will be guaranteed to have at least one solution.
1029 If you turn it off, the game generator will not try to guarantee
1030 soluble grids; it will, however, still ensure that there are at
1031 least 2 squares of each colour on the grid at the start (since a
1032 grid with exactly one square of a given colour is \e{definitely}
1033 insoluble). Grids generated with this option disabled may contain
1034 more large areas of contiguous colour, leading to opportunities for
1035 higher scores; they can also take less time to generate.
1042 \cfg{winhelp-topic}{games.flip}
1044 You have a grid of squares, some light and some dark. Your aim is to
1045 light all the squares up at the same time. You can choose any square
1046 and flip its state from light to dark or dark to light, but when you
1047 do so, other squares around it change state as well.
1049 Each square contains a small diagram showing which other squares
1050 change when you flip it.
1052 \H{flip-controls} \i{Flip controls}
1054 \IM{Flip controls} controls, for Flip
1055 \IM{Flip controls} keys, for Flip
1056 \IM{Flip controls} shortcuts (keyboard), for Flip
1058 This game can be played with either the keyboard or the mouse.
1060 Left-click in a square to flip it and its associated squares, or
1061 use the cursor keys to choose a square and the space bar or Enter
1064 If you use the \q{Solve} function on this game, it will mark some of
1065 the squares in red. If you click once in every square with a red
1066 mark, the game should be solved. (If you click in a square
1067 \e{without} a red mark, a red mark will appear in it to indicate
1068 that you will need to reverse that operation to reach the solution.)
1070 (All the actions described in \k{common-actions} are also available.)
1072 \H{flip-parameters} \I{parameters, for flip}Flip parameters
1074 These parameters are available from the \q{Custom...} option on the
1077 \dt \e{Width}, \e{Height}
1079 \dd Size of grid in squares.
1083 \dd This control determines the shape of the region which is flipped
1084 by clicking in any given square. The default setting, \q{Crosses},
1085 causes every square to flip itself and its four immediate neighbours
1086 (or three or two if it's at an edge or corner). The other setting,
1087 \q{Random}, causes a random shape to be chosen for every square, so
1088 the game is different every time.
1093 \cfg{winhelp-topic}{games.guess}
1095 You have a set of coloured pegs, and have to reproduce a
1096 predetermined sequence of them (chosen by the computer) within a
1097 certain number of guesses.
1099 Each guess gets marked with the number of correctly-coloured pegs
1100 in the correct places (in black), and also the number of
1101 correctly-coloured pegs in the wrong places (in white).
1103 This game is also known (and marketed, by Hasbro, mainly) as
1104 a board game \q{Mastermind}, with 6 colours, 4 pegs per row, and 10 guesses.
1105 However, this version allows custom settings of number of colours
1106 (up to 10), number of pegs per row, and number of guesses.
1108 Guess was contributed to this collection by James Harvey.
1110 \H{guess-controls} \i{Guess controls}
1112 \IM{Guess controls} controls, for Guess
1113 \IM{Guess controls} keys, for Guess
1114 \IM{Guess controls} shortcuts (keyboard), for Guess
1116 This game can be played with either the keyboard or the mouse.
1118 With the mouse, drag a coloured peg from the tray on the left-hand
1119 side to its required position in the current guess; pegs may also be
1120 dragged from current and past guesses to copy them elsewhere. To
1121 remove a peg, drag it off its current position to somewhere invalid.
1123 Right-clicking in the current guess adds a \q{hold} marker; pegs
1124 that have hold markers will be automatically added to the next guess
1127 Alternatively, with the keyboard, the up and down cursor keys can be
1128 used to select a peg colour, the left and right keys to select a
1129 peg position, and the space bar or Enter key to place a peg of the
1130 selected colour in the chosen position. \q{D} or Backspace removes a
1131 peg, and \q{H} adds a hold marker.
1133 When the guess is complete, the smaller feedback pegs will be highlighted;
1134 clicking on these (or moving the peg cursor to them with the arrow keys
1135 and pressing the space bar or Enter key) will mark the current guess,
1136 copy any held pegs to the next guess, and move the \q{current guess}
1139 If you correctly position all the pegs the solution will be displayed
1140 below; if you run out of guesses (or select \q{Solve...}) the solution
1141 will also be revealed.
1143 (All the actions described in \k{common-actions} are also available.)
1145 \H{guess-parameters} \I{parameters, for Guess}Guess parameters
1147 These parameters are available from the \q{Custom...} option on the
1148 \q{Type} menu. The default game matches the parameters for the
1149 board game \q{Mastermind}.
1153 \dd Number of colours the solution is chosen from; from 2 to 10
1156 \dt \e{Pegs per guess}
1158 \dd Number of pegs per guess (more is harder).
1162 \dd Number of guesses you have to find the solution in (fewer is harder).
1164 \dt \e{Allow blanks}
1166 \dd Allows blank pegs to be given as part of a guess (makes it easier, because
1167 you know that those will never be counted as part of the solution). This
1168 is turned off by default.
1170 Note that this doesn't allow blank pegs in the solution; if you really wanted
1171 that, use one extra colour.
1173 \dt \e{Allow duplicates}
1175 \dd Allows the solution (and the guesses) to contain colours more than once;
1176 this increases the search space (making things harder), and is turned on by
1182 \cfg{winhelp-topic}{games.pegs}
1184 A number of pegs are placed in holes on a board. You can remove a
1185 peg by jumping an adjacent peg over it (horizontally or vertically)
1186 to a vacant hole on the other side. Your aim is to remove all but one
1187 of the pegs initially present.
1189 This game, best known as \I{Solitaire, Peg}\q{Peg Solitaire}, is
1190 possibly one of the oldest puzzle games still commonly known.
1192 \H{pegs-controls} \i{Pegs controls}
1194 \IM{Pegs controls} controls, for Pegs
1196 To move a peg, drag it with the mouse from its current position to
1197 its final position. If the final position is exactly two holes away
1198 from the initial position, is currently unoccupied by a peg, and
1199 there is a peg in the intervening square, the move will be permitted
1200 and the intervening peg will be removed.
1202 Vacant spaces which you can move a peg into are marked with holes. A
1203 space with no peg and no hole is not available for moving at all: it
1204 is an obstacle which you must work around.
1206 (All the actions described in \k{common-actions} are also available.)
1208 \H{pegs-parameters} \I{parameters, for Pegs}Pegs parameters
1210 These parameters are available from the \q{Custom...} option on the
1213 \dt \e{Width}, \e{Height}
1215 \dd Size of grid in holes.
1219 \dd Controls whether you are given a board of a standard shape or a
1220 randomly generated shape. The two standard shapes currently
1221 supported are \q{Cross} and \q{Octagon} (also commonly known as the
1222 English and European traditional board layouts respectively).
1223 Selecting \q{Random} will give you a different board shape every
1224 time (but always one that is known to have a solution).
1227 \C{dominosa} \i{Dominosa}
1229 \cfg{winhelp-topic}{games.dominosa}
1231 A normal set of dominoes \dash that is, one instance of every
1232 (unordered) pair of numbers from 0 to 6 \dash has been arranged
1233 irregularly into a rectangle; then the number in each square has
1234 been written down and the dominoes themselves removed. Your task is
1235 to reconstruct the pattern by arranging the set of dominoes to match
1236 the provided array of numbers.
1238 This puzzle is widely credited to O. S. Adler, and takes part of its
1239 name from those initials.
1241 \H{dominosa-controls} \i{Dominosa controls}
1243 \IM{Dominosa controls} controls, for Dominosa
1245 Left-clicking between any two adjacent numbers places a domino
1246 covering them, or removes one if it is already present. Trying to
1247 place a domino which overlaps existing dominoes will remove the ones
1250 Right-clicking between two adjacent numbers draws a line between
1251 them, which you can use to remind yourself that you know those two
1252 numbers are \e{not} covered by a single domino. Right-clicking again
1255 (All the actions described in \k{common-actions} are also available.)
1257 \H{dominosa-parameters} \I{parameters, for Dominosa}Dominosa parameters
1259 These parameters are available from the \q{Custom...} option on the
1262 \dt \e{Maximum number on dominoes}
1264 \dd Controls the size of the puzzle, by controlling the size of the
1265 set of dominoes used to make it. Dominoes with numbers going up to N
1266 will give rise to an (N+2) \by (N+1) rectangle; so, in particular,
1267 the default value of 6 gives an 8\by\.7 grid.
1269 \dt \e{Ensure unique solution}
1271 \dd Normally, Dominosa will make sure that the puzzles it presents
1272 have only one solution. Puzzles with ambiguous sections can be more
1273 difficult and sometimes more subtle, so if you like you can turn off
1274 this feature. Also, finding \e{all} the possible solutions can be an
1275 additional challenge for an advanced player. Turning off this option
1276 can also speed up puzzle generation.
1279 \C{untangle} \i{Untangle}
1281 \cfg{winhelp-topic}{games.untangle}
1283 You are given a number of points, some of which have lines drawn
1284 between them. You can move the points about arbitrarily; your aim is
1285 to position the points so that no line crosses another.
1287 I originally saw this in the form of a Flash game called \i{Planarity}
1288 \k{Planarity}, written by John Tantalo.
1290 \B{Planarity} \W{http://home.cwru.edu/~jnt5/Planarity}\cw{http://home.cwru.edu/~jnt5/Planarity}
1292 \H{untangle-controls} \i{Untangle controls}
1294 \IM{Untangle controls} controls, for Untangle
1296 To move a point, click on it with the left mouse button and drag it
1297 into a new position.
1299 (All the actions described in \k{common-actions} are also available.)
1301 \H{untangle-parameters} \I{parameters, for Untangle}Untangle parameters
1303 There is only one parameter available from the \q{Custom...} option
1304 on the \q{Type} menu:
1306 \dt \e{Number of points}
1308 \dd Controls the size of the puzzle, by specifying the number of
1309 points in the generated graph.
1312 \C{blackbox} \i{Black Box}
1314 \cfg{winhelp-topic}{games.blackbox}
1316 A number of balls are hidden in a rectangular arena. You have to
1317 deduce the positions of the balls by firing lasers from positions
1318 on the edge of the arena and observing how they are deflected.
1320 Lasers will fire straight until they hit the opposite side of the
1321 arena (at which point they emerge), unless affected by balls in one of
1324 \b A laser that hits a ball head-on is absorbed and will never re-emerge.
1325 This includes lasers that meet a ball on the first rank of the arena.
1327 \b A laser with a ball to its front-left square gets deflected 90 degrees
1330 \b A laser with a ball to its front-right square gets similarly deflected
1333 \b A laser that would re-emerge from the entry location is considered to be
1336 \b A laser which would get deflected before entering the arena (down the
1337 \q{firing range}) by a ball to the front-left or front-right of its
1338 entry point is also considered to be \q{reflected}.
1340 Lasers that are reflected appear as a \q{R}; lasers that hit balls
1341 dead-on appear as \q{H}. Otherwise, a number appears at the firing point
1342 and the location where the laser emerges (this number is unique to
1345 You can place guesses as to the location of the balls, based on the
1346 entry and exit patterns of the lasers; once you have placed enough
1347 balls a button appears enabling you to have your guesses checked.
1349 Here is a diagram showing how the positions of balls can create each
1350 of the laser behaviours shown above:
1363 As shown, it is possible for a ball to receive multiple reflections
1364 before re-emerging (see turn 3). Similarly, a ball may be reflected
1365 (possibly more than once) before receiving a hit (the \q{H} on the
1366 left side of the example).
1368 Note that any layout with more that 4 balls may have a non-unique
1369 solution. The following diagram illustrates this; if you know the
1370 board contains 5 balls, it is impossible to determine where the fifth
1371 ball is (possible positions marked with an x):
1384 For this reason when you have your guesses checked the game will
1385 check that your solution \e{produces the same results} as the
1386 computer's, rather than that your solution is identical to the
1387 computer's. So in the above example, you could put the fifth ball at
1388 \e{any} of the locations marked with an x, and you would still win.
1390 Black Box was contributed to this collection by James Harvey.
1392 \H{blackbox-controls} \i{Black Box controls}
1394 \IM{Black Box controls}controls, for Black Box
1396 To fire a laser, left-click in a square around the side of the arena.
1397 The results will be displayed immediately. Lasers may not be fired
1398 twice (because the results will never change). Holding down the left
1399 button will highlight the current go (or a previous go) to confirm the
1400 exit point for that laser, if applicable.
1402 To guess the location of a ball, left-click within the arena and a
1403 black circle will appear marking the guess; to remove the guessed ball
1406 Locations in the arena may be locked against modification by
1407 right-clicking; whole rows and columns may be similarly locked by
1408 right-clicking in the laser firing range above/below that column, or
1409 to the left/right of that row.
1411 When an appropriate number of balls have been guessed a button will
1412 appear at the top-left corner of the grid; clicking that will mark
1415 If you click the \q{mark} button and your guesses are not correct,
1416 the game will show you as little information as possible to
1417 demonstrate this to you, so you can try again. If your ball
1418 positions are not consistent with the laser paths you already know
1419 about, one laser path will be circled to indicate that it proves you
1420 wrong. If your positions match all the existing laser paths but are
1421 still wrong, one new laser path will be revealed (written in red)
1422 which is not consistent with your current guesses.
1424 If you decide to give up completely, you can select Solve to reveal
1425 the actual ball positions. At this point, correctly-placed balls
1426 will be displayed as filled black circles; incorrectly-placed balls
1427 are displayed as filled black circles with red crosses, and missing
1428 balls are filled red circles. In addition, a red circle marks any
1429 laser you had already fired which is not consistent with your ball
1430 layout (just as when you press the mark button), and red text marks
1431 any laser you \e{could} have fired in order to distinguish your ball
1432 layout from the right one.
1434 (All the actions described in \k{common-actions} are also available.)
1436 \H{blackbox-parameters} \I{parameters, for Black Box}Black Box parameters
1438 These parameters are available from the \q{Custom...} option on the
1441 \dt \e{Width}, \e{Height}
1443 \dd Size of grid in squares. There are 2 \by \e{Width} \by \e{Height} lasers
1444 per grid, two per row and two per column.
1446 \dt \e{No. of balls}
1448 \dd Number of balls to place in the grid. This can be a single number,
1449 or a range (separated with a hyphen, like \q{2-6}), and determines the
1450 number of balls to place on the grid. The \q{reveal} button is only
1451 enabled if you have guessed an appropriate number of balls; a guess
1452 using a different number to the original solution is still acceptable,
1453 if all the laser inputs and outputs match.
1458 \cfg{winhelp-topic}{games.slant}
1460 You have a grid of squares. Your aim is to draw a diagonal line
1461 through each square, and choose which way each line slants so that
1462 the following conditions are met:
1464 \b The diagonal lines never form a loop.
1466 \b Any point with a circled number has precisely that many lines
1467 meeting at it. (Thus, a 4 is the centre of a cross shape, whereas a
1468 zero is the centre of a diamond shape \dash or rather, a partial
1469 diamond shape, because a zero can never appear in the middle of the
1470 grid because that would immediately cause a loop.)
1472 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-slant}.
1475 \W{http://www.nikoli.co.jp/puzzles/39/index.htm}\cw{http://www.nikoli.co.jp/puzzles/39/index.htm}
1478 \H{slant-controls} \i{Slant controls}
1480 \IM{Slant controls} controls, for Slant
1482 Left-clicking in a blank square will place a \cw{\\} in it (a line
1483 leaning to the left, i.e. running from the top left of the square to
1484 the bottom right). Right-clicking in a blank square will place a
1485 \cw{/} in it (leaning to the right, running from top right to bottom
1488 Continuing to click either button will cycle between the three
1489 possible square contents. Thus, if you left-click repeatedly in a
1490 blank square it will change from blank to \cw{\\} to \cw{/} back to
1491 blank, and if you right-click repeatedly the square will change from
1492 blank to \cw{/} to \cw{\\} back to blank. (Therefore, you can play
1493 the game entirely with one button if you need to.)
1495 (All the actions described in \k{common-actions} are also available.)
1497 \H{slant-parameters} \I{parameters, for Slant}Slant parameters
1499 These parameters are available from the \q{Custom...} option on the
1502 \dt \e{Width}, \e{Height}
1504 \dd Size of grid in squares.
1508 \dd Controls the difficulty of the generated puzzle. At Hard level,
1509 you are required to do deductions based on knowledge of
1510 \e{relationships} between squares rather than always being able to
1511 deduce the exact contents of one square at a time. (For example, you
1512 might know that two squares slant in the same direction, even if you
1513 don't yet know what that direction is, and this might enable you to
1514 deduce something about still other squares.) Even at Hard level,
1515 guesswork and backtracking should never be necessary.
1518 \C{lightup} \i{Light Up}
1520 \cfg{winhelp-topic}{games.lightup}
1522 You have a grid of squares. Some are filled in black; some of the
1523 black squares are numbered. Your aim is to \q{light up} all the
1524 empty squares by placing light bulbs in some of them.
1526 Each light bulb illuminates the square it is on, plus all squares in
1527 line with it horizontally or vertically unless a black square is
1530 To win the game, you must satisfy the following conditions:
1532 \b All non-black squares are lit.
1534 \b No light is lit by another light.
1536 \b All numbered black squares have exactly that number of lights adjacent to
1537 them (in the four squares above, below, and to the side).
1539 Non-numbered black squares may have any number of lights adjacent to them.
1541 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-lightup}.
1543 Light Up was contributed to this collection by James Harvey.
1546 \W{http://www.nikoli.co.jp/puzzles/32/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/32/index-e.htm}
1549 \H{lightup-controls} \i{Light Up controls}
1551 \IM{Light Up controls} controls, for Light Up
1553 Left-clicking in a non-black square will toggle the presence of a light
1554 in that square. Right-clicking in a non-black square toggles a mark there to aid
1555 solving; it can be used to highlight squares that cannot be lit, for example.
1557 You may not place a light in a marked square, nor place a mark in a lit square.
1559 The game will highlight obvious errors in red. Lights lit by other
1560 lights are highlighted in this way, as are numbered squares which
1561 do not (or cannot) have the right number of lights next to them.
1563 Thus, the grid is solved when all non-black squares have yellow
1564 highlights and there are no red lights.
1566 (All the actions described in \k{common-actions} are also available.)
1568 \H{lightup-parameters} \I{parameters, for Light Up}Light Up parameters
1570 These parameters are available from the \q{Custom...} option on the
1573 \dt \e{Width}, \e{Height}
1575 \dd Size of grid in squares.
1577 \dt \e{%age of black squares}
1579 \dd Rough percentage of black squares in the grid.
1583 This is a hint rather than an instruction. If the grid generator is
1584 unable to generate a puzzle to this precise specification, it will
1585 increase the proportion of black squares until it can.
1591 \dd Allows you to specify the required symmetry of the black squares
1592 in the grid. (This does not affect the difficulty of the puzzles
1597 \dd \q{Easy} means that the puzzles should be soluble without
1598 backtracking or guessing, \q{Hard} means that some guesses will
1599 probably be necessary.
1604 \cfg{winhelp-topic}{games.map}
1606 You are given a map consisting of a number of regions. Your task is
1607 to colour each region with one of four colours, in such a way that
1608 no two regions sharing a boundary have the same colour. You are
1609 provided with some regions already coloured, sufficient to make the
1610 remainder of the solution unique.
1612 Only regions which share a length of border are required to be
1613 different colours. Two regions which meet at only one \e{point}
1614 (i.e. are diagonally separated) may be the same colour.
1616 I believe this puzzle is original; I've never seen an implementation
1617 of it anywhere else. The concept of a four-colouring puzzle was
1618 suggested by Owen Dunn; credit must also go to Nikoli and to Verity
1619 Allan for inspiring the train of thought that led to me realising
1620 Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor
1621 for many detailed suggestions.
1623 \H{map-controls} \i{Map controls}
1625 \IM{Map controls} controls, for Map
1627 To colour a region, click the left mouse button on an existing
1628 region of the desired colour and drag that colour into the new
1631 (The program will always ensure the starting puzzle has at least one
1632 region of each colour, so that this is always possible!)
1634 If you need to clear a region, you can drag from an empty region, or
1635 from the puzzle boundary if there are no empty regions left.
1637 Dragging a colour using the \e{right} mouse button will stipple the
1638 region in that colour, which you can use as a note to yourself that
1639 you think the region \e{might} be that colour. A region can contain
1640 stipples in multiple colours at once. (This is often useful at the
1641 harder difficulty levels.)
1643 If you press L during play, the game will toggle display of a number
1644 in each region of the map. This is useful if you want to discuss a
1645 particular puzzle instance with a friend \dash having an unambiguous
1646 name for each region is much easier than trying to refer to them all
1647 by names such as \q{the one down and right of the brown one on the
1650 (All the actions described in \k{common-actions} are also available.)
1652 \H{map-parameters} \I{parameters, for Map}Map parameters
1654 These parameters are available from the \q{Custom...} option on the
1657 \dt \e{Width}, \e{Height}
1659 \dd Size of grid in squares.
1663 \dd Number of regions in the generated map.
1667 \dd In \q{Easy} mode, there should always be at least one region
1668 whose colour can be determined trivially. In \q{Normal} and \q{Hard}
1669 modes, you will have to use increasingly complex logic to deduce the
1670 colour of some regions. However, it will always be possible without
1671 having to guess or backtrack.
1675 In \q{Unreasonable} mode, the program will feel free to generate
1676 puzzles which are as hard as it can possibly make them: the only
1677 constraint is that they should still have a unique solution. Solving
1678 Unreasonable puzzles may require guessing and backtracking.
1685 \cfg{winhelp-topic}{games.loopy}
1687 You are given a grid of dots. Your aim is to draw a single unbroken
1688 loop from dot to dot within the grid.
1690 Some of the square spaces between the dots contain numbers. These
1691 numbers indicate how many of the four edges of that square are part
1692 of the loop. The loop you draw must correctly satisfy all of these
1693 clues to be considered a correct solution.
1695 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-loopy}.
1697 Loopy was contributed to this collection by Mike Pinna.
1700 \W{http://www.nikoli.co.jp/puzzles/3/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/3/index-e.htm}
1703 \H{loopy-controls} \i{Loopy controls}
1705 \IM{Loopy controls} controls, for Loopy
1707 Click the left mouse button between two dots to add a line segment
1708 connecting them. Click again to remove that line segment.
1710 If you are sure that a particular line segment is \e{not} part of
1711 the loop, you can click the right mouse button to add a small cross
1712 indicating this. Click again to remove the cross.
1714 (All the actions described in \k{common-actions} are also available.)
1716 \H{loopy-parameters} \I{parameters, for Loopy}Loopy parameters
1718 These parameters are available from the \q{Custom...} option on the
1721 \dt \e{Width}, \e{Height}
1723 \dd Size of grid in squares.
1725 \dt \e{Recursion depth}
1727 \dd Determines how much guesswork and backtracking you will need to
1728 do to solve the puzzle. When this is set to zero (as it is for all
1729 of the \q{Easy} options in the menu), you should always be able to
1730 deduce the state of an edge without having to guess. If you increase
1731 it, you will have to guess more and more.
1735 Setting a high value for this option is liable to consume a lot of
1736 CPU time and memory. Be warned!
1741 \C{inertia} \i{Inertia}
1743 \cfg{winhelp-topic}{games.inertia}
1745 You are a small green ball sitting in a grid full of obstacles. Your
1746 aim is to collect all the gems without running into any mines.
1748 You can move the ball in any orthogonal \e{or diagonal} direction.
1749 Once the ball starts moving, it will continue until something stops
1750 it. A wall directly in its path will stop it (but if it is moving
1751 diagonally, it will move through a diagonal gap between two other
1752 walls without stopping). Also, some of the squares are \q{stops};
1753 when the ball moves on to a stop, it will stop moving no matter what
1754 direction it was going in. Gems do \e{not} stop the ball; it picks
1755 them up and keeps on going.
1757 Running into a mine is fatal. Even if you picked up the last gem in
1758 the same move which then hit a mine, the game will count you as dead
1759 rather than victorious.
1761 This game was originally implemented for Windows by Ben Olmstead
1762 \k{bem}, who was kind enough to release his source code on request
1763 so that it could be re-implemented for this collection.
1765 \B{bem} \W{http://xn13.com/}\cw{http://xn13.com/}
1767 \H{inertia-controls} \i{Inertia controls}
1769 \IM{Inertia controls} controls, for Inertia
1770 \IM{Inertia controls} keys, for Inertia
1771 \IM{Inertia controls} shortcuts (keyboard), for Inertia
1773 You can move the ball in any of the eight directions using the
1774 numeric keypad. Alternatively, if you click the left mouse button on
1775 the grid, the ball will begin a move in the general direction of
1778 All the actions described in \k{common-actions} are also available.
1779 In particular, if you do run into a mine and die, you can use the
1780 Undo function and resume playing from before the fatal move. The
1781 game will keep track of the number of times you have done this.
1783 \H{inertia-parameters} \I{parameters, for Inertia}Inertia parameters
1785 These parameters are available from the \q{Custom...} option on the
1788 \dt \e{Width}, \e{Height}
1790 \dd Size of grid in squares.
1793 \A{licence} \I{MIT licence}\ii{Licence}
1795 This software is \i{copyright} 2004-2005 Simon Tatham.
1797 Portions copyright Richard Boulton, James Harvey and Mike Pinna.
1799 Permission is hereby granted, free of charge, to any person
1800 obtaining a copy of this software and associated documentation files
1801 (the "Software"), to deal in the Software without restriction,
1802 including without limitation the rights to use, copy, modify, merge,
1803 publish, distribute, sublicense, and/or sell copies of the Software,
1804 and to permit persons to whom the Software is furnished to do so,
1805 subject to the following conditions:
1807 The above copyright notice and this permission notice shall be
1808 included in all copies or substantial portions of the Software.
1810 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1811 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1812 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1813 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
1814 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
1815 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1816 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1819 \IM{specific} \q{Specific}, menu option
1820 \IM{custom} \q{Custom}, menu option
1822 \IM{game ID} game ID
1823 \IM{game ID} ID, game
1824 \IM{ID format} ID format
1825 \IM{ID format} format, ID
1826 \IM{ID format} game ID, format
1829 \IM{keys} shortcuts (keyboard)
1831 \IM{initial state} initial state
1832 \IM{initial state} state, initial
1834 \IM{MIT licence} MIT licence
1835 \IM{MIT licence} licence, MIT