X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/79cb09e95eb4303318afb13c55759e48bfd5c016..8eef6b92f983f9c81eb07b0786912f8708640835:/puzzles.but diff --git a/puzzles.but b/puzzles.but index 6f74ba8..9949da4 100644 --- a/puzzles.but +++ b/puzzles.but @@ -22,7 +22,7 @@ This is a collection of small one-player puzzle games. -\copyright This manual is copyright 2004 Simon Tatham. All rights +\copyright This manual is copyright 2004-5 Simon Tatham. All rights reserved. You may distribute this documentation under the MIT licence. See \k{licence} for the licence text in full. @@ -94,6 +94,22 @@ menu}\q{Edit} menus instead.) \dd Resets the current game to its initial state. (This can be undone.) +\dt \ii\e{Load} + +\dd Loads a saved game from a file on disk. + +\dt \ii\e{Save} + +\dd Saves the current state of your game to a file on disk. + +\lcont{ + +The Load and Save operations should preserve your entire game +history (so you can save, reload, and still Undo and Redo things you +had done before saving). + +} + \dt \ii\e{Undo} (\q{U}, Ctrl+\q{Z}, Ctrl+\q{_}) \dd Undoes a single move. (You can undo moves back to the start of the @@ -314,6 +330,8 @@ controls are: \dt \e{Rotate tile clockwise}: right mouse button, \q{D} key +\dt \e{Rotate tile by 180 degrees}: \q{F} key + \dt \e{Lock (or unlock) tile}: middle mouse button, shift-click, \q{S} key \dd You can lock a tile once you're sure of its orientation. You can @@ -1005,20 +1023,23 @@ do so, other squares around it change state as well. Each square contains a small diagram showing which other squares change when you flip it. -\C{flip-controls} \i{Flip controls} +\H{flip-controls} \i{Flip controls} \IM{Flip controls} controls, for Flip \IM{Flip controls} keys, for Flip \IM{Flip controls} shortcuts (keyboard), for Flip -Left-click in a square to flip it and its associated squares. +This game can be played with either the keyboard or the mouse. + +Left-click in a square to flip it and its associated squares, or +use the cursor keys to choose a square and the space bar or Enter +key to flip. -If you use the \q{Solve} function on this game, it will highlight -some of the squares with red blobs. If you click once in every -square with a red blob, the game should be solved. (If you click in -a square \e{without} a red blob, a red blob will appear in it to -indicate that you will need to reverse that operation to reach the -solution.) +If you use the \q{Solve} function on this game, it will mark some of +the squares in red. If you click once in every square with a red +mark, the game should be solved. (If you click in a square +\e{without} a red mark, a red mark will appear in it to indicate +that you will need to reverse that operation to reach the solution.) \H{flip-parameters} \I{parameters, for flip}Flip parameters @@ -1039,6 +1060,354 @@ causes every square to flip itself and its four immediate neighbours the game is different every time. +\C{guess} \i{Guess} + +\cfg{winhelp-topic}{games.guess} + +You have a set of coloured pegs, and have to reproduce a +predetermined sequence of them (chosen by the computer) within a +certain number of guesses. + +Each guess gets marked with the number of correctly-coloured pegs +in the correct places (in black), and also the number of +correctly-coloured pegs in the wrong places (in white). + +This game is also known (and marketed, by Hasbro, mainly) as +a board game \q{Mastermind}, with 6 colours, 4 pegs per row, and 10 guesses. +However, this version allows custom settings of number of colours +(up to 10), number of pegs per row, and number of guesses. + +Guess was contributed to this collection by James Harvey. + +\H{guess-controls} \i{Guess controls} + +\IM{Guess controls} controls, for Guess +\IM{Guess controls} keys, for Guess +\IM{Guess controls} shortcuts (keyboard), for Guess + +This game can be played with either the keyboard or the mouse. + +With the mouse, drag a coloured peg from the tray on the left-hand +side to its required position in the current guess; pegs may also be +dragged from current and past guesses to copy them elsewhere. To +remove a peg, drag it off its current position to somewhere invalid. + +Right-clicking in the current guess adds a \q{hold} marker; pegs +that have hold markers will be automatically added to the next guess +after marking. + +Alternatively, with the keyboard, the up and down cursor keys can be +used to select a peg colour, the left and right keys to select a +peg position, and the space bar or Enter key to place a peg of the +selected colour in the chosen position. \q{D} or Backspace removes a +peg, and \q{H} adds a hold marker. + +When the guess is complete, the smaller feedback pegs will be highlighted; +clicking on these (or moving the peg cursor to them with the arrow keys +and pressing the space bar or Enter key) will mark the current guess, +copy any held pegs to the next guess, and move the \q{current guess} +marker. + +If you correctly position all the pegs the solution will be displayed +below; if you run out of guesses (or select \q{Solve...}) the solution +will also be revealed. + +\H{guess-parameters} \I{parameters, for Guess}Guess parameters + +These parameters are available from the \q{Custom...} option on the +\q{Type} menu. The default game matches the parameters for the +board game \q{Mastermind}. + +\dt \e{Colours} + +\dd Number of colours the solution is chosen from; from 2 to 10 +(more is harder). + +\dt \e{Pegs per guess} + +\dd Number of pegs per guess (more is harder). + +\dt \e{Guesses} + +\dd Number of guesses you have to find the solution in (fewer is harder). + +\dt \e{Allow blanks} + +\dd Allows blank pegs to be given as part of a guess (makes it easier, because +you know that those will never be counted as part of the solution). This +is turned off by default. + +Note that this doesn't allow blank pegs in the solution; if you really wanted +that, use one extra colour. + +\dt \e{Allow duplicates} + +\dd Allows the solution (and the guesses) to contain colours more than once; +this increases the search space (making things harder), and is turned on by +default. + + +\C{pegs} \i{Pegs} + +\cfg{winhelp-topic}{games.pegs} + +A number of pegs are placed in holes on a board. You can remove a +peg by jumping an adjacent peg over it (horizontally or vertically) +to a vacant hole on the other side. Your aim is to remove all but one +of the pegs initially present. + +This game, best known as \q{Peg Solitaire}, is possibly one of the +oldest puzzle games still commonly known. + +\H{pegs-controls} \i{Pegs controls} + +\IM{Pegs controls} controls, for Pegs + +To move a peg, drag it with the mouse from its current position to +its final position. If the final position is exactly two holes away +from the initial position, is currently unoccupied by a peg, and +there is a peg in the intervening square, the move will be permitted +and the intervening peg will be removed. + +Vacant spaces which you can move a peg into are marked with holes. A +space with no peg and no hole is not available for moving at all: it +is an obstacle which you must work around. + + +\H{pegs-parameters} \I{parameters, for Pegs}Pegs 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 holes. + +\dt \e{Board type} + +\dd Controls whether you are given a board of a standard shape or a +randomly generated shape. The two standard shapes currently +supported are \q{Cross} and \q{Octagon} (also commonly known as the +English and European traditional board layouts respectively). +Selecting \q{Random} will give you a different board shape every +time (but always one that is known to have a solution). + + +\C{dominosa} \i{Dominosa} + +\cfg{winhelp-topic}{games.dominosa} + +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 +of numbers. + +This puzzle is widely credited to O. S. Adler, and takes part of its +name from those initials. + +\H{dominosa-controls} \i{Dominosa controls} + +\IM{Dominosa controls} controls, for Dominosa + +Left-clicking between any two adjacent numbers places a domino +covering them, or removes one if it is already present. Trying to +place a domino which overlaps existing dominoes will remove the ones +it overlaps. + +Right-clicking between two adjacent numbers draws a line between +them, which you can use to remind yourself that you know those two +numbers are \e{not} covered by a single domino. Right-clicking again +removes the line. + + +\H{dominosa-parameters} \I{parameters, for Dominosa}Dominosa parameters + +These parameters are available from the \q{Custom...} option on the +\q{Type} menu. + +\dt \e{Maximum number on dominoes} + +\dd Controls the size of the puzzle, by controlling the size of the +set of dominoes used to make it. Dominoes with numbers going up to N +will give rise to an (N+2) \by (N+1) rectangle; so, in particular, +the default value of 6 gives an 8\by\.7 grid. + +\dt \e{Ensure unique solution} + +\dd Normally, Dominosa will make sure that the puzzles it presents +have only one solution. Puzzles with ambiguous sections can be more +difficult and sometimes more subtle, so if you like you can turn off +this feature. Also, finding \e{all} the possible solutions can be an +additional challenge for an advanced player. Turning off this option +can also speed up puzzle generation. + + +\C{untangle} \i{Untangle} + +\cfg{winhelp-topic}{games.untangle} + +You are given a number of points, some of which have lines drawn +between them. You can move the points about arbitrarily; your aim is +to position the points so that no line crosses another. + +I originally saw this in the form of a Flash game called \i{Planarity} +\k{Planarity}, written by John Tantalo. + +\B{Planarity} \W{http://home.cwru.edu/~jnt5/Planarity}\cw{http://home.cwru.edu/~jnt5/Planarity} + +\H{untangle-controls} \i{Untangle controls} + +\IM{Untangle controls} controls, for Untangle + +To move a point, click on it with the left mouse button and drag it +into a new position. + +\H{untangle-parameters} \I{parameters, for Untangle}Untangle parameters + +There is only one parameter available from the \q{Custom...} option +on the \q{Type} menu: + +\dt \e{Number of points} + +\dd Controls the size of the puzzle, by specifying the number of +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.