summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/plugins/puzzles/SOURCES3
-rwxr-xr-xapps/plugins/puzzles/genhelp.sh52
-rw-r--r--apps/plugins/puzzles/help.c48
-rw-r--r--apps/plugins/puzzles/help.h7
-rw-r--r--apps/plugins/puzzles/helpcontent.c2767
-rw-r--r--apps/plugins/puzzles/rockbox.c17
6 files changed, 2879 insertions, 15 deletions
diff --git a/apps/plugins/puzzles/SOURCES b/apps/plugins/puzzles/SOURCES
index 1d58ff5723..1e3264ec37 100644
--- a/apps/plugins/puzzles/SOURCES
+++ b/apps/plugins/puzzles/SOURCES
@@ -1,6 +1,9 @@
1rockbox.c 1rockbox.c
2rbwrappers.c 2rbwrappers.c
3rbmalloc.c 3rbmalloc.c
4help.c
5helpcontent.c
6
4src/combi.c 7src/combi.c
5src/divvy.c 8src/divvy.c
6src/drawing.c 9src/drawing.c
diff --git a/apps/plugins/puzzles/genhelp.sh b/apps/plugins/puzzles/genhelp.sh
new file mode 100755
index 0000000000..f243a1d5f6
--- /dev/null
+++ b/apps/plugins/puzzles/genhelp.sh
@@ -0,0 +1,52 @@
1#!/bin/bash
2# usage: ./genhelp.sh > helpcontent.sh
3#
4# expects halibut to be installed in $PATH:
5# http://www.chiark.greenend.org.uk/~sgtatham/halibut
6
7halibut --text src/puzzles.but
8
9# preprocess the input
10
11# strip leading whitespace
12cat puzzles.txt | awk '{$1=$1; print}' > puzzles.txt.tmp
13
14# cut at "Appendix A"
15cat puzzles.txt.tmp | awk 'BEGIN { a=1; } /Appendix A/ { a = 0; } a==1' > puzzles.txt
16
17rm puzzles.txt.tmp
18
19cat <<EOF
20/* auto-generated by genhelp.sh */
21/* DO NOT EDIT! */
22const int help_chapteroffsets[] = {
23EOF
24
25# generate chapter offset list
26cat puzzles.txt | awk 'BEGIN { x = -1; n = 0; } /#Chapter/ { if($0 !~ / 1:/ && $0 !~ / 2:/) { if( x == -1 ) { x = n; } print n - x","; }} {n += length($0) + 1; if(x >= 0 && $0 !~ /Chapter/ && substr($0, 1, 1) == "#") n += 1;}'
27
28cat <<EOF
29};
30
31const char help_text[] =
32EOF
33
34# get starting byte offset
35start=`cat puzzles.txt | awk 'BEGIN { x = -1; n = 0; } /#Chapter/ { if($0 !~ / 1:/ && $0 !~ / 2:/) { if( x == -1 ) { x = n; print x + 1; } print n - x","; }} {n += length($0) + 1; if(x >= 0 && $0 !~ /Chapter/ && substr($0, 1, 1) == "#") n += 1;}' | head -n 1`
36
37# generate content
38cat puzzles.txt | tail -c +$start | awk '{gsub(/\\/,"\\\\"); if($0 !~ /Chapter/ && substr($0, 1, 1) == "#") begin = "\\n"; else begin = ""; last = substr($0, length($0), 1); if(length($0) == 0 || last == "|" || last == "-" || (term == "\\n" && last == "3")) term="\\n"; else term = " "; print "\"" begin $0 term "\"";}'
39
40cat <<EOF
41;
42
43EOF
44
45# length of longest chapter (not including null)
46maxlen=`cat puzzles.txt | awk 'BEGIN { x = -1; n = 0; } /#Chapter/ { if($0 !~ / 1:/ && $0 !~ / 2:/) { if( x == -1 ) { x = n; } print n - x","; }} {n += length($0) + 1; if(x >= 0 && $0 !~ /Chapter/ && substr($0, 1, 1) == "#") n += 1;}' | awk 'BEGIN { max = 0; last = 0; } { if($0 - last > max) max = $0 - last; last = $0; } END { print max }'`
47
48# remember number of chapters
49num=`cat puzzles.txt | awk 'BEGIN { x = -1; n = 0; } /#Chapter/ { if($0 !~ / 1:/ && $0 !~ / 2:/) { if( x == -1 ) { x = n; } print n - x","; }} {n += length($0) + 1; if(x >= 0 && $0 !~ /Chapter/ && substr($0, 1, 1) == "#") n += 1;}' | wc -l`
50
51echo "const int help_maxlen = "$maxlen";"
52echo "const int help_numchapters = "$num";"
diff --git a/apps/plugins/puzzles/help.c b/apps/plugins/puzzles/help.c
new file mode 100644
index 0000000000..13ca7eaa8a
--- /dev/null
+++ b/apps/plugins/puzzles/help.c
@@ -0,0 +1,48 @@
1#include "help.h"
2#include "lib/simple_viewer.h"
3
4void full_help(const char *name)
5{
6 int ch_num = -1;
7 /* search the help text for a chapter with this name */
8 for(int ch = 0; ch < help_numchapters; ++ch)
9 {
10 char *str = help_text + help_chapteroffsets[ch];
11 char *ptr = strchr(str, ':') + 1;
12 const char *namep = name;
13 if(*ptr++ != ' ')
14 continue;
15
16 while(*ptr == *namep && *ptr && *namep)
17 {
18 ptr++;
19 namep++;
20 }
21 if(*namep == '\0' && (*ptr == '\n' || *ptr == ' ')) /* full match */
22 {
23 ch_num = ch;
24 break;
25 }
26 }
27 if(ch_num < 0)
28 {
29 rb->splashf(HZ * 2, "No topic found for `%s' (REPORT ME!)", name);
30 return;
31 }
32 char *buf = smalloc(help_maxlen + 1);
33 rb->memset(buf, 0, help_maxlen + 1);
34 if(ch_num < help_numchapters - 1)
35 {
36 /* safe to look ahead */
37 memcpy(buf, help_text + help_chapteroffsets[ch_num], help_chapteroffsets[ch_num + 1] - help_chapteroffsets[ch_num]);
38 }
39 else
40 rb->strlcpy(buf, help_text + help_chapteroffsets[ch_num], help_maxlen + 1);
41
42 rb->lcd_set_foreground(LCD_WHITE);
43 unsigned old_bg = rb->lcd_get_background();
44 rb->lcd_set_background(LCD_BLACK);
45 view_text(name, buf);
46 rb->lcd_set_background(old_bg);
47 sfree(buf);
48}
diff --git a/apps/plugins/puzzles/help.h b/apps/plugins/puzzles/help.h
new file mode 100644
index 0000000000..e97fe870bf
--- /dev/null
+++ b/apps/plugins/puzzles/help.h
@@ -0,0 +1,7 @@
1/* defined in helpcontent.c */
2
3extern int help_chapteroffsets[], help_maxlen, help_numchapters;
4extern const char help_text[];
5
6/* in help.c */
7void full_help(const char *name);
diff --git a/apps/plugins/puzzles/helpcontent.c b/apps/plugins/puzzles/helpcontent.c
new file mode 100644
index 0000000000..cd2abbbe98
--- /dev/null
+++ b/apps/plugins/puzzles/helpcontent.c
@@ -0,0 +1,2767 @@
1/* auto-generated by genhelp.sh */
2/* DO NOT EDIT! */
3const int help_chapteroffsets[] = {
40,
53444,
65494,
76741,
89273,
912186,
1015719,
1116242,
1218364,
1324608,
1428403,
1530866,
1632386,
1735415,
1837100,
1939375,
2040121,
2145547,
2247920,
2350233,
2453696,
2555959,
2658223,
2760361,
2865571,
2969487,
3071990,
3173785,
3277720,
3381246,
3482630,
3585127,
3688171,
3790199,
3892763,
3996037,
4097720,
41100094,
42101951,
43};
44
45const char help_text[] =
46"#Chapter 3: Net "
47"\n"
48"(_Note:_ the Windows version of this game is called NETGAME.EXE to "
49"avoid clashing with Windows's own NET.EXE.) "
50"\n"
51"I originally saw this in the form of a Flash game called "
52"FreeNet [1], written by Pavils Jurjans; there are several other "
53"implementations under the name NetWalk. The computer prepares a "
54"network by connecting up the centres of squares in a grid, and then "
55"shuffles the network by rotating every tile randomly. Your job is "
56"to rotate it all back into place. The successful solution will be "
57"an entirely connected network, with no closed loops. As a visual "
58"aid, all tiles which are connected to the one in the middle are "
59"highlighted. "
60"\n"
61"[1] http://www.jurjans.lv/stuff/net/FreeNet.htm "
62"\n"
63"\n#3.1 Net controls "
64"\n"
65"This game can be played with either the keyboard or the mouse. The "
66"controls are: "
67"\n"
68"_Select tile_: mouse pointer, arrow keys "
69"\n"
70"_Rotate tile anticlockwise_: left mouse button, `A' key "
71"\n"
72"_Rotate tile clockwise_: right mouse button, `D' key "
73"\n"
74"_Rotate tile by 180 degrees_: `F' key "
75"\n"
76"_Lock (or unlock) tile_: middle mouse button, shift-click, `S' key "
77"\n"
78"You can lock a tile once you're sure of its orientation. You "
79"can also unlock it again, but while it's locked you can't "
80"accidentally turn it. "
81"\n"
82"The following controls are not necessary to complete the game, but "
83"may be useful: "
84"\n"
85"_Shift grid_: Shift + arrow keys "
86"\n"
87"On grids that wrap, you can move the origin of the grid, so "
88"that tiles that were on opposite sides of the grid can be seen "
89"together. "
90"\n"
91"_Move centre_: Ctrl + arrow keys "
92"\n"
93"You can change which tile is used as the source of highlighting. "
94"(It doesn't ultimately matter which tile this is, as every tile "
95"will be connected to every other tile in a correct solution, "
96"but it may be helpful in the intermediate stages of solving the "
97"puzzle.) "
98"\n"
99"_Jumble tiles_: `J' key "
100"\n"
101"This key turns all tiles that are not locked to random "
102"orientations. "
103"\n"
104"(All the actions described in section 2.1 are also available.) "
105"\n"
106"\n#3.2 Net parameters "
107"\n"
108"These parameters are available from the `Custom...' option on the "
109"`Type' menu. "
110"\n"
111"_Width_, _Height_ "
112"\n"
113"Size of grid in tiles. "
114"\n"
115"_Walls wrap around_ "
116"\n"
117"If checked, flow can pass from the left edge to the right edge, "
118"and from top to bottom, and vice versa. "
119"\n"
120"_Barrier probability_ "
121"\n"
122"A number between 0.0 and 1.0 controlling whether an immovable "
123"barrier is placed between two tiles to prevent flow between "
124"them (a higher number gives more barriers). Since barriers "
125"are immovable, they act as constraints on the solution (i.e., "
126"hints). "
127"\n"
128"The grid generation in Net has been carefully arranged so that "
129"the barriers are independent of the rest of the grid. This "
130"means that if you note down the random seed used to generate "
131"the current puzzle (see section 2.2), change the _Barrier "
132"probability_ parameter, and then re-enter the same random seed, "
133"you should see exactly the same starting grid, with the only "
134"change being the number of barriers. So if you're stuck on a "
135"particular grid and need a hint, you could start up another "
136"instance of Net, set up the same parameters but a higher barrier "
137"probability, and enter the game seed from the original Net "
138"window. "
139"\n"
140"_Ensure unique solution_ "
141"\n"
142"Normally, Net will make sure that the puzzles it presents have "
143"only one solution. Puzzles with ambiguous sections can be more "
144"difficult and more subtle, so if you like you can turn off this "
145"feature and risk having ambiguous puzzles. (Also, finding _all_ "
146"the possible solutions can be an additional challenge for an "
147"advanced player.) "
148"\n"
149"#Chapter 4: Cube "
150"\n"
151"This is another one I originally saw as a web game. This one was a "
152"Java game [2], by Paul Scott. You have a grid of 16 squares, six of "
153"which are blue; on one square rests a cube. Your move is to use the "
154"arrow keys to roll the cube through 90 degrees so that it moves to "
155"an adjacent square. If you roll the cube on to a blue square, the "
156"blue square is picked up on one face of the cube; if you roll a blue "
157"face of the cube on to a non-blue square, the blueness is put down "
158"again. (In general, whenever you roll the cube, the two faces that "
159"come into contact swap colours.) Your job is to get all six blue "
160"squares on to the six faces of the cube at the same time. Count your "
161"moves and try to do it in as few as possible. "
162"\n"
163"Unlike the original Java game, my version has an additional feature: "
164"once you've mastered the game with a cube rolling on a square grid, "
165"you can change to a triangular grid and roll any of a tetrahedron, "
166"an octahedron or an icosahedron. "
167"\n"
168"[2] http://www3.sympatico.ca/paulscott/cube/cube.htm "
169"\n"
170"\n#4.1 Cube controls "
171"\n"
172"This game can be played with either the keyboard or the mouse. "
173"\n"
174"Left-clicking anywhere on the window will move the cube (or other "
175"solid) towards the mouse pointer. "
176"\n"
177"The arrow keys can also used to roll the cube on its square grid in "
178"the four cardinal directions. On the triangular grids, the mapping "
179"of arrow keys to directions is more approximate. Vertical movement "
180"is disallowed where it doesn't make sense. The four keys surrounding "
181"the arrow keys on the numeric keypad (`7', `9', `1', `3') can be "
182"used for diagonal movement. "
183"\n"
184"(All the actions described in section 2.1 are also available.) "
185"\n"
186"\n#4.2 Cube parameters "
187"\n"
188"These parameters are available from the `Custom...' option on the "
189"`Type' menu. "
190"\n"
191"_Type of solid_ "
192"\n"
193"Selects the solid to roll (and hence the shape of the grid): "
194"tetrahedron, cube, octahedron, or icosahedron. "
195"\n"
196"_Width / top_, _Height / bottom_ "
197"\n"
198"On a square grid, horizontal and vertical dimensions. On a "
199"triangular grid, the number of triangles on the top and bottom "
200"rows respectively. "
201"\n"
202"#Chapter 5: Fifteen "
203"\n"
204"The old ones are the best: this is the good old `15-puzzle' with "
205"sliding tiles. You have a 4x4 square grid; 15 squares contain "
206"numbered tiles, and the sixteenth is empty. Your move is to choose a "
207"tile next to the empty space, and slide it into the space. The aim "
208"is to end up with the tiles in numerical order, with the space in "
209"the bottom right (so that the top row reads 1,2,3,4 and the bottom "
210"row reads 13,14,15,_space_). "
211"\n"
212"\n#5.1 Fifteen controls "
213"\n"
214"This game can be controlled with the mouse or the keyboard. "
215"\n"
216"A left-click with the mouse in the row or column containing the "
217"empty space will move as many tiles as necessary to move the space "
218"to the mouse pointer. "
219"\n"
220"The arrow keys will move a tile adjacent to the space in the "
221"direction indicated (moving the space in the _opposite_ direction). "
222"\n"
223"Pressing `h' will make a suggested move. Pressing `h' enough times "
224"will solve the game, but it may scramble your progress while doing "
225"so. "
226"\n"
227"(All the actions described in section 2.1 are also available.) "
228"\n"
229"\n#5.2 Fifteen parameters "
230"\n"
231"The only options available from the `Custom...' option on the `Type' "
232"menu are _Width_ and _Height_, which are self-explanatory. (Once "
233"you've changed these, it's not a `15-puzzle' any more, of course!) "
234"\n"
235"#Chapter 6: Sixteen "
236"\n"
237"Another sliding tile puzzle, visually similar to Fifteen (see "
238"chapter 5) but with a different type of move. This time, there is no "
239"hole: all 16 squares on the grid contain numbered squares. Your move "
240"is to shift an entire row left or right, or shift an entire column "
241"up or down; every time you do that, the tile you shift off the grid "
242"re-appears at the other end of the same row, in the space you just "
243"vacated. To win, arrange the tiles into numerical order (1,2,3,4 on "
244"the top row, 13,14,15,16 on the bottom). When you've done that, try "
245"playing on different sizes of grid. "
246"\n"
247"I _might_ have invented this game myself, though only by accident "
248"if so (and I'm sure other people have independently invented it). I "
249"thought I was imitating a screensaver I'd seen, but I have a feeling "
250"that the screensaver might actually have been a Fifteen-type puzzle "
251"rather than this slightly different kind. So this might be the one "
252"thing in my puzzle collection which represents creativity on my part "
253"rather than just engineering. "
254"\n"
255"\n#6.1 Sixteen controls "
256"\n"
257"Left-clicking on an arrow will move the appropriate row or column in "
258"the direction indicated. Right-clicking will move it in the opposite "
259"direction. "
260"\n"
261"Alternatively, use the cursor keys to move the position indicator "
262"around the edge of the grid, and use the return key to move the "
263"row/column in the direction indicated. "
264"\n"
265"You can also move the tiles directly. Move the cursor onto a tile, "
266"hold Control and press an arrow key to move the tile under the "
267"cursor and move the cursor along with the tile. Or, hold Shift to "
268"move only the tile. Pressing Enter simulates holding down Control "
269"(press Enter again to release), while pressing Space simulates "
270"holding down shift. "
271"\n"
272"(All the actions described in section 2.1 are also available.) "
273"\n"
274"\n#6.2 Sixteen parameters "
275"\n"
276"The parameters available from the `Custom...' option on the `Type' "
277"menu are: "
278"\n"
279"- _Width_ and _Height_, which are self-explanatory. "
280"\n"
281"- You can ask for a limited shuffling operation to be performed on "
282"the grid. By default, Sixteen will shuffle the grid in such a "
283"way that any arrangement is about as probable as any other. You "
284"can override this by requesting a precise number of shuffling "
285"moves to be performed. Typically your aim is then to determine "
286"the precise set of shuffling moves and invert them exactly, "
287"so that you answer (say) a four-move shuffle with a four-move "
288"solution. Note that the more moves you ask for, the more likely "
289"it is that solutions shorter than the target length will turn "
290"out to be possible. "
291"\n"
292"#Chapter 7: Twiddle "
293"\n"
294"Twiddle is a tile-rearrangement puzzle, visually similar to Sixteen "
295"(see chapter 6): you are given a grid of square tiles, each "
296"containing a number, and your aim is to arrange the numbers into "
297"ascending order. "
298"\n"
299"In basic Twiddle, your move is to rotate a square group of four "
300"tiles about their common centre. (Orientation is not significant "
301"in the basic puzzle, although you can select it.) On more advanced "
302"settings, you can rotate a larger square group of tiles. "
303"\n"
304"I first saw this type of puzzle in the GameCube game `Metroid "
305"Prime 2'. In the Main Gyro Chamber in that game, there is a puzzle "
306"you solve to unlock a door, which is a special case of Twiddle. I "
307"developed this game as a generalisation of that puzzle. "
308"\n"
309"\n#7.1 Twiddle controls "
310"\n"
311"To play Twiddle, click the mouse in the centre of the square group "
312"you wish to rotate. In the basic mode, you rotate a 2x2 square, "
313"which means you have to click at a corner point where four tiles "
314"meet. "
315"\n"
316"In more advanced modes you might be rotating 3x3 or even more at a "
317"time; if the size of the square is odd then you simply click in the "
318"centre tile of the square you want to rotate. "
319"\n"
320"Clicking with the left mouse button rotates the group anticlockwise. "
321"Clicking with the right button rotates it clockwise. "
322"\n"
323"You can also move an outline square around the grid with the cursor "
324"keys; the square is the size above (2x2 by default, or larger). "
325"Pressing the return key or space bar will rotate the current square "
326"anticlockwise or clockwise respectively. "
327"\n"
328"(All the actions described in section 2.1 are also available.) "
329"\n"
330"\n#7.2 Twiddle parameters "
331"\n"
332"Twiddle provides several configuration options via the `Custom' "
333"option on the `Type' menu: "
334"\n"
335"- You can configure the width and height of the puzzle grid. "
336"\n"
337"- You can configure the size of square block that rotates at a "
338"time. "
339"\n"
340"- You can ask for every square in the grid to be distinguishable "
341"(the default), or you can ask for a simplified puzzle in which "
342"there are groups of identical numbers. In the simplified puzzle "
343"your aim is just to arrange all the 1s into the first row, all "
344"the 2s into the second row, and so on. "
345"\n"
346"- You can configure whether the orientation of tiles matters. If "
347"you ask for an orientable puzzle, each tile will have a triangle "
348"drawn in it. All the triangles must be pointing upwards to "
349"complete the puzzle. "
350"\n"
351"- You can ask for a limited shuffling operation to be performed "
352"on the grid. By default, Twiddle will shuffle the grid so much "
353"that any arrangement is about as probable as any other. You can "
354"override this by requesting a precise number of shuffling moves "
355"to be performed. Typically your aim is then to determine the "
356"precise set of shuffling moves and invert them exactly, so that "
357"you answer (say) a four-move shuffle with a four-move solution. "
358"Note that the more moves you ask for, the more likely it is that "
359"solutions shorter than the target length will turn out to be "
360"possible. "
361"\n"
362"#Chapter 8: Rectangles "
363"\n"
364"You have a grid of squares, with numbers written in some (but "
365"not all) of the squares. Your task is to subdivide the grid into "
366"rectangles of various sizes, such that (a) every rectangle contains "
367"exactly one numbered square, and (b) the area of each rectangle is "
368"equal to the number written in its numbered square. "
369"\n"
370"Credit for this game goes to the Japanese puzzle magazine Nikoli [3] "
371"; I've also seen a Palm implementation at Puzzle Palace [4]. Unlike "
372"Puzzle Palace's implementation, my version automatically generates "
373"random grids of any size you like. The quality of puzzle design is "
374"therefore not quite as good as hand-crafted puzzles would be, but on "
375"the plus side you get an inexhaustible supply of puzzles tailored to "
376"your own specification. "
377"\n"
378"[3] http://www.nikoli.co.jp/en/puzzles/shikaku.html (beware of "
379"Flash) "
380"\n"
381"[4] "
382"https://web.archive.org/web/20041024001459/http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en "
383"\n"
384"\n#8.1 Rectangles controls "
385"\n"
386"This game is played with the mouse or cursor keys. "
387"\n"
388"Left-click any edge to toggle it on or off, or left-click and "
389"drag to draw an entire rectangle (or line) on the grid in one go "
390"(removing any existing edges within that rectangle). Right-clicking "
391"and dragging will allow you to erase the contents of a rectangle "
392"without affecting its edges. "
393"\n"
394"Alternatively, use the cursor keys to move the position indicator "
395"around the board. Pressing the return key then allows you to use the "
396"cursor keys to drag a rectangle out from that position, and pressing "
397"the return key again completes the rectangle. Using the space bar "
398"instead of the return key allows you to erase the contents of a "
399"rectangle without affecting its edges, as above. Pressing escape "
400"cancels a drag. "
401"\n"
402"When a rectangle of the correct size is completed, it will be "
403"shaded. "
404"\n"
405"(All the actions described in section 2.1 are also available.) "
406"\n"
407"\n#8.2 Rectangles parameters "
408"\n"
409"These parameters are available from the `Custom...' option on the "
410"`Type' menu. "
411"\n"
412"_Width_, _Height_ "
413"\n"
414"Size of grid, in squares. "
415"\n"
416"_Expansion factor_ "
417"\n"
418"This is a mechanism for changing the type of grids generated by "
419"the program. Some people prefer a grid containing a few large "
420"rectangles to one containing many small ones. So you can ask "
421"Rectangles to essentially generate a _smaller_ grid than the "
422"size you specified, and then to expand it by adding rows and "
423"columns. "
424"\n"
425"The default expansion factor of zero means that Rectangles will "
426"simply generate a grid of the size you ask for, and do nothing "
427"further. If you set an expansion factor of (say) 0.5, it means "
428"that each dimension of the grid will be expanded to half again "
429"as big after generation. In other words, the initial grid will "
430"be 2/3 the size in each dimension, and will be expanded to its "
431"full size without adding any more rectangles. "
432"\n"
433"Setting an expansion factor of around 0.5 tends to make the "
434"game more difficult, and also (in my experience) rewards a "
435"less deductive and more intuitive playing style. If you set it "
436"_too_ high, though, the game simply cannot generate more than a "
437"few rectangles to cover the entire grid, and the game becomes "
438"trivial. "
439"\n"
440"_Ensure unique solution_ "
441"\n"
442"Normally, Rectangles will make sure that the puzzles it presents "
443"have only one solution. Puzzles with ambiguous sections can be "
444"more difficult and more subtle, so if you like you can turn off "
445"this feature and risk having ambiguous puzzles. Also, finding "
446"_all_ the possible solutions can be an additional challenge for "
447"an advanced player. Turning off this option can also speed up "
448"puzzle generation. "
449"\n"
450"#Chapter 9: Netslide "
451"\n"
452"This game combines the grid generation of Net (see chapter 3) with "
453"the movement of Sixteen (see chapter 6): you have a Net grid, but "
454"instead of rotating tiles back into place you have to slide them "
455"into place by moving a whole row at a time. "
456"\n"
457"As in Sixteen, control is with the mouse or cursor keys. See section "
458"6.1. "
459"\n"
460"The available game parameters have similar meanings to those in Net "
461"(see section 3.2) and Sixteen (see section 6.2). "
462"\n"
463"Netslide was contributed to this collection by Richard Boulton. "
464"\n"
465"#Chapter 10: Pattern "
466"\n"
467"You have a grid of squares, which must all be filled in either black "
468"or white. Beside each row of the grid are listed the lengths of the "
469"runs of black squares on that row; above each column are listed the "
470"lengths of the runs of black squares in that column. Your aim is to "
471"fill in the entire grid black or white. "
472"\n"
473"I first saw this puzzle form around 1995, under the name "
474"`nonograms'. I've seen it in various places since then, under "
475"different names. "
476"\n"
477"Normally, puzzles of this type turn out to be a meaningful picture "
478"of something once you've solved them. However, since this version "
479"generates the puzzles automatically, they will just look like random "
480"groupings of squares. (One user has suggested that this is actually "
481"a _good_ thing, since it prevents you from guessing the colour of "
482"squares based on the picture, and forces you to use logic instead.) "
483"The advantage, though, is that you never run out of them. "
484"\n"
485"\n#10.1 Pattern controls "
486"\n"
487"This game is played with the mouse. "
488"\n"
489"Left-click in a square to colour it black. Right-click to colour it "
490"white. If you make a mistake, you can middle-click, or hold down "
491"Shift while clicking with any button, to colour the square in the "
492"default grey (meaning `undecided') again. "
493"\n"
494"You can click and drag with the left or right mouse button to colour "
495"a vertical or horizontal line of squares black or white at a time "
496"(respectively). If you click and drag with the middle button, or "
497"with Shift held down, you can colour a whole rectangle of squares "
498"grey. "
499"\n"
500"You can also move around the grid with the cursor keys. Pressing the "
501"return key will cycle the current cell through empty, then black, "
502"then white, then empty, and the space bar does the same cycle in "
503"reverse. "
504"\n"
505"Moving the cursor while holding Control will colour the moved-over "
506"squares black. Holding Shift will colour the moved-over squares "
507"white, and holding both will colour them grey. "
508"\n"
509"(All the actions described in section 2.1 are also available.) "
510"\n"
511"\n#10.2 Pattern parameters "
512"\n"
513"The only options available from the `Custom...' option on the `Type' "
514"menu are _Width_ and _Height_, which are self-explanatory. "
515"\n"
516"#Chapter 11: Solo "
517"\n"
518"You have a square grid, which is divided into as many equally sized "
519"sub-blocks as the grid has rows. Each square must be filled in with "
520"a digit from 1 to the size of the grid, in such a way that "
521"\n"
522"- every row contains only one occurrence of each digit "
523"\n"
524"- every column contains only one occurrence of each digit "
525"\n"
526"- every block contains only one occurrence of each digit. "
527"\n"
528"- (optionally, by default off) each of the square's two main "
529"diagonals contains only one occurrence of each digit. "
530"\n"
531"You are given some of the numbers as clues; your aim is to place the "
532"rest of the numbers correctly. "
533"\n"
534"Under the default settings, the sub-blocks are square or "
535"rectangular. The default puzzle size is 3x3 (a 9x9 actual grid, "
536"divided into nine 3x3 blocks). You can also select sizes with "
537"rectangular blocks instead of square ones, such as 2x3 (a 6x6 grid "
538"divided into six 3x2 blocks). Alternatively, you can select `jigsaw' "
539"mode, in which the sub-blocks are arbitrary shapes which differ "
540"between individual puzzles. "
541"\n"
542"Another available mode is `killer'. In this mode, clues are not "
543"given in the form of filled-in squares; instead, the grid is divided "
544"into `cages' by coloured lines, and for each cage the game tells "
545"you what the sum of all the digits in that cage should be. Also, "
546"no digit may appear more than once within a cage, even if the cage "
547"crosses the boundaries of existing regions. "
548"\n"
549"If you select a puzzle size which requires more than 9 digits, the "
550"additional digits will be letters of the alphabet. For example, if "
551"you select 3x4 then the digits which go in your grid will be 1 to 9, "
552"plus `a', `b' and `c'. This cannot be selected for killer puzzles. "
553"\n"
554"I first saw this puzzle in Nikoli [5], although it's also been "
555"popularised by various newspapers under the name `Sudoku' or `Su "
556"Doku'. Howard Garns is considered the inventor of the modern form of "
557"the puzzle, and it was first published in _Dell Pencil Puzzles and "
558"Word Games_. A more elaborate treatment of the history of the puzzle "
559"can be found on Wikipedia [6]. "
560"\n"
561"[5] http://www.nikoli.co.jp/en/puzzles/sudoku.html (beware of Flash) "
562"\n"
563"[6] http://en.wikipedia.org/wiki/Sudoku "
564"\n"
565"\n#11.1 Solo controls "
566"\n"
567"To play Solo, simply click the mouse in any empty square and then "
568"type a digit or letter on the keyboard to fill that square. If you "
569"make a mistake, click the mouse in the incorrect square and press "
570"Space to clear it again (or use the Undo feature). "
571"\n"
572"If you _right_-click in a square and then type a number, that "
573"number will be entered in the square as a `pencil mark'. You can "
574"have pencil marks for multiple numbers in the same square. Squares "
575"containing filled-in numbers cannot also contain pencil marks. "
576"\n"
577"The game pays no attention to pencil marks, so exactly what you "
578"use them for is up to you: you can use them as reminders that a "
579"particular square needs to be re-examined once you know more about "
580"a particular number, or you can use them as lists of the possible "
581"numbers in a given square, or anything else you feel like. "
582"\n"
583"To erase a single pencil mark, right-click in the square and type "
584"the same number again. "
585"\n"
586"All pencil marks in a square are erased when you left-click and type "
587"a number, or when you left-click and press space. Right-clicking and "
588"pressing space will also erase pencil marks. "
589"\n"
590"Alternatively, use the cursor keys to move the mark around the grid. "
591"Pressing the return key toggles the mark (from a normal mark to a "
592"pencil mark), and typing a number in is entered in the square in the "
593"appropriate way; typing in a 0 or using the space bar will clear a "
594"filled square. "
595"\n"
596"(All the actions described in section 2.1 are also available.) "
597"\n"
598"\n#11.2 Solo parameters "
599"\n"
600"Solo allows you to configure two separate dimensions of the puzzle "
601"grid on the `Type' menu: the number of columns, and the number of "
602"rows, into which the main grid is divided. (The size of a block is "
603"the inverse of this: for example, if you select 2 columns and 3 "
604"rows, each actual block will have 3 columns and 2 rows.) "
605"\n"
606"If you tick the `X' checkbox, Solo will apply the optional extra "
607"constraint that the two main diagonals of the grid also contain "
608"one of every digit. (This is sometimes known as `Sudoku-X' in "
609"newspapers.) In this mode, the squares on the two main diagonals "
610"will be shaded slightly so that you know it's enabled. "
611"\n"
612"If you tick the `Jigsaw' checkbox, Solo will generate randomly "
613"shaped sub-blocks. In this mode, the actual grid size will be taken "
614"to be the product of the numbers entered in the `Columns' and `Rows' "
615"boxes. There is no reason why you have to enter a number greater "
616"than 1 in both boxes; Jigsaw mode has no constraint on the grid "
617"size, and it can even be a prime number if you feel like it. "
618"\n"
619"If you tick the `Killer' checkbox, Solo will generate a set of "
620"of cages, which are randomly shaped and drawn in an outline of a "
621"different colour. Each of these regions contains a smaller clue "
622"which shows the digit sum of all the squares in this region. "
623"\n"
624"You can also configure the type of symmetry shown in the generated "
625"puzzles. More symmetry makes the puzzles look prettier but may also "
626"make them easier, since the symmetry constraints can force more "
627"clues than necessary to be present. Completely asymmetric puzzles "
628"have the freedom to contain as few clues as possible. "
629"\n"
630"Finally, you can configure the difficulty of the generated puzzles. "
631"Difficulty levels are judged by the complexity of the techniques "
632"of deduction required to solve the puzzle: each level requires a "
633"mode of reasoning which was not necessary in the previous one. In "
634"particular, on difficulty levels `Trivial' and `Basic' there will be "
635"a square you can fill in with a single number at all times, whereas "
636"at `Intermediate' level and beyond you will have to make partial "
637"deductions about the _set_ of squares a number could be in (or the "
638"set of numbers that could be in a square). At `Unreasonable' level, "
639"even this is not enough, and you will eventually have to make a "
640"guess, and then backtrack if it turns out to be wrong. "
641"\n"
642"Generating difficult puzzles is itself difficult: if you select one "
643"of the higher difficulty levels, Solo may have to make many attempts "
644"at generating a puzzle before it finds one hard enough for you. Be "
645"prepared to wait, especially if you have also configured a large "
646"puzzle size. "
647"\n"
648"#Chapter 12: Mines "
649"\n"
650"You have a grid of covered squares, some of which contain mines, but "
651"you don't know which. Your job is to uncover every square which does "
652"_not_ contain a mine. If you uncover a square containing a mine, you "
653"lose. If you uncover a square which does not contain a mine, you "
654"are told how many mines are contained within the eight surrounding "
655"squares. "
656"\n"
657"This game needs no introduction; popularised by Windows, it is "
658"perhaps the single best known desktop puzzle game in existence. "
659"\n"
660"This version of it has an unusual property. By default, it will "
661"generate its mine positions in such a way as to ensure that you "
662"never need to _guess_ where a mine is: you will always be able "
663"to deduce it somehow. So you will never, as can happen in other "
664"versions, get to the last four squares and discover that there are "
665"two mines left but you have no way of knowing for sure where they "
666"are. "
667"\n"
668"\n#12.1 Mines controls "
669"\n"
670"This game is played with the mouse. "
671"\n"
672"If you left-click in a covered square, it will be uncovered. "
673"\n"
674"If you right-click in a covered square, it will place a flag which "
675"indicates that the square is believed to be a mine. Left-clicking in "
676"a marked square will not uncover it, for safety. You can right-click "
677"again to remove a mark placed in error. "
678"\n"
679"If you left-click in an _uncovered_ square, it will `clear around' "
680"the square. This means: if the square has exactly as many flags "
681"surrounding it as it should have mines, then all the covered squares "
682"next to it which are _not_ flagged will be uncovered. So once you "
683"think you know the location of all the mines around a square, you "
684"can use this function as a shortcut to avoid having to click on each "
685"of the remaining squares one by one. "
686"\n"
687"If you uncover a square which has _no_ mines in the surrounding "
688"eight squares, then it is obviously safe to uncover those squares in "
689"turn, and so on if any of them also has no surrounding mines. This "
690"will be done for you automatically; so sometimes when you uncover a "
691"square, a whole new area will open up to be explored. "
692"\n"
693"You can also use the cursor keys to move around the minefield. "
694"Pressing the return key in a covered square uncovers it, and in "
695"an uncovered square will clear around it (so it acts as the left "
696"button), pressing the space bar in a covered square will place a "
697"flag (similarly, it acts as the right button). "
698"\n"
699"All the actions described in section 2.1 are also available. "
700"\n"
701"Even Undo is available, although you might consider it cheating to "
702"use it. If you step on a mine, the program will only reveal the mine "
703"in question (unlike most other implementations, which reveal all of "
704"them). You can then Undo your fatal move and continue playing if you "
705"like. The program will track the number of times you died (and Undo "
706"will not reduce that counter), so when you get to the end of the "
707"game you know whether or not you did it without making any errors. "
708"\n"
709"(If you really want to know the full layout of the grid, which other "
710"implementations will show you after you die, you can always use the "
711"Solve menu option.) "
712"\n"
713"\n#12.2 Mines parameters "
714"\n"
715"The options available from the `Custom...' option on the `Type' menu "
716"are: "
717"\n"
718"_Width_, _Height_ "
719"\n"
720"Size of grid in squares. "
721"\n"
722"_Mines_ "
723"\n"
724"Number of mines in the grid. You can enter this as an absolute "
725"mine count, or alternatively you can put a % sign on the end "
726"in which case the game will arrange for that proportion of the "
727"squares in the grid to be mines. "
728"\n"
729"Beware of setting the mine count too high. At very high "
730"densities, the program may spend forever searching for a "
731"solvable grid. "
732"\n"
733"_Ensure solubility_ "
734"\n"
735"When this option is enabled (as it is by default), Mines will "
736"ensure that the entire grid can be fully deduced starting "
737"from the initial open space. If you prefer the riskier grids "
738"generated by other implementations, you can switch off this "
739"option. "
740"\n"
741"#Chapter 13: Same Game "
742"\n"
743"You have a grid of coloured squares, which you have to clear by "
744"highlighting contiguous regions of more than one coloured square; "
745"the larger the region you highlight, the more points you get (and "
746"the faster you clear the arena). "
747"\n"
748"If you clear the grid you win. If you end up with nothing but single "
749"squares (i.e., there are no more clickable regions left) you lose. "
750"\n"
751"Removing a region causes the rest of the grid to shuffle up: blocks "
752"that are suspended will fall down (first), and then empty columns "
753"are filled from the right. "
754"\n"
755"Same Game was contributed to this collection by James Harvey. "
756"\n"
757"\n#13.1 Same Game controls "
758"\n"
759"This game can be played with either the keyboard or the mouse. "
760"\n"
761"If you left-click an unselected region, it becomes selected "
762"(possibly clearing the current selection). "
763"\n"
764"If you left-click the selected region, it will be removed (and the "
765"rest of the grid shuffled immediately). "
766"\n"
767"If you right-click the selected region, it will be unselected. "
768"\n"
769"The cursor keys move a cursor around the grid. Pressing the Space or "
770"Enter keys while the cursor is in an unselected region selects it; "
771"pressing Space or Enter again removes it as above. "
772"\n"
773"(All the actions described in section 2.1 are also available.) "
774"\n"
775"\n#13.2 Same Game parameters "
776"\n"
777"These parameters are available from the `Custom...' option on the "
778"`Type' menu. "
779"\n"
780"_Width_, _Height_ "
781"\n"
782"Size of grid in squares. "
783"\n"
784"_No. of colours_ "
785"\n"
786"Number of different colours used to fill the grid; the more "
787"colours, the fewer large regions of colour and thus the more "
788"difficult it is to successfully clear the grid. "
789"\n"
790"_Scoring system_ "
791"\n"
792"Controls the precise mechanism used for scoring. With the "
793"default system, `(n-2)^2', only regions of three squares or more "
794"will score any points at all. With the alternative `(n-1)^2' "
795"system, regions of two squares score a point each, and larger "
796"regions score relatively more points. "
797"\n"
798"_Ensure solubility_ "
799"\n"
800"If this option is ticked (the default state), generated grids "
801"will be guaranteed to have at least one solution. "
802"\n"
803"If you turn it off, the game generator will not try to guarantee "
804"soluble grids; it will, however, still ensure that there are at "
805"least 2 squares of each colour on the grid at the start (since a "
806"grid with exactly one square of a given colour is _definitely_ "
807"insoluble). Grids generated with this option disabled may "
808"contain more large areas of contiguous colour, leading to "
809"opportunities for higher scores; they can also take less time to "
810"generate. "
811"\n"
812"#Chapter 14: Flip "
813"\n"
814"You have a grid of squares, some light and some dark. Your aim is to "
815"light all the squares up at the same time. You can choose any square "
816"and flip its state from light to dark or dark to light, but when you "
817"do so, other squares around it change state as well. "
818"\n"
819"Each square contains a small diagram showing which other squares "
820"change when you flip it. "
821"\n"
822"\n#14.1 Flip controls "
823"\n"
824"This game can be played with either the keyboard or the mouse. "
825"\n"
826"Left-click in a square to flip it and its associated squares, or use "
827"the cursor keys to choose a square and the space bar or Enter key to "
828"flip. "
829"\n"
830"If you use the `Solve' function on this game, it will mark some of "
831"the squares in red. If you click once in every square with a red "
832"mark, the game should be solved. (If you click in a square _without_ "
833"a red mark, a red mark will appear in it to indicate that you will "
834"need to reverse that operation to reach the solution.) "
835"\n"
836"(All the actions described in section 2.1 are also available.) "
837"\n"
838"\n#14.2 Flip parameters "
839"\n"
840"These parameters are available from the `Custom...' option on the "
841"`Type' menu. "
842"\n"
843"_Width_, _Height_ "
844"\n"
845"Size of grid in squares. "
846"\n"
847"_Shape type_ "
848"\n"
849"This control determines the shape of the region which is flipped "
850"by clicking in any given square. The default setting, `Crosses', "
851"causes every square to flip itself and its four immediate "
852"neighbours (or three or two if it's at an edge or corner). The "
853"other setting, `Random', causes a random shape to be chosen for "
854"every square, so the game is different every time. "
855"\n"
856"#Chapter 15: Guess "
857"\n"
858"You have a set of coloured pegs, and have to reproduce a "
859"predetermined sequence of them (chosen by the computer) within a "
860"certain number of guesses. "
861"\n"
862"Each guess gets marked with the number of correctly-coloured pegs "
863"in the correct places (in black), and also the number of correctly-\n"
864"coloured pegs in the wrong places (in white). "
865"\n"
866"This game is also known (and marketed, by Hasbro, mainly) as a board "
867"game `Mastermind', with 6 colours, 4 pegs per row, and 10 guesses. "
868"However, this version allows custom settings of number of colours "
869"(up to 10), number of pegs per row, and number of guesses. "
870"\n"
871"Guess was contributed to this collection by James Harvey. "
872"\n"
873"\n#15.1 Guess controls "
874"\n"
875"This game can be played with either the keyboard or the mouse. "
876"\n"
877"With the mouse, drag a coloured peg from the tray on the left-hand "
878"side to its required position in the current guess; pegs may also "
879"be dragged from current and past guesses to copy them elsewhere. To "
880"remove a peg, drag it off its current position to somewhere invalid. "
881"\n"
882"Right-clicking in the current guess adds a `hold' marker; pegs that "
883"have hold markers will be automatically added to the next guess "
884"after marking. "
885"\n"
886"Alternatively, with the keyboard, the up and down cursor keys can "
887"be used to select a peg colour, the left and right keys to select a "
888"peg position, and the space bar or Enter key to place a peg of the "
889"selected colour in the chosen position. `D' or Backspace removes a "
890"peg, and Space adds a hold marker. "
891"\n"
892"Pressing `h' or `?' will fill the current guess with a suggested "
893"guess. Using this is not recommended for 10 or more pegs as it is "
894"slow. "
895"\n"
896"When the guess is complete, the smaller feedback pegs will be "
897"highlighted; clicking on these (or moving the peg cursor to them "
898"with the arrow keys and pressing the space bar or Enter key) will "
899"mark the current guess, copy any held pegs to the next guess, and "
900"move the `current guess' marker. "
901"\n"
902"If you correctly position all the pegs the solution will be "
903"displayed below; if you run out of guesses (or select `Solve...') "
904"the solution will also be revealed. "
905"\n"
906"(All the actions described in section 2.1 are also available.) "
907"\n"
908"\n#15.2 Guess parameters "
909"\n"
910"These parameters are available from the `Custom...' option on the "
911"`Type' menu. The default game matches the parameters for the board "
912"game `Mastermind'. "
913"\n"
914"_Colours_ "
915"\n"
916"Number of colours the solution is chosen from; from 2 to 10 "
917"(more is harder). "
918"\n"
919"_Pegs per guess_ "
920"\n"
921"Number of pegs per guess (more is harder). "
922"\n"
923"_Guesses_ "
924"\n"
925"Number of guesses you have to find the solution in (fewer is "
926"harder). "
927"\n"
928"_Allow blanks_ "
929"\n"
930"Allows blank pegs to be given as part of a guess (makes it "
931"easier, because you know that those will never be counted as "
932"part of the solution). This is turned off by default. "
933"\n"
934"Note that this doesn't allow blank pegs in the solution; if you "
935"really wanted that, use one extra colour. "
936"\n"
937"_Allow duplicates_ "
938"\n"
939"Allows the solution (and the guesses) to contain colours more "
940"than once; this increases the search space (making things "
941"harder), and is turned on by default. "
942"\n"
943"#Chapter 16: Pegs "
944"\n"
945"A number of pegs are placed in holes on a board. You can remove a "
946"peg by jumping an adjacent peg over it (horizontally or vertically) "
947"to a vacant hole on the other side. Your aim is to remove all but "
948"one of the pegs initially present. "
949"\n"
950"This game, best known as `Peg Solitaire', is possibly one of the "
951"oldest puzzle games still commonly known. "
952"\n"
953"\n#16.1 Pegs controls "
954"\n"
955"To move a peg, drag it with the mouse from its current position to "
956"its final position. If the final position is exactly two holes away "
957"from the initial position, is currently unoccupied by a peg, and "
958"there is a peg in the intervening square, the move will be permitted "
959"and the intervening peg will be removed. "
960"\n"
961"Vacant spaces which you can move a peg into are marked with holes. A "
962"space with no peg and no hole is not available for moving at all: it "
963"is an obstacle which you must work around. "
964"\n"
965"You can also use the cursor keys to move a position indicator around "
966"the board. Pressing the return key while over a peg, followed by a "
967"cursor key, will jump the peg in that direction (if that is a legal "
968"move). "
969"\n"
970"(All the actions described in section 2.1 are also available.) "
971"\n"
972"\n#16.2 Pegs parameters "
973"\n"
974"These parameters are available from the `Custom...' option on the "
975"`Type' menu. "
976"\n"
977"_Width_, _Height_ "
978"\n"
979"Size of grid in holes. "
980"\n"
981"_Board type_ "
982"\n"
983"Controls whether you are given a board of a standard shape or "
984"a randomly generated shape. The two standard shapes currently "
985"supported are `Cross' and `Octagon' (also commonly known as the "
986"English and European traditional board layouts respectively). "
987"Selecting `Random' will give you a different board shape every "
988"time (but always one that is known to have a solution). "
989"\n"
990"#Chapter 17: Dominosa "
991"\n"
992"A normal set of dominoes - that is, one instance of every "
993"(unordered) pair of numbers from 0 to 6 - has been arranged "
994"irregularly into a rectangle; then the number in each square has "
995"been written down and the dominoes themselves removed. Your task is "
996"to reconstruct the pattern by arranging the set of dominoes to match "
997"the provided array of numbers. "
998"\n"
999"This puzzle is widely credited to O. S. Adler, and takes part of its "
1000"name from those initials. "
1001"\n"
1002"\n#17.1 Dominosa controls "
1003"\n"
1004"Left-clicking between any two adjacent numbers places a domino "
1005"covering them, or removes one if it is already present. Trying to "
1006"place a domino which overlaps existing dominoes will remove the ones "
1007"it overlaps. "
1008"\n"
1009"Right-clicking between two adjacent numbers draws a line between "
1010"them, which you can use to remind yourself that you know those two "
1011"numbers are _not_ covered by a single domino. Right-clicking again "
1012"removes the line. "
1013"\n"
1014"You can also use the cursor keys to move a cursor around the grid. "
1015"When the cursor is half way between two adjacent numbers, pressing "
1016"the return key will place a domino covering those numbers, or "
1017"pressing the space bar will lay a line between the two squares. "
1018"Repeating either action removes the domino or line. "
1019"\n"
1020"Pressing a number key will highlight all occurrences of that number. "
1021"Pressing that number again will clear the highlighting. Up to two "
1022"different numbers can be highlighted at any given time. "
1023"\n"
1024"(All the actions described in section 2.1 are also available.) "
1025"\n"
1026"\n#17.2 Dominosa parameters "
1027"\n"
1028"These parameters are available from the `Custom...' option on the "
1029"`Type' menu. "
1030"\n"
1031"_Maximum number on dominoes_ "
1032"\n"
1033"Controls the size of the puzzle, by controlling the size of the "
1034"set of dominoes used to make it. Dominoes with numbers going "
1035"up to N will give rise to an (N+2) x (N+1) rectangle; so, in "
1036"particular, the default value of 6 gives an 8x7 grid. "
1037"\n"
1038"_Ensure unique solution_ "
1039"\n"
1040"Normally, Dominosa will make sure that the puzzles it presents "
1041"have only one solution. Puzzles with ambiguous sections can be "
1042"more difficult and sometimes more subtle, so if you like you "
1043"can turn off this feature. Also, finding _all_ the possible "
1044"solutions can be an additional challenge for an advanced player. "
1045"Turning off this option can also speed up puzzle generation. "
1046"\n"
1047"#Chapter 18: Untangle "
1048"\n"
1049"You are given a number of points, some of which have lines drawn "
1050"between them. You can move the points about arbitrarily; your aim is "
1051"to position the points so that no line crosses another. "
1052"\n"
1053"I originally saw this in the form of a Flash game called Planarity "
1054"[7], written by John Tantalo. "
1055"\n"
1056"[7] http://planarity.net "
1057"\n"
1058"\n#18.1 Untangle controls "
1059"\n"
1060"To move a point, click on it with the left mouse button and drag it "
1061"into a new position. "
1062"\n"
1063"(All the actions described in section 2.1 are also available.) "
1064"\n"
1065"\n#18.2 Untangle parameters "
1066"\n"
1067"There is only one parameter available from the `Custom...' option on "
1068"the `Type' menu: "
1069"\n"
1070"_Number of points_ "
1071"\n"
1072"Controls the size of the puzzle, by specifying the number of "
1073"points in the generated graph. "
1074"\n"
1075"#Chapter 19: Black Box "
1076"\n"
1077"A number of balls are hidden in a rectangular arena. You have to "
1078"deduce the positions of the balls by firing lasers positioned at the "
1079"edges of the arena and observing how their beams are deflected. "
1080"\n"
1081"Beams will travel straight from their origin until they hit the "
1082"opposite side of the arena (at which point they emerge), unless "
1083"affected by balls in one of the following ways: "
1084"\n"
1085"- A beam that hits a ball head-on is absorbed and will never re-\n"
1086"emerge. This includes beams that meet a ball on the first rank "
1087"of the arena. "
1088"\n"
1089"- A beam with a ball in its front-left square and no ball ahead of "
1090"it gets deflected 90 degrees to the right. "
1091"\n"
1092"- A beam with a ball in its front-right square and no ball ahead "
1093"of it gets similarly deflected to the left. "
1094"\n"
1095"- A beam that would re-emerge from its entry location is "
1096"considered to be `reflected'. "
1097"\n"
1098"- A beam which would get deflected before entering the arena by a "
1099"ball to the front-left or front-right of its entry point is also "
1100"considered to be `reflected'. "
1101"\n"
1102"Beams that are reflected appear as a `R'; beams that hit balls head-\n"
1103"on appear as `H'. Otherwise, a number appears at the firing point "
1104"and the location where the beam emerges (this number is unique to "
1105"that shot). "
1106"\n"
1107"You can place guesses as to the location of the balls, based on the "
1108"entry and exit patterns of the beams; once you have placed enough "
1109"balls a button appears enabling you to have your guesses checked. "
1110"\n"
1111"Here is a diagram showing how the positions of balls can create each "
1112"of the beam behaviours shown above: "
1113"\n"
1114"1RHR----\n"
1115"|..O.O...|\n"
1116"2........3\n"
1117"|........|\n"
1118"|........|\n"
1119"3........|\n"
1120"|......O.|\n"
1121"H........|\n"
1122"|.....O..|\n"
1123"12-RR---\n"
1124"\n"
1125"As shown, it is possible for a beam to receive multiple reflections "
1126"before re-emerging (see turn 3). Similarly, a beam may be reflected "
1127"(possibly more than once) before receiving a hit (the `H' on the "
1128"left side of the example). "
1129"\n"
1130"Note that any layout with more than 4 balls may have a non-unique "
1131"solution. The following diagram illustrates this; if you know the "
1132"board contains 5 balls, it is impossible to determine where the "
1133"fifth ball is (possible positions marked with an x): "
1134"\n"
1135"--------\n"
1136"|........|\n"
1137"|........|\n"
1138"|..O..O..|\n"
1139"|...xx...|\n"
1140"|...xx...|\n"
1141"|..O..O..|\n"
1142"|........|\n"
1143"|........|\n"
1144"--------\n"
1145"\n"
1146"For this reason, when you have your guesses checked, the game "
1147"will check that your solution _produces the same results_ as the "
1148"computer's, rather than that your solution is identical to the "
1149"computer's. So in the above example, you could put the fifth ball at "
1150"_any_ of the locations marked with an x, and you would still win. "
1151"\n"
1152"Black Box was contributed to this collection by James Harvey. "
1153"\n"
1154"\n#19.1 Black Box controls "
1155"\n"
1156"To fire a laser beam, left-click in a square around the edge of "
1157"the arena. The results will be displayed immediately. Clicking or "
1158"holding the left button on one of these squares will highlight the "
1159"current go (or a previous go) to confirm the exit point for that "
1160"laser, if applicable. "
1161"\n"
1162"To guess the location of a ball, left-click within the arena and a "
1163"black circle will appear marking the guess; click again to remove "
1164"the guessed ball. "
1165"\n"
1166"Locations in the arena may be locked against modification by right-\n"
1167"clicking; whole rows and columns may be similarly locked by right-\n"
1168"clicking in the laser square above/below that column, or to the "
1169"left/right of that row. "
1170"\n"
1171"The cursor keys may also be used to move around the grid. Pressing "
1172"the Enter key will fire a laser or add a new ball-location guess, "
1173"and pressing Space will lock a cell, row, or column. "
1174"\n"
1175"When an appropriate number of balls have been guessed, a button will "
1176"appear at the top-left corner of the grid; clicking that (with mouse "
1177"or cursor) will check your guesses. "
1178"\n"
1179"If you click the `check' button and your guesses are not correct, "
1180"the game will show you the minimum information necessary to "
1181"demonstrate this to you, so you can try again. If your ball "
1182"positions are not consistent with the beam paths you already know "
1183"about, one beam path will be circled to indicate that it proves you "
1184"wrong. If your positions match all the existing beam paths but are "
1185"still wrong, one new beam path will be revealed (written in red) "
1186"which is not consistent with your current guesses. "
1187"\n"
1188"If you decide to give up completely, you can select Solve to reveal "
1189"the actual ball positions. At this point, correctly-placed balls "
1190"will be displayed as filled black circles, incorrectly-placed balls "
1191"as filled black circles with red crosses, and missing balls as "
1192"filled red circles. In addition, a red circle marks any laser you "
1193"had already fired which is not consistent with your ball layout "
1194"(just as when you press the `check' button), and red text marks "
1195"any laser you _could_ have fired in order to distinguish your ball "
1196"layout from the correct one. "
1197"\n"
1198"(All the actions described in section 2.1 are also available.) "
1199"\n"
1200"\n#19.2 Black Box parameters "
1201"\n"
1202"These parameters are available from the `Custom...' option on the "
1203"`Type' menu. "
1204"\n"
1205"_Width_, _Height_ "
1206"\n"
1207"Size of grid in squares. There are 2 x _Width_ x _Height_ lasers "
1208"per grid, two per row and two per column. "
1209"\n"
1210"_No. of balls_ "
1211"\n"
1212"Number of balls to place in the grid. This can be a single "
1213"number, or a range (separated with a hyphen, like `2-6'), "
1214"and determines the number of balls to place on the grid. "
1215"The `reveal' button is only enabled if you have guessed an "
1216"appropriate number of balls; a guess using a different number "
1217"to the original solution is still acceptable, if all the beam "
1218"inputs and outputs match. "
1219"\n"
1220"#Chapter 20: Slant "
1221"\n"
1222"You have a grid of squares. Your aim is to draw a diagonal line "
1223"through each square, and choose which way each line slants so that "
1224"the following conditions are met: "
1225"\n"
1226"- The diagonal lines never form a loop. "
1227"\n"
1228"- Any point with a circled number has precisely that many lines "
1229"meeting at it. (Thus, a 4 is the centre of a cross shape, "
1230"whereas a zero is the centre of a diamond shape - or rather, a "
1231"partial diamond shape, because a zero can never appear in the "
1232"middle of the grid because that would immediately cause a loop.) "
1233"\n"
1234"Credit for this puzzle goes to Nikoli [8]. "
1235"\n"
1236"[8] http://www.nikoli.co.jp/ja/puzzles/gokigen_naname (in Japanese) "
1237"\n"
1238"\n#20.1 Slant controls "
1239"\n"
1240"Left-clicking in a blank square will place a \\ in it (a line leaning "
1241"to the left, i.e. running from the top left of the square to the "
1242"bottom right). Right-clicking in a blank square will place a / in it "
1243"(leaning to the right, running from top right to bottom left). "
1244"\n"
1245"Continuing to click either button will cycle between the three "
1246"possible square contents. Thus, if you left-click repeatedly in a "
1247"blank square it will change from blank to \\ to / back to blank, and "
1248"if you right-click repeatedly the square will change from blank to / "
1249"to \\ back to blank. (Therefore, you can play the game entirely with "
1250"one button if you need to.) "
1251"\n"
1252"You can also use the cursor keys to move around the grid. Pressing "
1253"the return or space keys will place a \\ or a /, respectively, and "
1254"will then cycle them as above. You can also press / or \\ to place a "
1255"/ or \\, respectively, independent of what is already in the cursor "
1256"square. Backspace removes any line from the cursor square. "
1257"\n"
1258"(All the actions described in section 2.1 are also available.) "
1259"\n"
1260"\n#20.2 Slant parameters "
1261"\n"
1262"These parameters are available from the `Custom...' option on the "
1263"`Type' menu. "
1264"\n"
1265"_Width_, _Height_ "
1266"\n"
1267"Size of grid in squares. "
1268"\n"
1269"_Difficulty_ "
1270"\n"
1271"Controls the difficulty of the generated puzzle. At Hard "
1272"level, you are required to do deductions based on knowledge of "
1273"_relationships_ between squares rather than always being able to "
1274"deduce the exact contents of one square at a time. (For example, "
1275"you might know that two squares slant in the same direction, "
1276"even if you don't yet know what that direction is, and this "
1277"might enable you to deduce something about still other squares.) "
1278"Even at Hard level, guesswork and backtracking should never be "
1279"necessary. "
1280"\n"
1281"#Chapter 21: Light Up "
1282"\n"
1283"You have a grid of squares. Some are filled in black; some of the "
1284"black squares are numbered. Your aim is to `light up' all the empty "
1285"squares by placing light bulbs in some of them. "
1286"\n"
1287"Each light bulb illuminates the square it is on, plus all squares "
1288"in line with it horizontally or vertically unless a black square is "
1289"blocking the way. "
1290"\n"
1291"To win the game, you must satisfy the following conditions: "
1292"\n"
1293"- All non-black squares are lit. "
1294"\n"
1295"- No light is lit by another light. "
1296"\n"
1297"- All numbered black squares have exactly that number of lights "
1298"adjacent to them (in the four squares above, below, and to the "
1299"side). "
1300"\n"
1301"Non-numbered black squares may have any number of lights adjacent to "
1302"them. "
1303"\n"
1304"Credit for this puzzle goes to Nikoli [9]. "
1305"\n"
1306"Light Up was contributed to this collection by James Harvey. "
1307"\n"
1308"[9] http://www.nikoli.co.jp/en/puzzles/akari.html (beware of Flash) "
1309"\n"
1310"\n#21.1 Light Up controls "
1311"\n"
1312"Left-clicking in a non-black square will toggle the presence of a "
1313"light in that square. Right-clicking in a non-black square toggles a "
1314"mark there to aid solving; it can be used to highlight squares that "
1315"cannot be lit, for example. "
1316"\n"
1317"You may not place a light in a marked square, nor place a mark in a "
1318"lit square. "
1319"\n"
1320"The game will highlight obvious errors in red. Lights lit by other "
1321"lights are highlighted in this way, as are numbered squares which do "
1322"not (or cannot) have the right number of lights next to them. "
1323"\n"
1324"Thus, the grid is solved when all non-black squares have yellow "
1325"highlights and there are no red lights. "
1326"\n"
1327"(All the actions described in section 2.1 are also available.) "
1328"\n"
1329"\n#21.2 Light Up parameters "
1330"\n"
1331"These parameters are available from the `Custom...' option on the "
1332"`Type' menu. "
1333"\n"
1334"_Width_, _Height_ "
1335"\n"
1336"Size of grid in squares. "
1337"\n"
1338"_%age of black squares_ "
1339"\n"
1340"Rough percentage of black squares in the grid. "
1341"\n"
1342"This is a hint rather than an instruction. If the grid generator "
1343"is unable to generate a puzzle to this precise specification, it "
1344"will increase the proportion of black squares until it can. "
1345"\n"
1346"_Symmetry_ "
1347"\n"
1348"Allows you to specify the required symmetry of the black squares "
1349"in the grid. (This does not affect the difficulty of the puzzles "
1350"noticeably.) "
1351"\n"
1352"_Difficulty_ "
1353"\n"
1354"`Easy' means that the puzzles should be soluble without "
1355"backtracking or guessing, `Hard' means that some guesses will "
1356"probably be necessary. "
1357"\n"
1358"#Chapter 22: Map "
1359"\n"
1360"You are given a map consisting of a number of regions. Your task is "
1361"to colour each region with one of four colours, in such a way that "
1362"no two regions sharing a boundary have the same colour. You are "
1363"provided with some regions already coloured, sufficient to make the "
1364"remainder of the solution unique. "
1365"\n"
1366"Only regions which share a length of border are required to be "
1367"different colours. Two regions which meet at only one _point_ (i.e. "
1368"are diagonally separated) may be the same colour. "
1369"\n"
1370"I believe this puzzle is original; I've never seen an implementation "
1371"of it anywhere else. The concept of a four-colouring puzzle was "
1372"suggested by Owen Dunn; credit must also go to Nikoli and to Verity "
1373"Allan for inspiring the train of thought that led to me realising "
1374"Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor "
1375"for many detailed suggestions. "
1376"\n"
1377"\n#22.1 Map controls "
1378"\n"
1379"To colour a region, click the left mouse button on an existing "
1380"region of the desired colour and drag that colour into the new "
1381"region. "
1382"\n"
1383"(The program will always ensure the starting puzzle has at least one "
1384"region of each colour, so that this is always possible!) "
1385"\n"
1386"If you need to clear a region, you can drag from an empty region, or "
1387"from the puzzle boundary if there are no empty regions left. "
1388"\n"
1389"Dragging a colour using the _right_ mouse button will stipple the "
1390"region in that colour, which you can use as a note to yourself that "
1391"you think the region _might_ be that colour. A region can contain "
1392"stipples in multiple colours at once. (This is often useful at the "
1393"harder difficulty levels.) "
1394"\n"
1395"You can also use the cursor keys to move around the map: the colour "
1396"of the cursor indicates the position of the colour you would drag "
1397"(which is not obvious if you're on a region's boundary, since it "
1398"depends on the direction from which you approached the boundary). "
1399"Pressing the return key starts a drag of that colour, as above, "
1400"which you control with the cursor keys; pressing the return key "
1401"again finishes the drag. The space bar can be used similarly to "
1402"create a stippled region. Double-pressing the return key (without "
1403"moving the cursor) will clear the region, as a drag from an empty "
1404"region does: this is useful with the cursor mode if you have filled "
1405"the entire map in but need to correct the layout. "
1406"\n"
1407"If you press L during play, the game will toggle display of a number "
1408"in each region of the map. This is useful if you want to discuss a "
1409"particular puzzle instance with a friend - having an unambiguous "
1410"name for each region is much easier than trying to refer to them all "
1411"by names such as `the one down and right of the brown one on the top "
1412"border'. "
1413"\n"
1414"(All the actions described in section 2.1 are also available.) "
1415"\n"
1416"\n#22.2 Map parameters "
1417"\n"
1418"These parameters are available from the `Custom...' option on the "
1419"`Type' menu. "
1420"\n"
1421"_Width_, _Height_ "
1422"\n"
1423"Size of grid in squares. "
1424"\n"
1425"_Regions_ "
1426"\n"
1427"Number of regions in the generated map. "
1428"\n"
1429"_Difficulty_ "
1430"\n"
1431"In `Easy' mode, there should always be at least one region whose "
1432"colour can be determined trivially. In `Normal' and `Hard' "
1433"modes, you will have to use increasingly complex logic to deduce "
1434"the colour of some regions. However, it will always be possible "
1435"without having to guess or backtrack. "
1436"\n"
1437"In `Unreasonable' mode, the program will feel free to generate "
1438"puzzles which are as hard as it can possibly make them: the "
1439"only constraint is that they should still have a unique "
1440"solution. Solving Unreasonable puzzles may require guessing and "
1441"backtracking. "
1442"\n"
1443"#Chapter 23: Loopy "
1444"\n"
1445"You are given a grid of dots, marked with yellow lines to indicate "
1446"which dots you are allowed to connect directly together. Your aim is "
1447"to use some subset of those yellow lines to draw a single unbroken "
1448"loop from dot to dot within the grid. "
1449"\n"
1450"Some of the spaces between the lines contain numbers. These numbers "
1451"indicate how many of the lines around that space form part of the "
1452"loop. The loop you draw must correctly satisfy all of these clues to "
1453"be considered a correct solution. "
1454"\n"
1455"In the default mode, the dots are arranged in a grid of squares; "
1456"however, you can also play on triangular or hexagonal grids, or even "
1457"more exotic ones. "
1458"\n"
1459"Credit for the basic puzzle idea goes to Nikoli [10]. "
1460"\n"
1461"Loopy was originally contributed to this collection by Mike Pinna, "
1462"and subsequently enhanced to handle various types of non-square grid "
1463"by Lambros Lambrou. "
1464"\n"
1465"[10] http://www.nikoli.co.jp/en/puzzles/slitherlink.html (beware of "
1466"Flash) "
1467"\n"
1468"\n#23.1 Loopy controls "
1469"\n"
1470"Click the left mouse button on a yellow line to turn it black, "
1471"indicating that you think it is part of the loop. Click again to "
1472"turn the line yellow again (meaning you aren't sure yet). "
1473"\n"
1474"If you are sure that a particular line segment is _not_ part of the "
1475"loop, you can click the right mouse button to remove it completely. "
1476"Again, clicking a second time will turn the line back to yellow. "
1477"\n"
1478"(All the actions described in section 2.1 are also available.) "
1479"\n"
1480"\n#23.2 Loopy parameters "
1481"\n"
1482"These parameters are available from the `Custom...' option on the "
1483"`Type' menu. "
1484"\n"
1485"_Width_, _Height_ "
1486"\n"
1487"Size of grid, measured in number of regions across and down. For "
1488"square grids, it's clear how this is counted; for other types of "
1489"grid you may have to think a bit to see how the dimensions are "
1490"measured. "
1491"\n"
1492"_Grid type_ "
1493"\n"
1494"Allows you to choose between a selection of types of tiling. "
1495"Some have all the faces the same but may have multiple different "
1496"types of vertex (e.g. the _Cairo_ or _Kites_ mode); others "
1497"have all the vertices the same but may have different types of "
1498"face (e.g. the _Great Hexagonal_). The square, triangular and "
1499"honeycomb grids are fully regular, and have all their vertices "
1500"_and_ faces the same; this makes them the least confusing to "
1501"play. "
1502"\n"
1503"_Difficulty_ "
1504"\n"
1505"Controls the difficulty of the generated puzzle. "
1506"\n"
1507"#Chapter 24: Inertia "
1508"\n"
1509"You are a small green ball sitting in a grid full of obstacles. Your "
1510"aim is to collect all the gems without running into any mines. "
1511"\n"
1512"You can move the ball in any orthogonal _or diagonal_ direction. "
1513"Once the ball starts moving, it will continue until something stops "
1514"it. A wall directly in its path will stop it (but if it is moving "
1515"diagonally, it will move through a diagonal gap between two other "
1516"walls without stopping). Also, some of the squares are `stops'; when "
1517"the ball moves on to a stop, it will stop moving no matter what "
1518"direction it was going in. Gems do _not_ stop the ball; it picks "
1519"them up and keeps on going. "
1520"\n"
1521"Running into a mine is fatal. Even if you picked up the last gem in "
1522"the same move which then hit a mine, the game will count you as dead "
1523"rather than victorious. "
1524"\n"
1525"This game was originally implemented for Windows by Ben Olmstead "
1526"[11], who was kind enough to release his source code on request so "
1527"that it could be re-implemented for this collection. "
1528"\n"
1529"[11] http://xn13.com/ "
1530"\n"
1531"\n#24.1 Inertia controls "
1532"\n"
1533"You can move the ball in any of the eight directions using the "
1534"numeric keypad. Alternatively, if you click the left mouse button "
1535"on the grid, the ball will begin a move in the general direction of "
1536"where you clicked. "
1537"\n"
1538"If you use the `Solve' function on this game, the program will "
1539"compute a path through the grid which collects all the remaining "
1540"gems and returns to the current position. A hint arrow will appear "
1541"on the ball indicating the direction in which you should move to "
1542"begin on this path. If you then move in that direction, the arrow "
1543"will update to indicate the next direction on the path. You can "
1544"also press Space to automatically move in the direction of the hint "
1545"arrow. If you move in a different direction from the one shown "
1546"by the arrow, arrows will be shown only if the puzzle is still "
1547"solvable. "
1548"\n"
1549"All the actions described in section 2.1 are also available. In "
1550"particular, if you do run into a mine and die, you can use the Undo "
1551"function and resume playing from before the fatal move. The game "
1552"will keep track of the number of times you have done this. "
1553"\n"
1554"\n#24.2 Inertia parameters "
1555"\n"
1556"These parameters are available from the `Custom...' option on the "
1557"`Type' menu. "
1558"\n"
1559"_Width_, _Height_ "
1560"\n"
1561"Size of grid in squares. "
1562"\n"
1563"#Chapter 25: Tents "
1564"\n"
1565"You have a grid of squares, some of which contain trees. Your aim is "
1566"to place tents in some of the remaining squares, in such a way that "
1567"the following conditions are met: "
1568"\n"
1569"- There are exactly as many tents as trees. "
1570"\n"
1571"- The tents and trees can be matched up in such a way that each "
1572"tent is directly adjacent (horizontally or vertically, but not "
1573"diagonally) to its own tree. However, a tent may be adjacent to "
1574"other trees as well as its own. "
1575"\n"
1576"- No two tents are adjacent horizontally, vertically _or "
1577"diagonally_. "
1578"\n"
1579"- The number of tents in each row, and in each column, matches the "
1580"numbers given round the sides of the grid. "
1581"\n"
1582"This puzzle can be found in several places on the Internet, and was "
1583"brought to my attention by e-mail. I don't know who I should credit "
1584"for inventing it. "
1585"\n"
1586"\n#25.1 Tents controls "
1587"\n"
1588"Left-clicking in a blank square will place a tent in it. Right-\n"
1589"clicking in a blank square will colour it green, indicating that you "
1590"are sure it _isn't_ a tent. Clicking either button in an occupied "
1591"square will clear it. "
1592"\n"
1593"If you _drag_ with the right button along a row or column, every "
1594"blank square in the region you cover will be turned green, and no "
1595"other squares will be affected. (This is useful for clearing the "
1596"remainder of a row once you have placed all its tents.) "
1597"\n"
1598"You can also use the cursor keys to move around the grid. Pressing "
1599"the return key over an empty square will place a tent, and pressing "
1600"the space bar over an empty square will colour it green; either key "
1601"will clear an occupied square. Holding Shift and pressing the cursor "
1602"keys will colour empty squares green. Holding Control and pressing "
1603"the cursor keys will colour green both empty squares and squares "
1604"with tents. "
1605"\n"
1606"(All the actions described in section 2.1 are also available.) "
1607"\n"
1608"\n#25.2 Tents parameters "
1609"\n"
1610"These parameters are available from the `Custom...' option on the "
1611"`Type' menu. "
1612"\n"
1613"_Width_, _Height_ "
1614"\n"
1615"Size of grid in squares. "
1616"\n"
1617"_Difficulty_ "
1618"\n"
1619"Controls the difficulty of the generated puzzle. More difficult "
1620"puzzles require more complex deductions, but at present none "
1621"of the available difficulty levels requires guesswork or "
1622"backtracking. "
1623"\n"
1624"#Chapter 26: Bridges "
1625"\n"
1626"You have a set of islands distributed across the playing area. "
1627"Each island contains a number. Your aim is to connect the islands "
1628"together with bridges, in such a way that: "
1629"\n"
1630"- Bridges run horizontally or vertically. "
1631"\n"
1632"- The number of bridges terminating at any island is equal to the "
1633"number written in that island. "
1634"\n"
1635"- Two bridges may run in parallel between the same two islands, "
1636"but no more than two may do so. "
1637"\n"
1638"- No bridge crosses another bridge. "
1639"\n"
1640"- All the islands are connected together. "
1641"\n"
1642"There are some configurable alternative modes, which involve "
1643"changing the parallel-bridge limit to something other than 2, and "
1644"introducing the additional constraint that no sequence of bridges "
1645"may form a loop from one island back to the same island. The rules "
1646"stated above are the default ones. "
1647"\n"
1648"Credit for this puzzle goes to Nikoli [12]. "
1649"\n"
1650"Bridges was contributed to this collection by James Harvey. "
1651"\n"
1652"[12] http://www.nikoli.co.jp/en/puzzles/hashiwokakero.html (beware "
1653"of Flash) "
1654"\n"
1655"\n#26.1 Bridges controls "
1656"\n"
1657"To place a bridge between two islands, click the mouse down on one "
1658"island and drag it towards the other. You do not need to drag all "
1659"the way to the other island; you only need to move the mouse far "
1660"enough for the intended bridge direction to be unambiguous. (So you "
1661"can keep the mouse near the starting island and conveniently throw "
1662"bridges out from it in many directions.) "
1663"\n"
1664"Doing this again when a bridge is already present will add another "
1665"parallel bridge. If there are already as many bridges between the "
1666"two islands as permitted by the current game rules (i.e. two by "
1667"default), the same dragging action will remove all of them. "
1668"\n"
1669"If you want to remind yourself that two islands definitely _do not_ "
1670"have a bridge between them, you can right-drag between them in the "
1671"same way to draw a `non-bridge' marker. "
1672"\n"
1673"If you think you have finished with an island (i.e. you have placed "
1674"all its bridges and are confident that they are in the right "
1675"places), you can mark the island as finished by left-clicking on it. "
1676"This will highlight it and all the bridges connected to it, and you "
1677"will be prevented from accidentally modifying any of those bridges "
1678"in future. Left-clicking again on a highlighted island will unmark "
1679"it and restore your ability to modify it. "
1680"\n"
1681"You can also use the cursor keys to move around the grid: if "
1682"possible the cursor will always move orthogonally, otherwise it "
1683"will move towards the nearest island to the indicated direction. "
1684"Holding Control and pressing a cursor key will lay a bridge in that "
1685"direction (if available); Shift and a cursor key will lay a `non-\n"
1686"bridge' marker. Pressing the return key followed by a cursor key "
1687"will also lay a bridge in that direction. "
1688"\n"
1689"You can mark an island as finished by pressing the space bar or by "
1690"pressing the return key twice. "
1691"\n"
1692"By pressing a number key, you can jump to the nearest island with "
1693"that number. Letters `a', ..., `f' count as 10, ..., 15 and `0' as "
1694"16. "
1695"\n"
1696"Violations of the puzzle rules will be marked in red: "
1697"\n"
1698"- An island with too many bridges will be highlighted in red. "
1699"\n"
1700"- An island with too few bridges will be highlighted in red if it "
1701"is definitely an error (as opposed to merely not being finished "
1702"yet): if adding enough bridges would involve having to cross "
1703"another bridge or remove a non-bridge marker, or if the island "
1704"has been highlighted as complete. "
1705"\n"
1706"- A group of islands and bridges may be highlighted in red if it "
1707"is a closed subset of the puzzle with no way to connect it to "
1708"the rest of the islands. For example, if you directly connect "
1709"two 1s together with a bridge and they are not the only two "
1710"islands on the grid, they will light up red to indicate that "
1711"such a group cannot be contained in any valid solution. "
1712"\n"
1713"- If you have selected the (non-default) option to disallow loops "
1714"in the solution, a group of bridges which forms a loop will be "
1715"highlighted. "
1716"\n"
1717"(All the actions described in section 2.1 are also available.) "
1718"\n"
1719"\n#26.2 Bridges parameters "
1720"\n"
1721"These parameters are available from the `Custom...' option on the "
1722"`Type' menu. "
1723"\n"
1724"_Width_, _Height_ "
1725"\n"
1726"Size of grid in squares. "
1727"\n"
1728"_Difficulty_ "
1729"\n"
1730"Difficulty level of puzzle. "
1731"\n"
1732"_Allow loops_ "
1733"\n"
1734"This is set by default. If cleared, puzzles will be generated in "
1735"such a way that they are always soluble without creating a loop, "
1736"and solutions which do involve a loop will be disallowed. "
1737"\n"
1738"_Max. bridges per direction_ "
1739"\n"
1740"Maximum number of bridges in any particular direction. The "
1741"default is 2, but you can change it to 1, 3 or 4. In general, "
1742"fewer is easier. "
1743"\n"
1744"_%age of island squares_ "
1745"\n"
1746"Gives a rough percentage of islands the generator will try and "
1747"lay before finishing the puzzle. Certain layouts will not manage "
1748"to lay enough islands; this is an upper bound. "
1749"\n"
1750"_Expansion factor (%age)_ "
1751"\n"
1752"The grid generator works by picking an existing island at random "
1753"(after first creating an initial island somewhere). It then "
1754"decides on a direction (at random), and then works out how far "
1755"it could extend before creating another island. This parameter "
1756"determines how likely it is to extend as far as it can, rather "
1757"than choosing somewhere closer. "
1758"\n"
1759"High expansion factors usually mean easier puzzles with fewer "
1760"possible islands; low expansion factors can create lots of "
1761"tightly-packed islands. "
1762"\n"
1763"#Chapter 27: Unequal "
1764"\n"
1765"You have a square grid; each square may contain a digit from 1 to "
1766"the size of the grid, and some squares have clue signs between them. "
1767"Your aim is to fully populate the grid with numbers such that: "
1768"\n"
1769"- Each row contains only one occurrence of each digit "
1770"\n"
1771"- Each column contains only one occurrence of each digit "
1772"\n"
1773"- All the clue signs are satisfied. "
1774"\n"
1775"There are two modes for this game, `Unequal' and `Adjacent'. "
1776"\n"
1777"In `Unequal' mode, the clue signs are greater-than symbols "
1778"indicating one square's value is greater than its neighbour's. In "
1779"this mode not all clues may be visible, particularly at higher "
1780"difficulty levels. "
1781"\n"
1782"In `Adjacent' mode, the clue signs are bars indicating one square's "
1783"value is numerically adjacent (i.e. one higher or one lower) than "
1784"its neighbour. In this mode all clues are always visible: absence of "
1785"a bar thus means that a square's value is definitely not numerically "
1786"adjacent to that neighbour's. "
1787"\n"
1788"In `Trivial' difficulty level (available via the `Custom' game type "
1789"selector), there are no greater-than signs in `Unequal' mode; the "
1790"puzzle is to solve the Latin square only. "
1791"\n"
1792"At the time of writing, the `Unequal' mode of this puzzle is "
1793"appearing in the Guardian weekly under the name `Futoshiki'. "
1794"\n"
1795"Unequal was contributed to this collection by James Harvey. "
1796"\n"
1797"\n#27.1 Unequal controls "
1798"\n"
1799"Unequal shares much of its control system with Solo. "
1800"\n"
1801"To play Unequal, simply click the mouse in any empty square and then "
1802"type a digit or letter on the keyboard to fill that square. If you "
1803"make a mistake, click the mouse in the incorrect square and press "
1804"Space to clear it again (or use the Undo feature). "
1805"\n"
1806"If you _right_-click in a square and then type a number, that "
1807"number will be entered in the square as a `pencil mark'. You can "
1808"have pencil marks for multiple numbers in the same square. Squares "
1809"containing filled-in numbers cannot also contain pencil marks. "
1810"\n"
1811"The game pays no attention to pencil marks, so exactly what you "
1812"use them for is up to you: you can use them as reminders that a "
1813"particular square needs to be re-examined once you know more about "
1814"a particular number, or you can use them as lists of the possible "
1815"numbers in a given square, or anything else you feel like. "
1816"\n"
1817"To erase a single pencil mark, right-click in the square and type "
1818"the same number again. "
1819"\n"
1820"All pencil marks in a square are erased when you left-click and type "
1821"a number, or when you left-click and press space. Right-clicking and "
1822"pressing space will also erase pencil marks. "
1823"\n"
1824"As for Solo, the cursor keys can be used in conjunction with the "
1825"digit keys to set numbers or pencil marks. You can also use the `M' "
1826"key to auto-fill every numeric hint, ready for removal as required, "
1827"or the `H' key to do the same but also to remove all obvious hints. "
1828"\n"
1829"Alternatively, use the cursor keys to move the mark around the grid. "
1830"Pressing the return key toggles the mark (from a normal mark to a "
1831"pencil mark), and typing a number in is entered in the square in the "
1832"appropriate way; typing in a 0 or using the space bar will clear a "
1833"filled square. "
1834"\n"
1835"Left-clicking a clue will mark it as done (grey it out), or unmark "
1836"it if it is already marked. Holding Control or Shift and pressing "
1837"an arrow key likewise marks any clue adjacent to the cursor in the "
1838"given direction. "
1839"\n"
1840"(All the actions described in section 2.1 are also available.) "
1841"\n"
1842"\n#27.2 Unequal parameters "
1843"\n"
1844"These parameters are available from the `Custom...' option on the "
1845"`Type' menu. "
1846"\n"
1847"_Mode_ "
1848"\n"
1849"Mode of the puzzle (`Unequal' or `Adjacent') "
1850"\n"
1851"_Size (s*s)_ "
1852"\n"
1853"Size of grid. "
1854"\n"
1855"_Difficulty_ "
1856"\n"
1857"Controls the difficulty of the generated puzzle. At Trivial "
1858"level, there are no greater-than signs; the puzzle is to solve "
1859"the Latin square only. At Recursive level (only available via "
1860"the `Custom' game type selector) backtracking will be required, "
1861"but the solution should still be unique. The levels in between "
1862"require increasingly complex reasoning to avoid having to "
1863"backtrack. "
1864"\n"
1865"#Chapter 28: Galaxies "
1866"\n"
1867"You have a rectangular grid containing a number of dots. Your aim is "
1868"to draw edges along the grid lines which divide the rectangle into "
1869"regions in such a way that every region is 180-degree rotationally "
1870"symmetric, and contains exactly one dot which is located at its "
1871"centre of symmetry. "
1872"\n"
1873"This puzzle was invented by Nikoli [13], under the name `Tentai "
1874"Show'; its name is commonly translated into English as `Spiral "
1875"Galaxies'. "
1876"\n"
1877"Galaxies was contributed to this collection by James Harvey. "
1878"\n"
1879"[13] http://www.nikoli.co.jp/en/puzzles/astronomical_show.html "
1880"\n"
1881"\n#28.1 Galaxies controls "
1882"\n"
1883"Left-click on any grid line to draw an edge if there isn't one "
1884"already, or to remove one if there is. When you create a valid "
1885"region (one which is closed, contains exactly one dot, is 180-degree "
1886"symmetric about that dot, and contains no extraneous edges inside "
1887"it) it will be highlighted automatically; so your aim is to have the "
1888"whole grid highlighted in that way. "
1889"\n"
1890"During solving, you might know that a particular grid square belongs "
1891"to a specific dot, but not be sure of where the edges go and which "
1892"other squares are connected to the dot. In order to mark this so you "
1893"don't forget, you can right-click on the dot and drag, which will "
1894"create an arrow marker pointing at the dot. Drop that in a square of "
1895"your choice and it will remind you which dot it's associated with. "
1896"You can also right-click on existing arrows to pick them up and move "
1897"them, or destroy them by dropping them off the edge of the grid. "
1898"(Also, if you're not sure which dot an arrow is pointing at, you can "
1899"pick it up and move it around to make it clearer. It will swivel "
1900"constantly as you drag it, to stay pointed at its parent dot.) "
1901"\n"
1902"You can also use the cursor keys to move around the grid squares and "
1903"lines. Pressing the return key when over a grid line will draw or "
1904"clear its edge, as above. Pressing the return key when over a dot "
1905"will pick up an arrow, to be dropped the next time the return key "
1906"is pressed; this can also be used to move existing arrows around, "
1907"removing them by dropping them on a dot or another arrow. "
1908"\n"
1909"(All the actions described in section 2.1 are also available.) "
1910"\n"
1911"\n#28.2 Galaxies parameters "
1912"\n"
1913"These parameters are available from the `Custom...' option on the "
1914"`Type' menu. "
1915"\n"
1916"_Width_, _Height_ "
1917"\n"
1918"Size of grid in squares. "
1919"\n"
1920"_Difficulty_ "
1921"\n"
1922"Controls the difficulty of the generated puzzle. More difficult "
1923"puzzles require more complex deductions, and the `Unreasonable' "
1924"difficulty level may require backtracking. "
1925"\n"
1926"#Chapter 29: Filling "
1927"\n"
1928"You have a grid of squares, some of which contain digits, and the "
1929"rest of which are empty. Your job is to fill in digits in the empty "
1930"squares, in such a way that each connected region of squares all "
1931"containing the same digit has an area equal to that digit. "
1932"\n"
1933"(`Connected region', for the purposes of this game, does not count "
1934"diagonally separated squares as adjacent.) "
1935"\n"
1936"For example, it follows that no square can contain a zero, and that "
1937"two adjacent squares can not both contain a one. No region has an "
1938"area greater than 9 (because then its area would not be a single "
1939"digit). "
1940"\n"
1941"Credit for this puzzle goes to Nikoli [14]. "
1942"\n"
1943"Filling was contributed to this collection by Jonas Koelker. "
1944"\n"
1945"[14] http://www.nikoli.co.jp/en/puzzles/fillomino.html "
1946"\n"
1947"\n#29.1 Filling controls "
1948"\n"
1949"To play Filling, simply click the mouse in any empty square and "
1950"then type a digit on the keyboard to fill that square. By dragging "
1951"the mouse, you can select multiple squares to fill with a single "
1952"keypress. If you make a mistake, click the mouse in the incorrect "
1953"square and press 0, Space, Backspace or Enter to clear it again (or "
1954"use the Undo feature). "
1955"\n"
1956"You can also move around the grid with the cursor keys; typing a "
1957"digit will fill the square containing the cursor with that number; "
1958"typing 0 will clear it. You can also select multiple squares for "
1959"numbering or clearing with the return and arrow keys, before typing "
1960"a digit to fill or clear the highlighted squares (as above). The "
1961"space bar adds and removes single squares to and from the selection. "
1962"Backspace and escape remove all squares from the selection. "
1963"\n"
1964"(All the actions described in section 2.1 are also available.) "
1965"\n"
1966"\n#29.2 Filling parameters "
1967"\n"
1968"Filling allows you to configure the number of rows and columns of "
1969"the grid, through the `Type' menu. "
1970"\n"
1971"#Chapter 30: Keen "
1972"\n"
1973"You have a square grid; each square may contain a digit from 1 to "
1974"the size of the grid. The grid is divided into blocks of varying "
1975"shape and size, with arithmetic clues written in them. Your aim is "
1976"to fully populate the grid with digits such that: "
1977"\n"
1978"- Each row contains only one occurrence of each digit "
1979"\n"
1980"- Each column contains only one occurrence of each digit "
1981"\n"
1982"- The digits in each block can be combined to form the number "
1983"stated in the clue, using the arithmetic operation given in the "
1984"clue. That is: "
1985"\n"
1986"- An addition clue means that the sum of the digits in the "
1987"block must be the given number. For example, `15+' means the "
1988"contents of the block adds up to fifteen. "
1989"\n"
1990"- A multiplication clue (e.g. `60*'), similarly, means that "
1991"the product of the digits in the block must be the given "
1992"number. "
1993"\n"
1994"- A subtraction clue will always be written in a block of "
1995"size two, and it means that one of the digits in the block "
1996"is greater than the other by the given amount. For example, "
1997"`2-' means that one of the digits in the block is 2 more "
1998"than the other, or equivalently that one digit minus the "
1999"other one is 2. The two digits could be either way round, "
2000"though. "
2001"\n"
2002"- A division clue (e.g. `3/'), similarly, is always in a block "
2003"of size two and means that one digit divided by the other is "
2004"equal to the given amount. "
2005"\n"
2006"Note that a block may contain the same digit more than once "
2007"(provided the identical ones are not in the same row and "
2008"column). This rule is precisely the opposite of the rule in "
2009"Solo's `Killer' mode (see chapter 11). "
2010"\n"
2011"This puzzle appears in the Times under the name `KenKen'. "
2012"\n"
2013"\n#30.1 Keen controls "
2014"\n"
2015"Keen shares much of its control system with Solo (and Unequal). "
2016"\n"
2017"To play Keen, simply click the mouse in any empty square and then "
2018"type a digit on the keyboard to fill that square. If you make a "
2019"mistake, click the mouse in the incorrect square and press Space to "
2020"clear it again (or use the Undo feature). "
2021"\n"
2022"If you _right_-click in a square and then type a number, that "
2023"number will be entered in the square as a `pencil mark'. You can "
2024"have pencil marks for multiple numbers in the same square. Squares "
2025"containing filled-in numbers cannot also contain pencil marks. "
2026"\n"
2027"The game pays no attention to pencil marks, so exactly what you "
2028"use them for is up to you: you can use them as reminders that a "
2029"particular square needs to be re-examined once you know more about "
2030"a particular number, or you can use them as lists of the possible "
2031"numbers in a given square, or anything else you feel like. "
2032"\n"
2033"To erase a single pencil mark, right-click in the square and type "
2034"the same number again. "
2035"\n"
2036"All pencil marks in a square are erased when you left-click and type "
2037"a number, or when you left-click and press space. Right-clicking and "
2038"pressing space will also erase pencil marks. "
2039"\n"
2040"As for Solo, the cursor keys can be used in conjunction with the "
2041"digit keys to set numbers or pencil marks. Use the cursor keys to "
2042"move a highlight around the grid, and type a digit to enter it in "
2043"the highlighted square. Pressing return toggles the highlight into a "
2044"mode in which you can enter or remove pencil marks. "
2045"\n"
2046"Pressing M will fill in a full set of pencil marks in every square "
2047"that does not have a main digit in it. "
2048"\n"
2049"(All the actions described in section 2.1 are also available.) "
2050"\n"
2051"\n#30.2 Keen parameters "
2052"\n"
2053"These parameters are available from the `Custom...' option on the "
2054"`Type' menu. "
2055"\n"
2056"_Grid size_ "
2057"\n"
2058"Specifies the size of the grid. Lower limit is 3; upper limit is "
2059"9 (because the user interface would become more difficult with "
2060"`digits' bigger than 9!). "
2061"\n"
2062"_Difficulty_ "
2063"\n"
2064"Controls the difficulty of the generated puzzle. At Unreasonable "
2065"level, some backtracking will be required, but the solution "
2066"should still be unique. The remaining levels require "
2067"increasingly complex reasoning to avoid having to backtrack. "
2068"\n"
2069"_Multiplication only_ "
2070"\n"
2071"If this is enabled, all boxes will be multiplication boxes. With "
2072"this rule, the puzzle is known as `Inshi No Heya'. "
2073"\n"
2074"#Chapter 31: Towers "
2075"\n"
2076"You have a square grid. On each square of the grid you can build "
2077"a tower, with its height ranging from 1 to the size of the grid. "
2078"Around the edge of the grid are some numeric clues. "
2079"\n"
2080"Your task is to build a tower on every square, in such a way that: "
2081"\n"
2082"- Each row contains every possible height of tower once "
2083"\n"
2084"- Each column contains every possible height of tower once "
2085"\n"
2086"- Each numeric clue describes the number of towers that can be "
2087"seen if you look into the square from that direction, assuming "
2088"that shorter towers are hidden behind taller ones. For example, "
2089"in a 5x5 grid, a clue marked `5' indicates that the five tower "
2090"heights must appear in increasing order (otherwise you would "
2091"not be able to see all five towers), whereas a clue marked `1' "
2092"indicates that the tallest tower (the one marked 5) must come "
2093"first. "
2094"\n"
2095"In harder or larger puzzles, some towers will be specified for you "
2096"as well as the clues round the edge, and some edge clues may be "
2097"missing. "
2098"\n"
2099"This puzzle appears on the web under various names, particularly "
2100"`Skyscrapers', but I don't know who first invented it. "
2101"\n"
2102"\n#31.1 Towers controls "
2103"\n"
2104"Towers shares much of its control system with Solo, Unequal and "
2105"Keen. "
2106"\n"
2107"To play Towers, simply click the mouse in any empty square and then "
2108"type a digit on the keyboard to fill that square with a tower of "
2109"the given height. If you make a mistake, click the mouse in the "
2110"incorrect square and press Space to clear it again (or use the Undo "
2111"feature). "
2112"\n"
2113"If you _right_-click in a square and then type a number, that "
2114"number will be entered in the square as a `pencil mark'. You can "
2115"have pencil marks for multiple numbers in the same square. A square "
2116"containing a tower cannot also contain pencil marks. "
2117"\n"
2118"The game pays no attention to pencil marks, so exactly what you "
2119"use them for is up to you: you can use them as reminders that a "
2120"particular square needs to be re-examined once you know more about "
2121"a particular number, or you can use them as lists of the possible "
2122"numbers in a given square, or anything else you feel like. "
2123"\n"
2124"To erase a single pencil mark, right-click in the square and type "
2125"the same number again. "
2126"\n"
2127"All pencil marks in a square are erased when you left-click and type "
2128"a number, or when you left-click and press space. Right-clicking and "
2129"pressing space will also erase pencil marks. "
2130"\n"
2131"As for Solo, the cursor keys can be used in conjunction with the "
2132"digit keys to set numbers or pencil marks. Use the cursor keys to "
2133"move a highlight around the grid, and type a digit to enter it in "
2134"the highlighted square. Pressing return toggles the highlight into a "
2135"mode in which you can enter or remove pencil marks. "
2136"\n"
2137"Pressing M will fill in a full set of pencil marks in every square "
2138"that does not have a main digit in it. "
2139"\n"
2140"Left-clicking a clue will mark it as done (grey it out), or unmark "
2141"it if it is already marked. Holding Control or Shift and pressing an "
2142"arrow key likewise marks any clue in the given direction. "
2143"\n"
2144"(All the actions described in section 2.1 are also available.) "
2145"\n"
2146"\n#31.2 Towers parameters "
2147"\n"
2148"These parameters are available from the `Custom...' option on the "
2149"`Type' menu. "
2150"\n"
2151"_Grid size_ "
2152"\n"
2153"Specifies the size of the grid. Lower limit is 3; upper limit is "
2154"9 (because the user interface would become more difficult with "
2155"`digits' bigger than 9!). "
2156"\n"
2157"_Difficulty_ "
2158"\n"
2159"Controls the difficulty of the generated puzzle. At Unreasonable "
2160"level, some backtracking will be required, but the solution "
2161"should still be unique. The remaining levels require "
2162"increasingly complex reasoning to avoid having to backtrack. "
2163"\n"
2164"#Chapter 32: Singles "
2165"\n"
2166"You have a grid of white squares, all of which contain numbers. Your "
2167"task is to colour some of the squares black (removing the number) so "
2168"as to satisfy all of the following conditions: "
2169"\n"
2170"- No number occurs more than once in any row or column. "
2171"\n"
2172"- No black square is horizontally or vertically adjacent to any "
2173"other black square. "
2174"\n"
2175"- The remaining white squares must all form one contiguous region "
2176"(connected by edges, not just touching at corners). "
2177"\n"
2178"Credit for this puzzle goes to Nikoli [15] who call it Hitori. "
2179"\n"
2180"Singles was contributed to this collection by James Harvey. "
2181"\n"
2182"[15] http://www.nikoli.com/en/puzzles/hitori.html (beware of Flash) "
2183"\n"
2184"\n#32.1 Singles controls "
2185"\n"
2186"Left-clicking on an empty square will colour it black; left-clicking "
2187"again will restore the number. Right-clicking will add a circle "
2188"(useful for indicating that a cell is definitely not black). "
2189"\n"
2190"You can also use the cursor keys to move around the grid. Pressing "
2191"the return or space keys will turn a square black or add a circle "
2192"respectively, and pressing the key again will restore the number or "
2193"remove the circle. "
2194"\n"
2195"(All the actions described in section 2.1 are also available.) "
2196"\n"
2197"\n#32.2 Singles parameters "
2198"\n"
2199"These parameters are available from the `Custom...' option on the "
2200"`Type' menu. "
2201"\n"
2202"_Width_, _Height_ "
2203"\n"
2204"Size of grid in squares. "
2205"\n"
2206"_Difficulty_ "
2207"\n"
2208"Controls the difficulty of the generated puzzle. "
2209"\n"
2210"#Chapter 33: Magnets "
2211"\n"
2212"A rectangular grid has been filled with a mixture of magnets (that "
2213"is, dominoes with one positive end and one negative end) and blank "
2214"dominoes (that is, dominoes with two neutral poles). These dominoes "
2215"are initially only seen in silhouette. Around the grid are placed a "
2216"number of clues indicating the number of positive and negative poles "
2217"contained in certain columns and rows. "
2218"\n"
2219"Your aim is to correctly place the magnets and blank dominoes such "
2220"that all the clues are satisfied, with the additional constraint "
2221"that no two similar magnetic poles may be orthogonally adjacent "
2222"(since they repel). Neutral poles do not repel, and can be adjacent "
2223"to any other pole. "
2224"\n"
2225"Credit for this puzzle goes to Janko [16]. "
2226"\n"
2227"Magnets was contributed to this collection by James Harvey. "
2228"\n"
2229"[16] http://www.janko.at/Raetsel/Magnete/index.htm "
2230"\n"
2231"\n#33.1 Magnets controls "
2232"\n"
2233"Left-clicking on an empty square places a magnet at that position "
2234"with the positive pole on the square and the negative pole on the "
2235"other half of the magnet; left-clicking again reverses the polarity, "
2236"and a third click removes the magnet. "
2237"\n"
2238"Right-clicking on an empty square places a blank domino there. "
2239"Right-clicking again places two question marks on the domino, "
2240"signifying `this cannot be blank' (which can be useful to note "
2241"deductions while solving), and right-clicking again empties the "
2242"domino. "
2243"\n"
2244"Left-clicking a clue will mark it as done (grey it out), or unmark "
2245"it if it is already marked. "
2246"\n"
2247"You can also use the cursor keys to move a cursor around the grid. "
2248"Pressing the return key will lay a domino with a positive pole at "
2249"that position; pressing again reverses the polarity and then removes "
2250"the domino, as with left-clicking. Using the space bar allows "
2251"placement of blank dominoes and cannot-be-blank hints, as for right-\n"
2252"clicking. "
2253"\n"
2254"(All the actions described in section 2.1 are also available.) "
2255"\n"
2256"\n#33.2 Magnets parameters "
2257"\n"
2258"These parameters are available from the `Custom...' option on the "
2259"`Type' menu. "
2260"\n"
2261"_Width_, _Height_ "
2262"\n"
2263"Size of grid in squares. There will be half _Width_ x _Height_ "
2264"dominoes in the grid: if this number is odd then one square will "
2265"be blank. "
2266"\n"
2267"(Grids with at least one odd dimension tend to be easier to "
2268"solve.) "
2269"\n"
2270"_Difficulty_ "
2271"\n"
2272"Controls the difficulty of the generated puzzle. At Tricky "
2273"level, you are required to make more deductions about empty "
2274"dominoes and row/column counts. "
2275"\n"
2276"_Strip clues_ "
2277"\n"
2278"If true, some of the clues around the grid are removed at "
2279"generation time, making the puzzle more difficult. "
2280"\n"
2281"#Chapter 34: Signpost "
2282"\n"
2283"You have a grid of squares; each square (except the last one) "
2284"contains an arrow, and some squares also contain numbers. Your job "
2285"is to connect the squares to form a continuous list of numbers "
2286"starting at 1 and linked in the direction of the arrows - so the "
2287"arrow inside the square with the number 1 will point to the square "
2288"containing the number 2, which will point to the square containing "
2289"the number 3, etc. Each square can be any distance away from the "
2290"previous one, as long as it is somewhere in the direction of the "
2291"arrow. "
2292"\n"
2293"By convention the first and last numbers are shown; one or more "
2294"interim numbers may also appear at the beginning. "
2295"\n"
2296"Credit for this puzzle goes to Janko [17], who call it `Pfeilpfad' "
2297"(`arrow path'). "
2298"\n"
2299"Signpost was contributed to this collection by James Harvey. "
2300"\n"
2301"[17] http://janko.at/Raetsel/Pfeilpfad/index.htm "
2302"\n"
2303"\n#34.1 Signpost controls "
2304"\n"
2305"To play Signpost, you connect squares together by dragging from "
2306"one square to another, indicating that they are adjacent in the "
2307"sequence. Drag with the left button from a square to its successor, "
2308"or with the right button from a square to its predecessor. "
2309"\n"
2310"If you connect together two squares in this way and one of them has "
2311"a number in it, the appropriate number will appear in the other "
2312"square. If you connect two non-numbered squares, they will be "
2313"assigned temporary algebraic labels: on the first occasion, they "
2314"will be labelled `a' and `a+1', and then `b' and `b+1', and so on. "
2315"Connecting more squares on to the ends of such a chain will cause "
2316"them all to be labelled with the same letter. "
2317"\n"
2318"When you left-click or right-click in a square, the legal squares to "
2319"connect it to will be shown. "
2320"\n"
2321"The arrow in each square starts off black, and goes grey once you "
2322"connect the square to its successor. Also, each square which needs "
2323"a predecessor has a small dot in the bottom left corner, which "
2324"vanishes once you link a square to it. So your aim is always to "
2325"connect a square with a black arrow to a square with a dot. "
2326"\n"
2327"To remove any links for a particular square (both incoming and "
2328"outgoing), left-drag it off the grid. To remove a whole chain, "
2329"right-drag any square in the chain off the grid. "
2330"\n"
2331"You can also use the cursor keys to move around the grid squares "
2332"and lines. Pressing the return key when over a square starts a link "
2333"operation, and pressing the return key again over a square will "
2334"finish the link, if allowable. Pressing the space bar over a square "
2335"will show the other squares pointing to it, and allow you to form a "
2336"backward link, and pressing the space bar again cancels this. "
2337"\n"
2338"(All the actions described in section 2.1 are also available.) "
2339"\n"
2340"\n#34.2 Signpost parameters "
2341"\n"
2342"These parameters are available from the `Custom...' option on the "
2343"`Type' menu. "
2344"\n"
2345"_Width_, _Height_ "
2346"\n"
2347"Size of grid in squares. "
2348"\n"
2349"_Force start/end to corners_ "
2350"\n"
2351"If true, the start and end squares are always placed in opposite "
2352"corners (the start at the top left, and the end at the bottom "
2353"right). If false the start and end squares are placed randomly "
2354"(although always both shown). "
2355"\n"
2356"#Chapter 35: Range "
2357"\n"
2358"You have a grid of squares; some squares contain numbers. Your job "
2359"is to colour some of the squares black, such that several criteria "
2360"are satisfied: "
2361"\n"
2362"- no square with a number is coloured black. "
2363"\n"
2364"- no two black squares are adjacent (horizontally or vertically). "
2365"\n"
2366"- for any two white squares, there is a path between them using "
2367"only white squares. "
2368"\n"
2369"- for each square with a number, that number denotes the total "
2370"number of white squares reachable from that square going in a "
2371"straight line in any horizontal or vertical direction until "
2372"hitting a wall or a black square; the square with the number is "
2373"included in the total (once). "
2374"\n"
2375"For instance, a square containing the number one must have four "
2376"black squares as its neighbours by the last criterion; but then it's "
2377"impossible for it to be connected to any outside white square, which "
2378"violates the second to last criterion. So no square will contain the "
2379"number one. "
2380"\n"
2381"Credit for this puzzle goes to Nikoli, who have variously called it "
2382"`Kurodoko', `Kuromasu' or `Where is Black Cells'. [18]. "
2383"\n"
2384"Range was contributed to this collection by Jonas Koelker. "
2385"\n"
2386"[18] http://www.nikoli.co.jp/en/puzzles/where_is_black_cells.html "
2387"\n"
2388"\n#35.1 Range controls "
2389"\n"
2390"Click with the left button to paint a square black, or with the "
2391"right button to mark a square with a dot to indicate that you are "
2392"sure it should _not_ be painted black. Repeated clicking with either "
2393"button will cycle the square through the three possible states "
2394"(filled, dotted or empty) in opposite directions. "
2395"\n"
2396"You can also use the cursor keys to move around the grid squares. "
2397"Pressing Return does the same as clicking with the left button, "
2398"while pressing Space does the same as a right button click. Moving "
2399"with the cursor keys while holding Shift will place dots in all "
2400"squares that are moved through. "
2401"\n"
2402"(All the actions described in section 2.1 are also available.) "
2403"\n"
2404"\n#35.2 Range parameters "
2405"\n"
2406"These parameters are available from the `Custom...' option on the "
2407"`Type' menu. "
2408"\n"
2409"_Width_, _Height_ "
2410"\n"
2411"Size of grid in squares. "
2412"\n"
2413"#Chapter 36: Pearl "
2414"\n"
2415"You have a grid of squares. Your job is to draw lines between the "
2416"centres of horizontally or vertically adjacent squares, so that the "
2417"lines form a single closed loop. In the resulting grid, some of the "
2418"squares that the loop passes through will contain corners, and some "
2419"will be straight horizontal or vertical lines. (And some squares can "
2420"be completely empty - the loop doesn't have to pass through every "
2421"square.) "
2422"\n"
2423"Some of the squares contain black and white circles, which are clues "
2424"that the loop must satisfy. "
2425"\n"
2426"A black circle in a square indicates that that square is a corner, "
2427"but neither of the squares adjacent to it in the loop is also a "
2428"corner. "
2429"\n"
2430"A white circle indicates that the square is a straight edge, but _at "
2431"least one_ of the squares adjacent to it in the loop is a corner. "
2432"\n"
2433"(In both cases, the clue only constrains the two squares adjacent "
2434"_in the loop_, that is, the squares that the loop passes into after "
2435"leaving the clue square. The squares that are only adjacent _in the "
2436"grid_ are not constrained.) "
2437"\n"
2438"Credit for this puzzle goes to Nikoli, who call it `Masyu'. [19] "
2439"\n"
2440"Thanks to James Harvey for assistance with the implementation. "
2441"\n"
2442"[19] http://www.nikoli.co.jp/en/puzzles/masyu.html (beware of Flash) "
2443"\n"
2444"\n#36.1 Pearl controls "
2445"\n"
2446"Click with the left button on a grid edge to draw a segment of the "
2447"loop through that edge, or to remove a segment once it is drawn. "
2448"\n"
2449"Drag with the left button through a series of squares to draw more "
2450"than one segment of the loop in one go. Alternatively, drag over an "
2451"existing part of the loop to undraw it, or to undraw part of it and "
2452"then go in a different direction. "
2453"\n"
2454"Click with the right button on a grid edge to mark it with a cross, "
2455"indicating that you are sure the loop does not go through that edge. "
2456"(For instance, if you have decided which of the squares adjacent "
2457"to a white clue has to be a corner, but don't yet know which way "
2458"the corner turns, you might mark the one way it _can't_ go with a "
2459"cross.) "
2460"\n"
2461"Alternatively, use the cursor keys to move the cursor. Use the Enter "
2462"key to begin and end keyboard `drag' operations. Use the Space, "
2463"Escape or Backspace keys to cancel the drag. Or, hold Control while "
2464"dragging with the cursor keys to toggle segments as you move between "
2465"squares. "
2466"\n"
2467"Pressing Control-Shift-arrowkey or Shift-arrowkey simulates a left "
2468"or right click, respectively, on the edge in the direction of the "
2469"key. "
2470"\n"
2471"(All the actions described in section 2.1 are also available.) "
2472"\n"
2473"\n#36.2 Pearl parameters "
2474"\n"
2475"These parameters are available from the `Custom...' option on the "
2476"`Type' menu. "
2477"\n"
2478"#Chapter 37: Undead "
2479"\n"
2480"You are given a grid of squares, some of which contain diagonal "
2481"mirrors. Every square which is not a mirror must be filled with one "
2482"of three types of undead monster: a ghost, a vampire, or a zombie. "
2483"\n"
2484"Vampires can be seen directly, but are invisible when reflected in "
2485"mirrors. Ghosts are the opposite way round: they can be seen in "
2486"mirrors, but are invisible when looked at directly. Zombies are "
2487"visible by any means. "
2488"\n"
2489"You are also told the total number of each type of monster in the "
2490"grid. Also around the edge of the grid are written numbers, which "
2491"indicate how many monsters can be seen if you look into the grid "
2492"along a row or column starting from that position. (The diagonal "
2493"mirrors are reflective on both sides. If your reflected line of "
2494"sight crosses the same monster more than once, the number will count "
2495"it each time it is visible, not just once.) "
2496"\n"
2497"This puzzle type was invented by David Millar, under the name "
2498"`Haunted Mirror Maze'. See [20] for more details. "
2499"\n"
2500"Undead was contributed to this collection by Steffen Bauer. "
2501"\n"
2502"[20] http://www.janko.at/Raetsel/Spukschloss/index.htm "
2503"\n"
2504"\n#37.1 Undead controls "
2505"\n"
2506"Undead has a similar control system to Solo, Unequal and Keen. "
2507"\n"
2508"To play Undead, click the mouse in any empty square and then type "
2509"a letter on the keyboard indicating the type of monster: `G' for "
2510"a ghost, `V' for a vampire, or `Z' for a zombie. If you make a "
2511"mistake, click the mouse in the incorrect square and press Space to "
2512"clear it again (or use the Undo feature). "
2513"\n"
2514"If you _right_-click in a square and then type a letter, the "
2515"corresponding monster will be shown in reduced size in that square, "
2516"as a `pencil mark'. You can have pencil marks for multiple monsters "
2517"in the same square. A square containing a full-size monster cannot "
2518"also contain pencil marks. "
2519"\n"
2520"The game pays no attention to pencil marks, so exactly what you "
2521"use them for is up to you: you can use them as reminders that a "
2522"particular square needs to be re-examined once you know more about "
2523"a particular monster, or you can use them as lists of the possible "
2524"monster in a given square, or anything else you feel like. "
2525"\n"
2526"To erase a single pencil mark, right-click in the square and type "
2527"the same letter again. "
2528"\n"
2529"All pencil marks in a square are erased when you left-click and type "
2530"a monster letter, or when you left-click and press Space. Right-\n"
2531"clicking and pressing space will also erase pencil marks. "
2532"\n"
2533"As for Solo, the cursor keys can be used in conjunction with the "
2534"letter keys to place monsters or pencil marks. Use the cursor keys "
2535"to move a highlight around the grid, and type a monster letter to "
2536"enter it in the highlighted square. Pressing return toggles the "
2537"highlight into a mode in which you can enter or remove pencil marks. "
2538"\n"
2539"If you prefer plain letters of the alphabet to cute monster "
2540"pictures, you can press `A' to toggle between showing the monsters "
2541"as monsters or showing them as letters. "
2542"\n"
2543"Left-clicking a clue will mark it as done (grey it out), or unmark "
2544"it if it is already marked. "
2545"\n"
2546"(All the actions described in section 2.1 are also available.) "
2547"\n"
2548"\n#37.2 Undead parameters "
2549"\n"
2550"These parameters are available from the `Custom...' option on the "
2551"`Type' menu. "
2552"\n"
2553"_Width_, _Height_ "
2554"\n"
2555"Size of grid in squares. "
2556"\n"
2557"_Difficulty_ "
2558"\n"
2559"Controls the difficulty of the generated puzzle. "
2560"\n"
2561"#Chapter 38: Unruly "
2562"\n"
2563"You are given a grid of squares, which you must colour either black "
2564"or white. Some squares are provided as clues; the rest are left for "
2565"you to fill in. Each row and column must contain the same number "
2566"of black and white squares, and no row or column may contain three "
2567"consecutive squares of the same colour. "
2568"\n"
2569"This puzzle type was invented by Adolfo Zanellati, under the name "
2570"`Tohu wa Vohu'. See [21] for more details. "
2571"\n"
2572"Unruly was contributed to this collection by Lennard Sprong. "
2573"\n"
2574"[21] http://www.janko.at/Raetsel/Tohu-Wa-Vohu/index.htm "
2575"\n"
2576"\n#38.1 Unruly controls "
2577"\n"
2578"To play Unruly, click the mouse in a square to change its colour. "
2579"Left-clicking an empty square will turn it black, and right-clicking "
2580"will turn it white. Keep clicking the same button to cycle through "
2581"the three possible states for the square. If you middle-click in a "
2582"square it will be reset to empty. "
2583"\n"
2584"You can also use the cursor keys to move around the grid. Pressing "
2585"the return or space keys will turn an empty square black or white "
2586"respectively (and then cycle the colours in the same way as the "
2587"mouse buttons), and pressing Backspace will reset a square to empty. "
2588"\n"
2589"(All the actions described in section 2.1 are also available.) "
2590"\n"
2591"\n#38.2 Unruly parameters "
2592"\n"
2593"These parameters are available from the `Custom...' option on the "
2594"`Type' menu. "
2595"\n"
2596"_Width_, _Height_ "
2597"\n"
2598"Size of grid in squares. (Note that the rules of the game "
2599"require both the width and height to be even numbers.) "
2600"\n"
2601"_Difficulty_ "
2602"\n"
2603"Controls the difficulty of the generated puzzle. "
2604"\n"
2605"_Unique rows and columns_ "
2606"\n"
2607"If enabled, no two rows are permitted to have exactly the same "
2608"pattern, and likewise columns. (A row and a column can match, "
2609"though.) "
2610"\n"
2611"#Chapter 39: Flood "
2612"\n"
2613"You are given a grid of squares, coloured at random in multiple "
2614"colours. In each move, you can flood-fill the top left square in a "
2615"colour of your choice (i.e. every square reachable from the starting "
2616"square by an orthogonally connected path of squares all the same "
2617"colour will be filled in the new colour). As you do this, more and "
2618"more of the grid becomes connected to the starting square. "
2619"\n"
2620"Your aim is to make the whole grid the same colour, in as few moves "
2621"as possible. The game will set a limit on the number of moves, based "
2622"on running its own internal solver. You win if you can make the "
2623"whole grid the same colour in that many moves or fewer. "
2624"\n"
2625"I saw this game (with a fixed grid size, fixed number of colours, "
2626"and fixed move limit) at http://floodit.appspot.com (no longer "
2627"accessible). "
2628"\n"
2629"\n#39.1 Flood controls "
2630"\n"
2631"To play Flood, click the mouse in a square. The top left corner and "
2632"everything connected to it will be flood-filled with the colour of "
2633"the square you clicked. Clicking a square the same colour as the top "
2634"left corner has no effect, and therefore does not count as a move. "
2635"\n"
2636"You can also use the cursor keys to move a cursor (outline black "
2637"square) around the grid. Pressing the return key will fill the top "
2638"left corner in the colour of the square under the cursor. "
2639"\n"
2640"(All the actions described in section 2.1 are also available.) "
2641"\n"
2642"\n#39.2 Flood parameters "
2643"\n"
2644"These parameters are available from the `Custom...' option on the "
2645"`Type' menu. "
2646"\n"
2647"_Width_, _Height_ "
2648"\n"
2649"Size of the grid, in squares. "
2650"\n"
2651"_Colours_ "
2652"\n"
2653"Number of colours used to fill the grid. Must be at least 3\n"
2654"(with two colours there would only be one legal move at any "
2655"stage, hence no choice to make at all), and at most 10. "
2656"\n"
2657"_Extra moves permitted_ "
2658"\n"
2659"Controls the difficulty of the puzzle, by increasing the move "
2660"limit. In each new grid, Flood will run an internal solver to "
2661"generate its own solution, and then the value in this field "
2662"will be added to the length of Flood's solution to generate the "
2663"game's move limit. So a value of 0 requires you to be just as "
2664"efficient as Flood's automated solver, and a larger value makes "
2665"it easier. "
2666"\n"
2667"(Note that Flood's internal solver will not necessarily find the "
2668"shortest possible solution, though I believe it's pretty close. "
2669"For a real challenge, set this value to 0 and then try to solve "
2670"a grid in _strictly fewer_ moves than the limit you're given!) "
2671"\n"
2672"#Chapter 40: Tracks "
2673"\n"
2674"You are given a grid of squares, some of which are filled with train "
2675"tracks. You need to complete the track from A to B so that the "
2676"rows and columns contain the same number of track segments as are "
2677"indicated in the clues to the top and right of the grid. "
2678"\n"
2679"There are only straight and 90 degree curved rails, and the track "
2680"may not cross itself. "
2681"\n"
2682"Tracks was contributed to this collection by James Harvey. "
2683"\n"
2684"\n#40.1 Tracks controls "
2685"\n"
2686"Left-clicking on an edge between two squares adds a track segment "
2687"between the two squares. Right-clicking on an edge adds a cross on "
2688"the edge, indicating no track is possible there. "
2689"\n"
2690"Left-clicking in a square adds a colour indicator showing that "
2691"you know the square must contain a track, even if you don't know "
2692"which edges it crosses yet. Right-clicking in a square adds a cross "
2693"indicating it contains no track segment. "
2694"\n"
2695"Left- or right-dragging between squares allows you to lay a straight "
2696"line of is-track or is-not-track indicators, useful for filling in "
2697"rows or columns to match the clue. "
2698"\n"
2699"(All the actions described in section 2.1 are also available.) "
2700"\n"
2701"\n#40.2 Tracks parameters "
2702"\n"
2703"These parameters are available from the `Custom...' option on the "
2704"`Type' menu. "
2705"\n"
2706"_Width_, _Height_ "
2707"\n"
2708"Size of the grid, in squares. "
2709"\n"
2710"_Difficulty_ "
2711"\n"
2712"Controls the difficulty of the generated puzzle: at Tricky "
2713"level, you are required to make more deductions regarding "
2714"disregarding moves that would lead to impossible crossings "
2715"later. "
2716"\n"
2717"_Disallow consecutive 1 clues_ "
2718"\n"
2719"Controls whether the Tracks game generation permits two adjacent "
2720"rows or columns to have a 1 clue, or permits the row or column "
2721"of the track's endpoint to have a 1 clue. By default this is "
2722"not permitted, to avoid long straight boring segments of track "
2723"and make the games more twiddly and interesting. If you want to "
2724"restore the possibility, turn this option off. "
2725"\n"
2726"#Chapter 41: Palisade "
2727"\n"
2728"You're given a grid of squares, some of which contain numbers. Your "
2729"goal is to subdivide the grid into contiguous regions, all of the "
2730"same (given) size, such that each square containing a number is "
2731"adjacent to exactly that many edges (including those between the "
2732"inside and the outside of the grid). "
2733"\n"
2734"Credit for this puzzle goes to Nikoli, who call it `Five Cells'. "
2735"[22]. "
2736"\n"
2737"Palisade was contributed to this collection by Jonas Koelker. "
2738"\n"
2739"[22] http://nikoli.co.jp/en/puzzles/five_cells.html "
2740"\n"
2741"\n#41.1 Palisade controls "
2742"\n"
2743"Left-click to place an edge. Right-click to indicate `no edge'. "
2744"Alternatively, the arrow keys will move a keyboard cursor. Holding "
2745"Control while pressing an arrow key will place an edge. Press Shift-\n"
2746"arrowkey to switch off an edge. Repeat an action to perform its "
2747"inverse. "
2748"\n"
2749"(All the actions described in section 2.1 are also available.) "
2750"\n"
2751"\n#41.2 Palisade parameters "
2752"\n"
2753"These parameters are available from the `Custom...' option on the "
2754"`Type' menu. "
2755"\n"
2756"_Width_, _Height_ "
2757"\n"
2758"Size of grid in squares. "
2759"\n"
2760"_Region size_ "
2761"\n"
2762"The size of the regions into which the grid must be subdivided. "
2763"\n"
2764;
2765
2766const int help_maxlen = 6244;
2767const int help_numchapters = 39;
diff --git a/apps/plugins/puzzles/rockbox.c b/apps/plugins/puzzles/rockbox.c
index 43afb62e40..7a784ba97c 100644
--- a/apps/plugins/puzzles/rockbox.c
+++ b/apps/plugins/puzzles/rockbox.c
@@ -1099,11 +1099,6 @@ static void quick_help(void)
1099 } 1099 }
1100} 1100}
1101 1101
1102static void full_help(void)
1103{
1104 /* TODO */
1105}
1106
1107static void init_default_settings(void) 1102static void init_default_settings(void)
1108{ 1103{
1109 settings.slowmo_factor = 1; 1104 settings.slowmo_factor = 1;
@@ -1219,11 +1214,7 @@ static int pausemenu_cb(int action, const struct menu_item_ex *this_item)
1219 return ACTION_EXIT_MENUITEM; 1214 return ACTION_EXIT_MENUITEM;
1220 break; 1215 break;
1221 case 7: 1216 case 7:
1222#ifdef FOR_REAL
1223 return ACTION_EXIT_MENUITEM;
1224#else
1225 break; 1217 break;
1226#endif
1227 case 8: 1218 case 8:
1228#ifdef COMBINED 1219#ifdef COMBINED
1229 /* audio buf is used, so no playback */ 1220 /* audio buf is used, so no playback */
@@ -1354,7 +1345,7 @@ static int pause_menu(void)
1354 quick_help(); 1345 quick_help();
1355 break; 1346 break;
1356 case 7: 1347 case 7:
1357 full_help(); 1348 full_help(midend_which_game(me)->name);
1358 break; 1349 break;
1359 case 8: 1350 case 8:
1360 playback_control(NULL); 1351 playback_control(NULL);
@@ -1815,11 +1806,7 @@ static int mainmenu_cb(int action, const struct menu_item_ex *this_item)
1815 return ACTION_EXIT_MENUITEM; 1806 return ACTION_EXIT_MENUITEM;
1816 break; 1807 break;
1817 case 3: 1808 case 3:
1818#ifdef FOR_REAL
1819 return ACTION_EXIT_MENUITEM;
1820#else
1821 break; 1809 break;
1822#endif
1823 case 4: 1810 case 4:
1824#ifdef COMBINED 1811#ifdef COMBINED
1825 /* audio buf is used, so no playback */ 1812 /* audio buf is used, so no playback */
@@ -1934,7 +1921,7 @@ enum plugin_status plugin_start(const void *param)
1934 quick_help(); 1921 quick_help();
1935 break; 1922 break;
1936 case 3: 1923 case 3:
1937 full_help(); 1924 full_help(midend_which_game(me)->name);
1938 break; 1925 break;
1939 case 4: 1926 case 4:
1940 playback_control(NULL); 1927 playback_control(NULL);