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 0000000..359dd61 --- /dev/null +++ b/apps/plugins/puzzles/help/blackbox.c @@ -0,0 +1,150 @@ +/* auto-generated by genhelp.sh */ +/* DO NOT EDIT! */ +const char help_text[] = +"#Chapter 19: Black Box " +"\n" +"A number of balls are hidden in a rectangular arena. You have to " +"deduce the positions of the balls by firing lasers positioned at the " +"edges of the arena and observing how their beams are deflected. " +"\n" +"Beams will travel straight from their origin until they hit the " +"opposite side of the arena (at which point they emerge), unless " +"affected by balls in one of the following ways: " +"\n" +"- A beam that hits a ball head-on is absorbed and will never re-\n" +"emerge. This includes beams that meet a ball on the first rank " +"of the arena. " +"\n" +"- A beam with a ball in its front-left square and no ball ahead of " +"it gets deflected 90 degrees to the right. " +"\n" +"- A beam with a ball in its front-right square and no ball ahead " +"of it gets similarly deflected to the left. " +"\n" +"- A beam that would re-emerge from its entry location is " +"considered to be `reflected'. " +"\n" +"- A beam which would get deflected before entering the arena by a " +"ball to the front-left or front-right of its entry point is also " +"considered to be `reflected'. " +"\n" +"Beams that are reflected appear as a `R'; beams that hit balls head-\n" +"on appear as `H'. Otherwise, a number appears at the firing point " +"and the location where the beam emerges (this number is unique to " +"that shot). " +"\n" +"You can place guesses as to the location of the balls, based on the " +"entry and exit patterns of the beams; once you have placed enough " +"balls a button appears enabling you to have your guesses checked. " +"\n" +"Here is a diagram showing how the positions of balls can create each " +"of the beam behaviours shown above: " +"\n" +"1RHR----\n" +"|..O.O...|\n" +"2........3\n" +"|........|\n" +"|........|\n" +"3........|\n" +"|......O.|\n" +"H........|\n" +"|.....O..|\n" +"12-RR---\n" +"\n" +"As shown, it is possible for a beam to receive multiple reflections " +"before re-emerging (see turn 3). Similarly, a beam may be reflected " +"(possibly more than once) before receiving a hit (the `H' on the " +"left side of the example). " +"\n" +"Note that any layout with more than 4 balls may have a non-unique " +"solution. The following diagram illustrates this; if you know the " +"board contains 5 balls, it is impossible to determine where the " +"fifth ball is (possible positions marked with an x): " +"\n" +"--------\n" +"|........|\n" +"|........|\n" +"|..O..O..|\n" +"|...xx...|\n" +"|...xx...|\n" +"|..O..O..|\n" +"|........|\n" +"|........|\n" +"--------\n" +"\n" +"For this reason, when you have your guesses checked, the game " +"will check that your solution _produces the same results_ as the " +"computer's, rather than that your solution is identical to the " +"computer's. So in the above example, you could put the fifth ball at " +"_any_ of the locations marked with an x, and you would still win. " +"\n" +"Black Box was contributed to this collection by James Harvey. " +"\n" +"\n#19.1 Black Box controls " +"\n" +"To fire a laser beam, left-click in a square around the edge of " +"the arena. The results will be displayed immediately. Clicking or " +"holding the left button on one of these squares will highlight the " +"current go (or a previous go) to confirm the exit point for that " +"laser, if applicable. " +"\n" +"To guess the location of a ball, left-click within the arena and a " +"black circle will appear marking the guess; click again to remove " +"the guessed ball. " +"\n" +"Locations in the arena may be locked against modification by right-\n" +"clicking; whole rows and columns may be similarly locked by right-\n" +"clicking in the laser square above/below that column, or to the " +"left/right of that row. " +"\n" +"The cursor keys may also be used to move around the grid. Pressing " +"the Enter key will fire a laser or add a new ball-location guess, " +"and pressing Space will lock a cell, row, or column. " +"\n" +"When an appropriate number of balls have been guessed, a button will " +"appear at the top-left corner of the grid; clicking that (with mouse " +"or cursor) will check your guesses. " +"\n" +"If you click the `check' button and your guesses are not correct, " +"the game will show you the minimum information necessary to " +"demonstrate this to you, so you can try again. If your ball " +"positions are not consistent with the beam paths you already know " +"about, one beam path will be circled to indicate that it proves you " +"wrong. If your positions match all the existing beam paths but are " +"still wrong, one new beam path will be revealed (written in red) " +"which is not consistent with your current guesses. " +"\n" +"If you decide to give up completely, you can select Solve to reveal " +"the actual ball positions. At this point, correctly-placed balls " +"will be displayed as filled black circles, incorrectly-placed balls " +"as filled black circles with red crosses, and missing balls as " +"filled red circles. In addition, a red circle marks any laser you " +"had already fired which is not consistent with your ball layout " +"(just as when you press the `check' button), and red text marks " +"any laser you _could_ have fired in order to distinguish your ball " +"layout from the correct one. " +"\n" +"(All the actions described in section 2.1 are also available.) " +"\n" +"\n#19.2 Black Box parameters " +"\n" +"These parameters are available from the `Custom...' option on the " +"`Type' menu. " +"\n" +"_Width_, _Height_ " +"\n" +"Size of grid in squares. There are 2 x _Width_ x _Height_ lasers " +"per grid, two per row and two per column. " +"\n" +"_No. of balls_ " +"\n" +"Number of balls to place in the grid. This can be a single " +"number, or a range (separated with a hyphen, like `2-6'), " +"and determines the number of balls to place on the grid. " +"The `reveal' button is only enabled if you have guessed an " +"appropriate number of balls; a guess using a different number " +"to the original solution is still acceptable, if all the beam " +"inputs and outputs match. " +"\n" +; +const char quick_help_text[] = "Find the hidden balls in the box by bouncing laser beams off them."; |