Until now, Same Game has been the only puzzle in this collection
[sgt/puzzles] / puzzles.but
index df4bd4c..cc3ee75 100644 (file)
@@ -47,12 +47,11 @@ ends - PocketPC, Mac OS pre-10, or whatever it might be - then all
 the games in this framework will immediately become available on
 another platform as well.
 
-The actual games in this collection were mostly not my invention; I
-saw them elsewhere, and rewrote them in a form that was more
-convenient for me. I do not claim credit, in general, for inventing
-the rules of any of these puzzles; all I claim is authorship of the
-code (or at least those parts of the code that weren't contributed
-by other people!).
+The actual games in this collection were mostly not my invention; they
+are re-implementations of existing game concepts within my portable
+puzzle framework. I do not claim credit, in general, for inventing the
+rules of any of these puzzles. (I don't even claim authorship of all
+the code; some of the puzzles have been submitted by other authors.)
 
 This collection is distributed under the \i{MIT licence} (see
 \k{licence}). This means that you can do pretty much anything you like
@@ -960,11 +959,6 @@ Removing a region causes the rest of the grid to shuffle up:
 blocks that are suspended will fall down (first), and then empty
 columns are filled from the right. 
 
-The game generator does not try to guarantee soluble grids;
-it will, however, ensure that there are at least 2 squares of each 
-colour on the grid at the start (and will forbid custom grids for which
-that would be impossible).
-
 Same Game was contributed to this collection by James Harvey.
 
 \H{samegame-controls} \i{Same Game controls}
@@ -1010,6 +1004,23 @@ any points at all. With the alternative \q{(n-1)^2} system, regions of
 two squares score a point each, and larger regions score relatively
 more points.
 
+\dt \e{Ensure solubility}
+
+\dd If this option is ticked (the default state), generated grids
+will be guaranteed to have at least one solution.
+
+\lcont{
+
+If you turn it off, the game generator will not try to guarantee
+soluble grids; it will, however, still ensure that there are at
+least 2 squares of each colour on the grid at the start (since a
+grid with exactly one square of a given colour is \e{definitely}
+insoluble). Grids generated with this option disabled may contain
+more large areas of contiguous colour, leading to opportunities for
+higher scores; they can also take less time to generate.
+
+}
+
 
 \C{flip} \i{Flip}
 
@@ -1197,7 +1208,8 @@ time (but always one that is known to have a solution).
 
 \cfg{winhelp-topic}{games.dominosa}
 
-A normal set of dominoes has been arranged irregularly into a
+A normal set of dominoes - that is, one instance of every (unordered)
+pair of numbers from 0 to 6 - has been arranged irregularly into a
 rectangle; then the number in each square has been written down and
 the dominoes themselves removed. Your task is to reconstruct the
 pattern by arranging the set of dominoes to match the provided array
@@ -1274,6 +1286,139 @@ on the \q{Type} menu:
 points in the generated graph.
 
 
+\C{blackbox} \i{Black Box}
+
+\cfg{winhelp-topic}{games.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:
+
+\b A laser that hits a ball head-on is absorbed and will never re-emerge.
+   This includes lasers that meet a ball on the first rank of the arena.
+
+\b A laser with a ball to its front-left square gets deflected 90 degrees
+   to the right.
+
+\b A laser with a ball to its front-right square gets similarly deflected 
+   to the left. 
+
+\b A laser that would re-emerge from the entry location is considered to be
+   \q{reflected}. 
+
+\b A laser which would get deflected before entering the arena (down the
+   \q{firing range}) by a ball to the front-left or front-right of its
+   entry point is also considered to be \q{reflected}.
+
+Lasers that are reflected appear as a \q{R}; lasers that hit balls
+dead-on appear as \q{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:
+
+\c  1RHR---- 
+\c |..O.O...|
+\c 2........3
+\c |........|
+\c |........|
+\c 3........|
+\c |......O.|
+\c H........|
+\c |.....O..|
+\c  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 \q{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):
+
+\c  -------- 
+\c |........|
+\c |........|
+\c |..O..O..|
+\c |...xx...|
+\c |...xx...|
+\c |..O..O..|
+\c |........|
+\c |........|
+\c  --------
+
+For this reason when you have your guesses checked the game will
+check that your solution \e{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
+\e{any} of the locations marked with an x, and you would still win.
+
+Black Box was contributed to this collection by James Harvey.
+
+\H{blackbox-controls} \i{Black Box controls}
+
+\IM{Black Box controls}controls, for Black Box
+
+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. 
+
+Once marked, correctly-placed balls are 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, and red text marks
+any laser you \e{could} have fired in order to distinguish your ball
+layout from the right one.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{blackbox-parameters} \I{parameters, for Black Box}Black Box parameters
+
+These parameters are available from the \q{Custom...} option on the
+\q{Type} menu.
+
+\dt \e{Width}, \e{Height}
+
+\dd Size of grid in squares. There are 2 \by \e{Width} \by \e{Height} lasers 
+per grid, two per row and two per column. 
+
+\dt \e{No. of balls}
+
+\dd Number of balls to place in the grid. This can be a single number,
+or a range (separated with a hyphen, like \q{2-6}), and determines the
+number of balls to place on the grid. The \q{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 laser inputs and outputs match.
+
+
 \A{licence} \I{MIT licence}\ii{Licence}
 
 This software is \i{copyright} 2004-2005 Simon Tatham.