diff options
Diffstat (limited to 'apps/plugins/puzzles/help/blackbox.c')
-rw-r--r-- | apps/plugins/puzzles/help/blackbox.c | 150 |
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! */ | ||
3 | const 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 | ; | ||
150 | const char quick_help_text[] = "Find the hidden balls in the box by bouncing laser beams off them."; | ||