Now that Map has some seriously complex deductions, it's about time
[sgt/puzzles] / puzzles.but
1 \title Simon Tatham's Portable Puzzle Collection
2
3 \cfg{winhelp-filename}{puzzles.hlp}
4 \cfg{winhelp-contents-titlepage}{Contents}
5
6 \cfg{text-filename}{puzzles.txt}
7
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}
15
16 \cfg{info-filename}{puzzles.info}
17
18 \cfg{ps-filename}{puzzles.ps}
19 \cfg{pdf-filename}{puzzles.pdf}
20
21 \define{by} \u00D7{x}
22
23 \define{dash} \u2013{-}
24
25 This is a collection of small one-player puzzle games.
26
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.
30
31 \cfg{html-local-head}{<meta name="AppleTitle" content="Puzzles Help">}
32
33 \versionid $Id$
34
35 \C{intro} Introduction
36
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.
51
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.)
57
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.
62
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/}.
65
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:
69
70 \W{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}\cw{http://www.chiark.greenend.org.uk/~sgtatham/bugs.html}
71
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.
74
75
76 \C{common} \ii{Common features}
77
78 This chapter describes features that are common to all the games.
79
80 \H{common-actions} \I{controls}Common actions
81
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
84 actions.
85
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.)
89
90 \dt \ii\e{New game} (\q{N}, Ctrl+\q{N})
91
92 \dd Starts a new game, with a random initial state.
93
94 \dt \ii\e{Restart game}
95
96 \dd Resets the current game to its initial state. (This can be undone.)
97
98 \dt \ii\e{Load}
99
100 \dd Loads a saved game from a file on disk.
101
102 \dt \ii\e{Save}
103
104 \dd Saves the current state of your game to a file on disk.
105
106 \lcont{
107
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).
111
112 }
113
114 \dt \ii\e{Print}
115
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
119 current puzzle.
120
121 \dt \ii\e{Undo} (\q{U}, Ctrl+\q{Z}, Ctrl+\q{_})
122
123 \dd Undoes a single move. (You can undo moves back to the start of the
124 session.)
125
126 \dt \ii\e{Redo} (\q{R}, Ctrl+\q{R})
127
128 \dd Redoes a previously undone move.
129
130 \dt \ii\e{Copy}
131
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.)
136
137 \dt \ii\e{Solve}
138
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.
148
149 \lcont{
150
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.
157
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.
161
162 }
163
164 \dt \I{exit}\ii\e{Quit} (\q{Q}, Ctrl+\q{Q})
165
166 \dd Closes the application entirely.
167
168 \H{common-id} Specifying games with the \ii{game ID}
169
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
172 same puzzle.
173
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.
178
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.
184
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:
190
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.
196
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
204 anybody else.
205
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.
209
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.
217
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.)}
221
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
227 arbitrary data.
228
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.
234
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.
242
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.
252
253 \H{common-type} The \q{Type} menu
254
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.
258
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
262 following sections.
263
264 \H{common-cmdline} Specifying game parameters on the \i{command line}
265
266 (This section does not apply to the Mac OS X version.)
267
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!)
273
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
276 command line.
277
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).
285
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.
288
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}.
294
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.
299
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.)
304
305
306 \C{net} \i{Net}
307
308 \cfg{winhelp-topic}{games.net}
309
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}.)
312
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
323 highlighted.
324
325 \B{FreeNet} \W{http://www.jurjans.lv/stuff/net/FreeNet.htm}\cw{http://www.jurjans.lv/stuff/net/FreeNet.htm}
326
327 \H{net-controls} \i{Net controls}
328
329 \IM{Net controls} controls, for Net
330 \IM{Net controls} keys, for Net
331 \IM{Net controls} shortcuts (keyboard), for Net
332
333 This game can be played with either the keyboard or the mouse. The
334 controls are:
335
336 \dt \e{Select tile}: mouse pointer, arrow keys
337
338 \dt \e{Rotate tile anticlockwise}: left mouse button, \q{A} key
339
340 \dt \e{Rotate tile clockwise}: right mouse button, \q{D} key
341
342 \dt \e{Rotate tile by 180 degrees}: \q{F} key
343
344 \dt \e{Lock (or unlock) tile}: middle mouse button, shift-click, \q{S} key
345
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
348 turn it.
349
350 The following controls are not necessary to complete the game, but may
351 be useful:
352
353 \dt \e{Shift grid}: Shift + arrow keys
354
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.
357
358 \dt \e{Move centre}: Ctrl + arrow keys
359
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.)
364
365 \dt \e{Jumble tiles}: \q{J} key
366
367 \dd This key turns all tiles that are not locked to random
368 orientations.
369
370 (All the actions described in \k{common-actions} are also available.)
371
372 \H{net-params} \I{parameters, for Net}Net parameters
373
374 These parameters are available from the \q{Custom...} option on the
375 \q{Type} menu.
376
377 \dt \e{Width}, \e{Height}
378
379 \dd Size of grid in tiles.
380
381 \dt \e{Walls wrap around}
382
383 \dd If checked, flow can pass from the left edge to the right edge,
384 and from top to bottom, and vice versa.
385
386 \dt \e{Barrier probability}
387
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).
392
393 \lcont{
394
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.
405
406 }
407
408 \dt \e{Ensure unique solution}
409
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
415 advanced player.)
416
417
418 \C{cube} \i{Cube}
419
420 \cfg{winhelp-topic}{games.cube}
421
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.
433
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.
438
439 \B{cube-java-game} \W{http://www3.sympatico.ca/paulscott/cube/cube.htm}\cw{http://www3.sympatico.ca/paulscott/cube/cube.htm}
440
441 \H{cube-controls} \i{Cube controls}
442
443 \IM{Cube controls} controls, for Cube
444 \IM{Cube controls} keys, for Cube
445 \IM{Cube controls} shortcuts (keyboard), for Cube
446
447 This game can be played with either the keyboard or the mouse.
448
449 Left-clicking anywhere on the window will move the cube (or other
450 solid) towards the mouse pointer.
451
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.
458
459 (All the actions described in \k{common-actions} are also available.)
460
461 \H{cube-params} \I{parameters, for Cube}Cube parameters
462
463 These parameters are available from the \q{Custom...} option on the
464 \q{Type} menu.
465
466 \dt \e{Type of solid}
467
468 \dd Selects the solid to roll (and hence the shape of the grid):
469 tetrahedron, cube, octahedron, or icosahedron.
470
471 \dt \e{Width / top}, \e{Height / bottom}
472
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
475 respectively.
476
477
478 \C{fifteen} \i{Fifteen}
479
480 \cfg{winhelp-topic}{games.fifteen}
481
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}).
489
490 \H{fifteen-controls} \i{Fifteen controls}
491
492 \IM{Fifteen controls} controls, for Fifteen
493 \IM{Fifteen controls} keys, for Fifteen
494 \IM{Fifteen controls} shortcuts (keyboard), for Fifteen
495
496 This game can be controlled with the mouse or the keyboard.
497
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
500 mouse pointer.
501
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).
504
505 (All the actions described in \k{common-actions} are also available.)
506
507 \H{fifteen-params} \I{parameters, for Fifteen}Fifteen parameters
508
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!)
512
513
514 \C{sixteen} \i{Sixteen}
515
516 \cfg{winhelp-topic}{games.sixteen}
517
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.
527
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.
535
536 \H{sixteen-controls} \I{controls, for Sixteen}Sixteen controls
537
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.
541
542 (All the actions described in \k{common-actions} are also available.)
543
544 \H{sixteen-params} \I{parameters, for Sixteen}Sixteen parameters
545
546 The parameters available from the \q{Custom...} option on the
547 \q{Type} menu are:
548
549 \b \e{Width} and \e{Height}, which are self-explanatory.
550
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.
560
561
562 \C{twiddle} \i{Twiddle}
563
564 \cfg{winhelp-topic}{games.twiddle}
565
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
569 ascending order.
570
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.
575
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.
580
581 \H{twiddle-controls} \I{controls, for Twiddle}Twiddle controls
582
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
586 meet.
587
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.
591
592 Clicking with the left mouse button rotates the group anticlockwise.
593 Clicking with the right button rotates it clockwise.
594
595 (All the actions described in \k{common-actions} are also available.)
596
597 \H{twiddle-parameters} \I{parameters, for Twiddle}Twiddle parameters
598
599 Twiddle provides several configuration options via the \q{Custom}
600 option on the \q{Type} menu:
601
602 \b You can configure the width and height of the puzzle grid.
603
604 \b You can configure the size of square block that rotates at a time.
605
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.
611
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
615 the puzzle.
616
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.
626
627
628 \C{rectangles} \i{Rectangles}
629
630 \cfg{winhelp-topic}{games.rectangles}
631
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.
637
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
645 specification.
646
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}
648
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}
650
651 \H{rectangles-controls} \I{controls, for Rectangles}Rectangles controls
652
653 This game is played with the mouse.
654
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).
658
659 When a rectangle of the correct size is completed, it will be shaded.
660
661 (All the actions described in \k{common-actions} are also available.)
662
663 \H{rectangles-params} \I{parameters, for Rectangles}Rectangles parameters
664
665 These parameters are available from the \q{Custom...} option on the
666 \q{Type} menu.
667
668 \dt \e{Width}, \e{Height}
669
670 \dd Size of grid, in squares.
671
672 \dt \e{Expansion factor}
673
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.
679
680 \lcont{
681
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.
689
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.
695
696 }
697
698 \dt \e{Ensure unique solution}
699
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.
706
707
708 \C{netslide} \i{Netslide}
709
710 \cfg{winhelp-topic}{games.netslide}
711
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.
716
717 As in Sixteen, \I{controls, for Netslide}control is with the mouse.
718 See \k{sixteen-controls}.
719
720 \I{parameters, for Netslide}The available game parameters have similar
721 meanings to those in Net (see \k{net-params}) and Sixteen (see
722 \k{sixteen-params}).
723
724 Netslide was contributed to this collection by Richard Boulton.
725
726
727 \C{pattern} \i{Pattern}
728
729 \cfg{winhelp-topic}{games.pattern}
730
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.
736
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
739 different names.
740
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.
748
749 \H{pattern-controls} \I{controls, for Pattern}Pattern controls
750
751 This game is played with the mouse.
752
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.
757
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
762 grey.
763
764 (All the actions described in \k{common-actions} are also available.)
765
766 \H{pattern-parameters} \I{parameters, for Pattern}Pattern parameters
767
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.
770
771
772 \C{solo} \i{Solo}
773
774 \cfg{winhelp-topic}{games.solo}
775
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
779
780 \b every row contains only one occurrence of each digit
781
782 \b every column contains only one occurrence of each digit
783
784 \b every block contains only one occurrence of each digit.
785
786 You are given some of the numbers as clues; your aim is to place the
787 rest of the numbers correctly.
788
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).
793
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}.
798
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
801 \q{Su Doku}.
802
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}
804
805 \H{solo-controls} \I{controls, for Solo}Solo controls
806
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).
811
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.
815
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.
821
822 To erase a single pencil mark, right-click in the square and type
823 the same number again.
824
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.
828
829 (All the actions described in \k{common-actions} are also available.)
830
831 \H{solo-parameters} \I{parameters, for Solo}Solo parameters
832
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.)
838
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.
844
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
857 to be wrong.
858
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
863 puzzle size.
864
865
866 \C{mines} \i{Mines}
867
868 \cfg{winhelp-topic}{games.mines}
869
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
875 squares.
876
877 This game needs no introduction; popularised by Windows, it is
878 perhaps the single best known desktop puzzle game in existence.
879
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
886 are.
887
888 \H{mines-controls} \I{controls, for Mines}Mines controls
889
890 This game is played with the mouse.
891
892 If you left-click in a covered square, it will be uncovered.
893
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.
898
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.
906
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.
912
913 All the actions described in \k{common-actions} are also available.
914
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.
922
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
925 Solve menu option.)
926
927 \H{mines-parameters} \I{parameters, for Mines}Mines parameters
928
929 The options available from the \q{Custom...} option on the \q{Type}
930 menu are:
931
932 \dt \e{Width}, \e{Height}
933
934 \dd Size of grid in squares.
935
936 \dt \e{Mines}
937
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.
942
943 \lcont{
944
945 Beware of setting the mine count too high. At very high densities,
946 the program may spend forever searching for a solvable grid.
947
948 }
949
950 \dt \e{Ensure solubility}
951
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.
956
957
958 \C{samegame} \i{Same Game}
959
960 \cfg{winhelp-topic}{games.samegame}
961
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).
966
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
969 lose.
970
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.
974
975 Same Game was contributed to this collection by James Harvey.
976
977 \H{samegame-controls} \i{Same Game controls}
978
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
982
983 This game can be played with either the keyboard or the mouse.
984
985 If you left-click an unselected region, it becomes selected (possibly
986 clearing the current selection).
987
988 If you left-click the selected region, it will be removed (and the
989 rest of the grid shuffled immediately).
990
991 If you right-click the selected region, it will be unselected.
992
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.
996
997 (All the actions described in \k{common-actions} are also available.)
998
999 \H{samegame-parameters} \I{parameters, for Same Game}Same Game parameters
1000
1001 These parameters are available from the \q{Custom...} option on the
1002 \q{Type} menu.
1003
1004 \dt \e{Width}, \e{Height}
1005
1006 \dd Size of grid in squares.
1007
1008 \dt \e{No. of colours}
1009
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.
1013
1014 \dt \e{Scoring system}
1015
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
1020 more points.
1021
1022 \dt \e{Ensure solubility}
1023
1024 \dd If this option is ticked (the default state), generated grids
1025 will be guaranteed to have at least one solution.
1026
1027 \lcont{
1028
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.
1036
1037 }
1038
1039
1040 \C{flip} \i{Flip}
1041
1042 \cfg{winhelp-topic}{games.flip}
1043
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.
1048
1049 Each square contains a small diagram showing which other squares
1050 change when you flip it.
1051
1052 \H{flip-controls} \i{Flip controls}
1053
1054 \IM{Flip controls} controls, for Flip
1055 \IM{Flip controls} keys, for Flip
1056 \IM{Flip controls} shortcuts (keyboard), for Flip
1057
1058 This game can be played with either the keyboard or the mouse.
1059
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
1062 key to flip.
1063
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.)
1069
1070 (All the actions described in \k{common-actions} are also available.)
1071
1072 \H{flip-parameters} \I{parameters, for flip}Flip parameters
1073
1074 These parameters are available from the \q{Custom...} option on the
1075 \q{Type} menu.
1076
1077 \dt \e{Width}, \e{Height}
1078
1079 \dd Size of grid in squares.
1080
1081 \dt \e{Shape type}
1082
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.
1089
1090
1091 \C{guess} \i{Guess}
1092
1093 \cfg{winhelp-topic}{games.guess}
1094
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.
1098
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).
1102
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.
1107
1108 Guess was contributed to this collection by James Harvey.
1109
1110 \H{guess-controls} \i{Guess controls}
1111
1112 \IM{Guess controls} controls, for Guess
1113 \IM{Guess controls} keys, for Guess
1114 \IM{Guess controls} shortcuts (keyboard), for Guess
1115
1116 This game can be played with either the keyboard or the mouse.
1117
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.
1122
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
1125 after marking.
1126
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.
1132
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}
1137 marker.
1138
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.
1142
1143 (All the actions described in \k{common-actions} are also available.)
1144
1145 \H{guess-parameters} \I{parameters, for Guess}Guess parameters
1146
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}.
1150
1151 \dt \e{Colours}
1152
1153 \dd Number of colours the solution is chosen from; from 2 to 10
1154 (more is harder).
1155
1156 \dt \e{Pegs per guess}
1157
1158 \dd Number of pegs per guess (more is harder).
1159
1160 \dt \e{Guesses}
1161
1162 \dd Number of guesses you have to find the solution in (fewer is harder).
1163
1164 \dt \e{Allow blanks}
1165
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.
1169
1170 Note that this doesn't allow blank pegs in the solution; if you really wanted
1171 that, use one extra colour.
1172
1173 \dt \e{Allow duplicates}
1174
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
1177 default.
1178
1179
1180 \C{pegs} \i{Pegs}
1181
1182 \cfg{winhelp-topic}{games.pegs}
1183
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.
1188
1189 This game, best known as \I{Solitaire, Peg}\q{Peg Solitaire}, is
1190 possibly one of the oldest puzzle games still commonly known.
1191
1192 \H{pegs-controls} \i{Pegs controls}
1193
1194 \IM{Pegs controls} controls, for Pegs
1195
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.
1201
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.
1205
1206 (All the actions described in \k{common-actions} are also available.)
1207
1208 \H{pegs-parameters} \I{parameters, for Pegs}Pegs parameters
1209
1210 These parameters are available from the \q{Custom...} option on the
1211 \q{Type} menu.
1212
1213 \dt \e{Width}, \e{Height}
1214
1215 \dd Size of grid in holes.
1216
1217 \dt \e{Board type}
1218
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).
1225
1226
1227 \C{dominosa} \i{Dominosa}
1228
1229 \cfg{winhelp-topic}{games.dominosa}
1230
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.
1237
1238 This puzzle is widely credited to O. S. Adler, and takes part of its
1239 name from those initials.
1240
1241 \H{dominosa-controls} \i{Dominosa controls}
1242
1243 \IM{Dominosa controls} controls, for Dominosa
1244
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
1248 it overlaps.
1249
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
1253 removes the line.
1254
1255 (All the actions described in \k{common-actions} are also available.)
1256
1257 \H{dominosa-parameters} \I{parameters, for Dominosa}Dominosa parameters
1258
1259 These parameters are available from the \q{Custom...} option on the
1260 \q{Type} menu.
1261
1262 \dt \e{Maximum number on dominoes}
1263
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.
1268
1269 \dt \e{Ensure unique solution}
1270
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.
1277
1278
1279 \C{untangle} \i{Untangle}
1280
1281 \cfg{winhelp-topic}{games.untangle}
1282
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.
1286
1287 I originally saw this in the form of a Flash game called \i{Planarity}
1288 \k{Planarity}, written by John Tantalo.
1289
1290 \B{Planarity} \W{http://home.cwru.edu/~jnt5/Planarity}\cw{http://home.cwru.edu/~jnt5/Planarity}
1291
1292 \H{untangle-controls} \i{Untangle controls}
1293
1294 \IM{Untangle controls} controls, for Untangle
1295
1296 To move a point, click on it with the left mouse button and drag it
1297 into a new position.
1298
1299 (All the actions described in \k{common-actions} are also available.)
1300
1301 \H{untangle-parameters} \I{parameters, for Untangle}Untangle parameters
1302
1303 There is only one parameter available from the \q{Custom...} option
1304 on the \q{Type} menu:
1305
1306 \dt \e{Number of points}
1307
1308 \dd Controls the size of the puzzle, by specifying the number of
1309 points in the generated graph.
1310
1311
1312 \C{blackbox} \i{Black Box}
1313
1314 \cfg{winhelp-topic}{games.blackbox}
1315
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.
1319
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
1322 the following ways:
1323
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.
1326
1327 \b A laser with a ball to its front-left square gets deflected 90 degrees
1328 to the right.
1329
1330 \b A laser with a ball to its front-right square gets similarly deflected
1331 to the left.
1332
1333 \b A laser that would re-emerge from the entry location is considered to be
1334 \q{reflected}.
1335
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}.
1339
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
1343 that shot).
1344
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.
1348
1349 Here is a diagram showing how the positions of balls can create each
1350 of the laser behaviours shown above:
1351
1352 \c 1RHR----
1353 \c |..O.O...|
1354 \c 2........3
1355 \c |........|
1356 \c |........|
1357 \c 3........|
1358 \c |......O.|
1359 \c H........|
1360 \c |.....O..|
1361 \c 12-RH---
1362
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).
1367
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):
1372
1373 \c --------
1374 \c |........|
1375 \c |........|
1376 \c |..O..O..|
1377 \c |...xx...|
1378 \c |...xx...|
1379 \c |..O..O..|
1380 \c |........|
1381 \c |........|
1382 \c --------
1383
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.
1389
1390 Black Box was contributed to this collection by James Harvey.
1391
1392 \H{blackbox-controls} \i{Black Box controls}
1393
1394 \IM{Black Box controls}controls, for Black Box
1395
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.
1401
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
1404 click again.
1405
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.
1410
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
1413 your guesses.
1414
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.
1423
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.
1433
1434 (All the actions described in \k{common-actions} are also available.)
1435
1436 \H{blackbox-parameters} \I{parameters, for Black Box}Black Box parameters
1437
1438 These parameters are available from the \q{Custom...} option on the
1439 \q{Type} menu.
1440
1441 \dt \e{Width}, \e{Height}
1442
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.
1445
1446 \dt \e{No. of balls}
1447
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.
1454
1455
1456 \C{slant} \i{Slant}
1457
1458 \cfg{winhelp-topic}{games.slant}
1459
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:
1463
1464 \b The diagonal lines never form a loop.
1465
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.)
1471
1472 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-slant}.
1473
1474 \B{nikoli-slant}
1475 \W{http://www.nikoli.co.jp/puzzles/39/index.htm}\cw{http://www.nikoli.co.jp/puzzles/39/index.htm}
1476 (in Japanese)
1477
1478 \H{slant-controls} \i{Slant controls}
1479
1480 \IM{Slant controls} controls, for Slant
1481
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
1486 left).
1487
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.)
1494
1495 (All the actions described in \k{common-actions} are also available.)
1496
1497 \H{slant-parameters} \I{parameters, for Slant}Slant parameters
1498
1499 These parameters are available from the \q{Custom...} option on the
1500 \q{Type} menu.
1501
1502 \dt \e{Width}, \e{Height}
1503
1504 \dd Size of grid in squares.
1505
1506 \dt \e{Difficulty}
1507
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.
1516
1517
1518 \C{lightup} \i{Light Up}
1519
1520 \cfg{winhelp-topic}{games.lightup}
1521
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.
1525
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
1528 blocking the way.
1529
1530 To win the game, you must satisfy the following conditions:
1531
1532 \b All non-black squares are lit.
1533
1534 \b No light is lit by another light.
1535
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).
1538
1539 Non-numbered black squares may have any number of lights adjacent to them.
1540
1541 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-lightup}.
1542
1543 Light Up was contributed to this collection by James Harvey.
1544
1545 \B{nikoli-lightup}
1546 \W{http://www.nikoli.co.jp/puzzles/32/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/32/index-e.htm}
1547 (beware of Flash)
1548
1549 \H{lightup-controls} \i{Light Up controls}
1550
1551 \IM{Light Up controls} controls, for Light Up
1552
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.
1556
1557 You may not place a light in a marked square, nor place a mark in a lit square.
1558
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.
1562
1563 Thus, the grid is solved when all non-black squares have yellow
1564 highlights and there are no red lights.
1565
1566 (All the actions described in \k{common-actions} are also available.)
1567
1568 \H{lightup-parameters} \I{parameters, for Light Up}Light Up parameters
1569
1570 These parameters are available from the \q{Custom...} option on the
1571 \q{Type} menu.
1572
1573 \dt \e{Width}, \e{Height}
1574
1575 \dd Size of grid in squares.
1576
1577 \dt \e{%age of black squares}
1578
1579 \dd Rough percentage of black squares in the grid.
1580
1581 \lcont{
1582
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.
1586
1587 }
1588
1589 \dt \e{Symmetry}
1590
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
1593 noticeably.)
1594
1595 \dt \e{Difficulty}
1596
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.
1600
1601
1602 \C{map} \i{Map}
1603
1604 \cfg{winhelp-topic}{games.map}
1605
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.
1611
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.
1615
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.
1622
1623 \H{map-controls} \i{Map controls}
1624
1625 \IM{Map controls} controls, for Map
1626
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
1629 region.
1630
1631 (The program will always ensure the starting puzzle has at least one
1632 region of each colour, so that this is always possible!)
1633
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.
1636
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.)
1642
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
1648 top border}.
1649
1650 (All the actions described in \k{common-actions} are also available.)
1651
1652 \H{map-parameters} \I{parameters, for Map}Map parameters
1653
1654 These parameters are available from the \q{Custom...} option on the
1655 \q{Type} menu.
1656
1657 \dt \e{Width}, \e{Height}
1658
1659 \dd Size of grid in squares.
1660
1661 \dt \e{Regions}
1662
1663 \dd Number of regions in the generated map.
1664
1665 \dt \e{Difficulty}
1666
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.
1672
1673 \lcont{
1674
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.
1679
1680 }
1681
1682
1683 \C{loopy} \i{Loopy}
1684
1685 \cfg{winhelp-topic}{games.loopy}
1686
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.
1689
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.
1694
1695 Credit for this puzzle goes to \i{Nikoli} \k{nikoli-loopy}.
1696
1697 Loopy was contributed to this collection by Mike Pinna.
1698
1699 \B{nikoli-loopy}
1700 \W{http://www.nikoli.co.jp/puzzles/3/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/3/index-e.htm}
1701 (beware of Flash)
1702
1703 \H{loopy-controls} \i{Loopy controls}
1704
1705 \IM{Loopy controls} controls, for Loopy
1706
1707 Click the left mouse button between two dots to add a line segment
1708 connecting them. Click again to remove that line segment.
1709
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.
1713
1714 (All the actions described in \k{common-actions} are also available.)
1715
1716 \H{loopy-parameters} \I{parameters, for Loopy}Loopy parameters
1717
1718 These parameters are available from the \q{Custom...} option on the
1719 \q{Type} menu.
1720
1721 \dt \e{Width}, \e{Height}
1722
1723 \dd Size of grid in squares.
1724
1725 \dt \e{Recursion depth}
1726
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.
1732
1733 \lcont{
1734
1735 Setting a high value for this option is liable to consume a lot of
1736 CPU time and memory. Be warned!
1737
1738 }
1739
1740
1741 \C{inertia} \i{Inertia}
1742
1743 \cfg{winhelp-topic}{games.inertia}
1744
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.
1747
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.
1756
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.
1760
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.
1764
1765 \B{bem} \W{http://xn13.com/}\cw{http://xn13.com/}
1766
1767 \H{inertia-controls} \i{Inertia controls}
1768
1769 \IM{Inertia controls} controls, for Inertia
1770 \IM{Inertia controls} keys, for Inertia
1771 \IM{Inertia controls} shortcuts (keyboard), for Inertia
1772
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
1776 where you clicked.
1777
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.
1782
1783 \H{inertia-parameters} \I{parameters, for Inertia}Inertia parameters
1784
1785 These parameters are available from the \q{Custom...} option on the
1786 \q{Type} menu.
1787
1788 \dt \e{Width}, \e{Height}
1789
1790 \dd Size of grid in squares.
1791
1792
1793 \A{licence} \I{MIT licence}\ii{Licence}
1794
1795 This software is \i{copyright} 2004-2005 Simon Tatham.
1796
1797 Portions copyright Richard Boulton, James Harvey and Mike Pinna.
1798
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:
1806
1807 The above copyright notice and this permission notice shall be
1808 included in all copies or substantial portions of the Software.
1809
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
1817 SOFTWARE.
1818
1819 \IM{specific} \q{Specific}, menu option
1820 \IM{custom} \q{Custom}, menu option
1821
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
1827
1828 \IM{keys} keys
1829 \IM{keys} shortcuts (keyboard)
1830
1831 \IM{initial state} initial state
1832 \IM{initial state} state, initial
1833
1834 \IM{MIT licence} MIT licence
1835 \IM{MIT licence} licence, MIT