/* 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.";