summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/help/blackbox.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/puzzles/help/blackbox.c')
-rw-r--r--apps/plugins/puzzles/help/blackbox.c150
1 files changed, 150 insertions, 0 deletions
diff --git a/apps/plugins/puzzles/help/blackbox.c b/apps/plugins/puzzles/help/blackbox.c
new file mode 100644
index 0000000000..359dd61220
--- /dev/null
+++ b/apps/plugins/puzzles/help/blackbox.c
@@ -0,0 +1,150 @@
1/* auto-generated by genhelp.sh */
2/* DO NOT EDIT! */
3const char help_text[] =
4"#Chapter 19: Black Box "
5"\n"
6"A number of balls are hidden in a rectangular arena. You have to "
7"deduce the positions of the balls by firing lasers positioned at the "
8"edges of the arena and observing how their beams are deflected. "
9"\n"
10"Beams will travel straight from their origin until they hit the "
11"opposite side of the arena (at which point they emerge), unless "
12"affected by balls in one of the following ways: "
13"\n"
14"- A beam that hits a ball head-on is absorbed and will never re-\n"
15"emerge. This includes beams that meet a ball on the first rank "
16"of the arena. "
17"\n"
18"- A beam with a ball in its front-left square and no ball ahead of "
19"it gets deflected 90 degrees to the right. "
20"\n"
21"- A beam with a ball in its front-right square and no ball ahead "
22"of it gets similarly deflected to the left. "
23"\n"
24"- A beam that would re-emerge from its entry location is "
25"considered to be `reflected'. "
26"\n"
27"- A beam which would get deflected before entering the arena by a "
28"ball to the front-left or front-right of its entry point is also "
29"considered to be `reflected'. "
30"\n"
31"Beams that are reflected appear as a `R'; beams that hit balls head-\n"
32"on appear as `H'. Otherwise, a number appears at the firing point "
33"and the location where the beam emerges (this number is unique to "
34"that shot). "
35"\n"
36"You can place guesses as to the location of the balls, based on the "
37"entry and exit patterns of the beams; once you have placed enough "
38"balls a button appears enabling you to have your guesses checked. "
39"\n"
40"Here is a diagram showing how the positions of balls can create each "
41"of the beam behaviours shown above: "
42"\n"
43"1RHR----\n"
44"|..O.O...|\n"
45"2........3\n"
46"|........|\n"
47"|........|\n"
48"3........|\n"
49"|......O.|\n"
50"H........|\n"
51"|.....O..|\n"
52"12-RR---\n"
53"\n"
54"As shown, it is possible for a beam to receive multiple reflections "
55"before re-emerging (see turn 3). Similarly, a beam may be reflected "
56"(possibly more than once) before receiving a hit (the `H' on the "
57"left side of the example). "
58"\n"
59"Note that any layout with more than 4 balls may have a non-unique "
60"solution. The following diagram illustrates this; if you know the "
61"board contains 5 balls, it is impossible to determine where the "
62"fifth ball is (possible positions marked with an x): "
63"\n"
64"--------\n"
65"|........|\n"
66"|........|\n"
67"|..O..O..|\n"
68"|...xx...|\n"
69"|...xx...|\n"
70"|..O..O..|\n"
71"|........|\n"
72"|........|\n"
73"--------\n"
74"\n"
75"For this reason, when you have your guesses checked, the game "
76"will check that your solution _produces the same results_ as the "
77"computer's, rather than that your solution is identical to the "
78"computer's. So in the above example, you could put the fifth ball at "
79"_any_ of the locations marked with an x, and you would still win. "
80"\n"
81"Black Box was contributed to this collection by James Harvey. "
82"\n"
83"\n#19.1 Black Box controls "
84"\n"
85"To fire a laser beam, left-click in a square around the edge of "
86"the arena. The results will be displayed immediately. Clicking or "
87"holding the left button on one of these squares will highlight the "
88"current go (or a previous go) to confirm the exit point for that "
89"laser, if applicable. "
90"\n"
91"To guess the location of a ball, left-click within the arena and a "
92"black circle will appear marking the guess; click again to remove "
93"the guessed ball. "
94"\n"
95"Locations in the arena may be locked against modification by right-\n"
96"clicking; whole rows and columns may be similarly locked by right-\n"
97"clicking in the laser square above/below that column, or to the "
98"left/right of that row. "
99"\n"
100"The cursor keys may also be used to move around the grid. Pressing "
101"the Enter key will fire a laser or add a new ball-location guess, "
102"and pressing Space will lock a cell, row, or column. "
103"\n"
104"When an appropriate number of balls have been guessed, a button will "
105"appear at the top-left corner of the grid; clicking that (with mouse "
106"or cursor) will check your guesses. "
107"\n"
108"If you click the `check' button and your guesses are not correct, "
109"the game will show you the minimum information necessary to "
110"demonstrate this to you, so you can try again. If your ball "
111"positions are not consistent with the beam paths you already know "
112"about, one beam path will be circled to indicate that it proves you "
113"wrong. If your positions match all the existing beam paths but are "
114"still wrong, one new beam path will be revealed (written in red) "
115"which is not consistent with your current guesses. "
116"\n"
117"If you decide to give up completely, you can select Solve to reveal "
118"the actual ball positions. At this point, correctly-placed balls "
119"will be displayed as filled black circles, incorrectly-placed balls "
120"as filled black circles with red crosses, and missing balls as "
121"filled red circles. In addition, a red circle marks any laser you "
122"had already fired which is not consistent with your ball layout "
123"(just as when you press the `check' button), and red text marks "
124"any laser you _could_ have fired in order to distinguish your ball "
125"layout from the correct one. "
126"\n"
127"(All the actions described in section 2.1 are also available.) "
128"\n"
129"\n#19.2 Black Box parameters "
130"\n"
131"These parameters are available from the `Custom...' option on the "
132"`Type' menu. "
133"\n"
134"_Width_, _Height_ "
135"\n"
136"Size of grid in squares. There are 2 x _Width_ x _Height_ lasers "
137"per grid, two per row and two per column. "
138"\n"
139"_No. of balls_ "
140"\n"
141"Number of balls to place in the grid. This can be a single "
142"number, or a range (separated with a hyphen, like `2-6'), "
143"and determines the number of balls to place on the grid. "
144"The `reveal' button is only enabled if you have guessed an "
145"appropriate number of balls; a guess using a different number "
146"to the original solution is still acceptable, if all the beam "
147"inputs and outputs match. "
148"\n"
149;
150const char quick_help_text[] = "Find the hidden balls in the box by bouncing laser beams off them.";