Previous | Contents | Index | Next
(Note: the Debian version of this game is called blackboxgame
to avoid clashing with the window manager blackbox
.)
A number of balls are hidden in a rectangular arena. You have to deduce the positions of the balls by firing lasers from positions on the edge of the arena and observing how they are deflected.
Lasers will fire straight until they hit the opposite side of the arena (at which point they emerge), unless affected by balls in one of the following ways:
Lasers that are reflected appear as a ‘R’; lasers that hit balls dead-on appear as ‘H’. Otherwise, a number appears at the firing point and the location where the laser emerges (this number is unique to that shot).
You can place guesses as to the location of the balls, based on the entry and exit patterns of the lasers; once you have placed enough balls a button appears enabling you to have your guesses checked.
Here is a diagram showing how the positions of balls can create each of the laser behaviours shown above:
1RHR----
|..O.O...|
2........3
|........|
|........|
3........|
|......O.|
H........|
|.....O..|
12-RH---
As shown, it is possible for a ball to receive multiple reflections before re-emerging (see turn 3). Similarly, a ball may be reflected (possibly more than once) before receiving a hit (the ‘H’ on the left side of the example).
Note that any layout with more that 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):
--------
|........|
|........|
|..O..O..|
|...xx...|
|...xx...|
|..O..O..|
|........|
|........|
--------
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.
Black Box was contributed to this collection by James Harvey.
To fire a laser, left-click in a square around the side of the arena. The results will be displayed immediately. Lasers may not be fired twice (because the results will never change). Holding down the left button will highlight the current go (or a previous go) to confirm the exit point for that laser, if applicable.
To guess the location of a ball, left-click within the arena and a black circle will appear marking the guess; to remove the guessed ball click again.
Locations in the arena may be locked against modification by right-clicking; whole rows and columns may be similarly locked by right-clicking in the laser firing range above/below that column, or to the left/right of that row.
When an appropriate number of balls have been guessed a button will appear at the top-left corner of the grid; clicking that will mark your guesses.
If you click the ‘mark’ button and your guesses are not correct, the game will show you as little information as possible to demonstrate this to you, so you can try again. If your ball positions are not consistent with the laser paths you already know about, one laser path will be circled to indicate that it proves you wrong. If your positions match all the existing laser paths but are still wrong, one new laser path will be revealed (written in red) which is not consistent with your current guesses.
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 are displayed as filled black circles with red crosses, and missing balls are 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 mark button), and red text marks any laser you could have fired in order to distinguish your ball layout from the right one.
(All the actions described in section 2.1 are also available.)
These parameters are available from the ‘Custom...’ option on the ‘Type’ menu.