X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/6193da8dac4ee67f89c5686c3c8e8ee253f07a0e..5b0ab052105670986ec973f035b758add4d25481:/puzzles.but diff --git a/puzzles.but b/puzzles.but index 9013006..878a186 100644 --- a/puzzles.but +++ b/puzzles.but @@ -111,6 +111,13 @@ had done before saving). } +\dt \ii\e{Print} + +\dd Where supported (currently only on Windows), brings up a dialog +allowing you to print an arbitrary number of puzzles randomly +generated from the current parameters, optionally including the +current puzzle. + \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 @@ -295,6 +302,7 @@ than by pasting it into the game ID selection box. then some options, such as the difficulty level in Solo, will be missing. See \k{common-id} for more details on this.) + \C{net} \i{Net} \cfg{winhelp-topic}{games.net} @@ -406,6 +414,7 @@ feature and risk having ambiguous puzzles. (Also, finding \e{all} the possible solutions can be an additional challenge for an advanced player.) + \C{cube} \i{Cube} \cfg{winhelp-topic}{games.cube} @@ -714,6 +723,7 @@ meanings to those in Net (see \k{net-params}) and Sixteen (see Netslide was contributed to this collection by Richard Boulton. + \C{pattern} \i{Pattern} \cfg{winhelp-topic}{games.pattern} @@ -840,8 +850,9 @@ particular, on difficulty levels \q{Trivial} and \q{Basic} there will be a square you can fill in with a single number at all times, whereas at \q{Intermediate} level and beyond you will have to make partial deductions about the \e{set} of squares a number could be in -(or the set of numbers that could be in a square). At -\q{Unreasonable} level, even this is not enough, and you will +(or the set of numbers that could be in a square). +\#{Advanced, Extreme?} +At \q{Unreasonable} level, even this is not enough, and you will eventually have to make a guess, and then backtrack if it turns out to be wrong. @@ -983,6 +994,8 @@ The cursor keys move a cursor around the grid. Pressing the Space or Enter keys while the cursor is in an unselected region selects it; pressing Space or Enter again removes it as above. +(All the actions described in \k{common-actions} are also available.) + \H{samegame-parameters} \I{parameters, for Same Game}Same Game parameters These parameters are available from the \q{Custom...} option on the @@ -1054,6 +1067,8 @@ 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.) +(All the actions described in \k{common-actions} are also available.) + \H{flip-parameters} \I{parameters, for flip}Flip parameters These parameters are available from the \q{Custom...} option on the @@ -1125,6 +1140,8 @@ 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. +(All the actions described in \k{common-actions} are also available.) + \H{guess-parameters} \I{parameters, for Guess}Guess parameters These parameters are available from the \q{Custom...} option on the @@ -1169,8 +1186,8 @@ 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. +This game, best known as \I{Solitaire, Peg}\q{Peg Solitaire}, is +possibly one of the oldest puzzle games still commonly known. \H{pegs-controls} \i{Pegs controls} @@ -1186,6 +1203,7 @@ 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. +(All the actions described in \k{common-actions} are also available.) \H{pegs-parameters} \I{parameters, for Pegs}Pegs parameters @@ -1234,6 +1252,7 @@ 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. +(All the actions described in \k{common-actions} are also available.) \H{dominosa-parameters} \I{parameters, for Dominosa}Dominosa parameters @@ -1277,6 +1296,8 @@ I originally saw this in the form of a Flash game called \i{Planarity} To move a point, click on it with the left mouse button and drag it into a new position. +(All the actions described in \k{common-actions} are also available.) + \H{untangle-parameters} \I{parameters, for Untangle}Untangle parameters There is only one parameter available from the \q{Custom...} option @@ -1454,12 +1475,9 @@ Credit for this puzzle goes to \i{Nikoli} \k{nikoli-slant}. \W{http://www.nikoli.co.jp/puzzles/39/index.htm}\cw{http://www.nikoli.co.jp/puzzles/39/index.htm} (in Japanese) - \H{slant-controls} \i{Slant controls} \IM{Slant controls} controls, for Slant -\IM{Slant controls} keys, for Slant -\IM{Slant controls} shortcuts (keyboard), for Slant Left-clicking in a blank square will place a \cw{\\} in it (a line leaning to the left, i.e. running from the top left of the square to @@ -1531,8 +1549,6 @@ Light Up was contributed to this collection by James Harvey. \H{lightup-controls} \i{Light Up controls} \IM{Light Up controls} controls, for Light Up -\IM{Light Up controls} keys, for Light Up -\IM{Light Up controls} shortcuts (keyboard), for Light Up Left-clicking in a non-black square will toggle the presence of a light in that square. Right-clicking in a non-black square toggles a mark there to aid @@ -1547,6 +1563,7 @@ do not (or cannot) have the right number of lights next to them. Thus, the grid is solved when all non-black squares have yellow highlights and there are no red lights. +(All the actions described in \k{common-actions} are also available.) \H{lightup-parameters} \I{parameters, for Light Up}Light Up parameters @@ -1603,15 +1620,13 @@ Allan for inspiring the train of thought that led to me realising Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor for many detailed suggestions. - \H{map-controls} \i{Map controls} \IM{Map controls} controls, for Map -\IM{Map controls} keys, for Map -\IM{Map controls} shortcuts (keyboard), for Map -To colour a region, click on an existing region of the desired -colour and drag that colour into the new region. +To colour a region, click the left mouse button on an existing +region of the desired colour and drag that colour into the new +region. (The program will always ensure the starting puzzle has at least one region of each colour, so that this is always possible!) @@ -1619,6 +1634,20 @@ region of each colour, so that this is always possible!) If you need to clear a region, you can drag from an empty region, or from the puzzle boundary if there are no empty regions left. +Dragging a colour using the \e{right} mouse button will stipple the +region in that colour, which you can use as a note to yourself that +you think the region \e{might} be that colour. A region can contain +stipples in multiple colours at once. (This is often useful at the +harder difficulty levels.) + +If you press L during play, the game will toggle display of a number +in each region of the map. This is useful if you want to discuss a +particular puzzle instance with a friend \dash having an unambiguous +name for each region is much easier than trying to refer to them all +by names such as \q{the one down and right of the brown one on the +top border}. + +(All the actions described in \k{common-actions} are also available.) \H{map-parameters} \I{parameters, for Map}Map parameters @@ -1636,10 +1665,19 @@ These parameters are available from the \q{Custom...} option on the \dt \e{Difficulty} \dd In \q{Easy} mode, there should always be at least one region -whose colour can be determined trivially. In \q{Normal} mode, you -will have to use more complex logic to deduce the colour of some -regions. However, it will always be possible without having to -guess or backtrack. +whose colour can be determined trivially. In \q{Normal} and \q{Hard} +modes, you will have to use increasingly complex logic to deduce the +colour of some regions. However, it will always be possible without +having to guess or backtrack. + +\lcont{ + +In \q{Unreasonable} mode, the program will feel free to generate +puzzles which are as hard as it can possibly make them: the only +constraint is that they should still have a unique solution. Solving +Unreasonable puzzles may require guessing and backtracking. + +} \C{loopy} \i{Loopy} @@ -1662,12 +1700,9 @@ Loopy was contributed to this collection by Mike Pinna. \W{http://www.nikoli.co.jp/puzzles/3/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/3/index-e.htm} (beware of Flash) - \H{loopy-controls} \i{Loopy controls} \IM{Loopy controls} controls, for Loopy -\IM{Loopy controls} keys, for Loopy -\IM{Loopy controls} shortcuts (keyboard), for Loopy Click the left mouse button between two dots to add a line segment connecting them. Click again to remove that line segment. @@ -1676,6 +1711,7 @@ If you are sure that a particular line segment is \e{not} part of the loop, you can click the right mouse button to add a small cross indicating this. Click again to remove the cross. +(All the actions described in \k{common-actions} are also available.) \H{loopy-parameters} \I{parameters, for Loopy}Loopy parameters @@ -1702,6 +1738,256 @@ CPU time and memory. Be warned! } +\C{inertia} \i{Inertia} + +\cfg{winhelp-topic}{games.inertia} + +You are a small green ball sitting in a grid full of obstacles. Your +aim is to collect all the gems without running into any mines. + +You can move the ball in any orthogonal \e{or diagonal} direction. +Once the ball starts moving, it will continue until something stops +it. A wall directly in its path will stop it (but if it is moving +diagonally, it will move through a diagonal gap between two other +walls without stopping). Also, some of the squares are \q{stops}; +when the ball moves on to a stop, it will stop moving no matter what +direction it was going in. Gems do \e{not} stop the ball; it picks +them up and keeps on going. + +Running into a mine is fatal. Even if you picked up the last gem in +the same move which then hit a mine, the game will count you as dead +rather than victorious. + +This game was originally implemented for Windows by Ben Olmstead +\k{bem}, who was kind enough to release his source code on request +so that it could be re-implemented for this collection. + +\B{bem} \W{http://xn13.com/}\cw{http://xn13.com/} + +\H{inertia-controls} \i{Inertia controls} + +\IM{Inertia controls} controls, for Inertia +\IM{Inertia controls} keys, for Inertia +\IM{Inertia controls} shortcuts (keyboard), for Inertia + +You can move the ball in any of the eight directions using the +numeric keypad. Alternatively, if you click the left mouse button on +the grid, the ball will begin a move in the general direction of +where you clicked. + +If you use the \q{Solve} function on this game, the program will +compute a path through the grid which collects all the remaining +gems and returns to the current position. A hint arrow will appear +on the ball indicating the direction in which you should move to +begin on this path. If you then move in that direction, the arrow +will update to indicate the next direction on the path. You can also +press Space to automatically move in the direction of the hint +arrow. If you move in a different direction from the one shown by +the arrow, the hint arrows will stop appearing because you have +strayed from the provided path; you can then use \q{Solve} again to +generate a new path if you want to. + +All the actions described in \k{common-actions} are also available. +In particular, if you do run into a mine and die, you can use the +Undo function and resume playing from before the fatal move. The +game will keep track of the number of times you have done this. + +\H{inertia-parameters} \I{parameters, for Inertia}Inertia 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. + + +\C{tents} \i{Tents} + +\cfg{winhelp-topic}{games.tents} + +You have a grid of squares, some of which contain trees. Your aim is +to place tents in some of the remaining squares, in such a way that +the following conditions are met: + +\b There are exactly as many tents as trees. + +\b The tents and trees can be matched up in such a way that each +tent is directly adjacent (horizontally or vertically, but not +diagonally) to its own tree. However, a tent may be adjacent to +other trees as well as its own. + +\b No two tents are adjacent horizontally, vertically \e{or +diagonally}. + +\b The number of tents in each row, and in each column, matches the +numbers given round the sides of the grid. + +This puzzle can be found in several places on the Internet, and was +brought to my attention by e-mail. I don't know who I should credit +for inventing it. + +\H{tents-controls} \i{Tents controls} + +\IM{Tents controls} controls, for Tents + +Left-clicking in a blank square will place a tent in it. +Right-clicking in a blank square will colour it green, indicating +that you are sure it \e{isn't} a tent. Clicking either button in an +occupied square will clear it. + +If you \e{drag} with the right button along a row or column, every +blank square in the region you cover will be turned green, and no +other squares will be affected. (This is useful for clearing the +remainder of a row once you have placed all its tents.) + +(All the actions described in \k{common-actions} are also available.) + +\H{tents-parameters} \I{parameters, for Tents}Tents 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. + +\dt \e{Difficulty} + +\dd Controls the difficulty of the generated puzzle. More difficult +puzzles require more complex deductions, but at present none of the +available difficulty levels requires guesswork or backtracking. + + +\C{bridges} \i{Bridges} + +\cfg{winhelp-topic}{games.bridges} + +You have a set of islands distributed across the playing area. Each +island contains a number. Your aim is to connect the islands +together with bridges, in such a way that: + +\b Bridges run horizontally or vertically. + +\b The number of bridges terminating at any island is equal to the +number written in that island. + +\b Two bridges may run in parallel between the same two islands, but +no more than two may do so. + +\b No bridge crosses another bridge. + +\b All the islands are connected together. + +There are some configurable alternative modes, which involve +changing the parallel-bridge limit to something other than 2, and +introducing the additional constraint that no sequence of bridges +may form a loop from one island back to the same island. The rules +stated above are the default ones. + +Credit for this puzzle goes to \i{Nikoli} \k{nikoli-bridges}. + +Bridges was contributed to this collection by James Harvey. + +\B{nikoli-bridges} +\W{http://www.nikoli.co.jp/puzzles/14/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/14/index-e.htm} + +\H{bridges-controls} \i{Bridges controls} + +\IM{Bridges controls} controls, for Bridges + +To place a bridge between two islands, click the mouse down on one +island and drag it towards the other. You do not need to drag all +the way to the other island; you only need to move the mouse far +enough for the intended bridge direction to be unambiguous. (So you +can keep the mouse near the starting island and conveniently throw +bridges out from it in many directions.) + +Doing this again when a bridge is already present will add another +parallel bridge. If there are already as many bridges between the +two islands as permitted by the current game rules (i.e. two by +default), the same dragging action will remove all of them. + +If you want to remind yourself that two islands definitely \e{do +not} have a bridge between them, you can right-drag between them in +the same way to draw a \q{non-bridge} marker. + +If you think you have finished with an island (i.e. you have placed +all its bridges and are confident that they are in the right +places), you can mark the island as finished by left-clicking on it. +This will highlight it and all the bridges connected to it, and you +will be prevented from accidentally modifying any of those bridges +in future. Left-clicking again on a highlighted island will unmark +it and restore your ability to modify it. + +Violations of the puzzle rules will be marked in red: + +\b An island with too many bridges will be highlighted in red. + +\b An island with too few bridges will be highlighted in red if it +is definitely an error (as opposed to merely not being finished +yet): if adding enough bridges would involve having to cross another +bridge or remove a non-bridge marker, or if the island has been +highlighted as complete. + +\b A group of islands and bridges may be highlighted in red if it is +a closed subset of the puzzle with no way to connect it to the rest +of the islands. For example, if you directly connect two 1s together +with a bridge and they are not the only two islands on the grid, +they will light up red to indicate that such a group cannot be +contained in any valid solution. + +\b If you have selected the (non-default) option to disallow loops +in the solution, a group of bridges which forms a loop will be +highlighted. + +(All the actions described in \k{common-actions} are also available.) + +\H{bridges-parameters} \I{parameters, for Bridges}Bridges 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. + +\dt \e{Difficulty} + +\dd Difficulty level of puzzle. + +\dt \e{Allow loops} + +\dd This is set by default. If cleared, puzzles will be generated in +such a way that they are always soluble without creating a loop, and +solutions which do involve a loop will be disallowed. + +\dt \e{Max. bridges per direction} + +\dd Maximum number of bridges in any particular direction. The +default is 2, but you can change it to 1, 3 or 4. In general, fewer +is easier. + +\dt \e{%age of island squares} + +\dd Gives a rough percentage of islands the generator will try and +lay before finishing the puzzle. Certain layouts will not manage to +lay enough islands; this is an upper bound. + +\dt \e{Expansion factor (%age)} + +\dd The grid generator works by picking an existing island at random +(after first creating an initial island somewhere). It then decides +on a direction (at random), and then works out how far it could +extend before creating another island. This parameter determines how +likely it is to extend as far as it can, rather than choosing +somewhere closer. + +High expansion factors usually mean easier puzzles with fewer +possible islands; low expansion factors can create lots of +tightly-packed islands. + + \A{licence} \I{MIT licence}\ii{Licence} This software is \i{copyright} 2004-2005 Simon Tatham.