X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/3c9388ef66ea155d1623d3d68d6733454edbe8b2..2f30b9e08c8393c28e7af9460ed6340c683a2c3d:/puzzles.but diff --git a/puzzles.but b/puzzles.but index 0f989be..ed2babb 100644 --- a/puzzles.but +++ b/puzzles.but @@ -24,7 +24,7 @@ This is a collection of small one-player puzzle games. -\copyright This manual is copyright 2004-5 Simon Tatham. All rights +\copyright This manual is copyright 2004-2007 Simon Tatham. All rights reserved. You may distribute this documentation under the MIT licence. See \k{licence} for the licence text in full. @@ -41,7 +41,7 @@ else you were doing. And I was also annoyed that every time I found a good game on (say) \i{Unix}, it wasn't available the next time I was sitting at a \i{Windows} machine, or vice versa; so I arranged that everything in my personal puzzle collection will happily run on -both, and have more recently done a port to Mac OS X as well. When I +both, and have more recently done a port to \i{Mac OS X} as well. When I find (or perhaps invent) further puzzle games that I like, they'll be added to this collection and will immediately be available on both platforms. And if anyone feels like writing any other front @@ -83,7 +83,7 @@ These actions are all available from the \I{Game menu}\q{Game} menu and via \I{keys}keyboard shortcuts, in addition to any game-specific actions. -(On Mac OS X, to conform with local user interface standards, these +(On \i{Mac OS X}, to conform with local user interface standards, these actions are situated on the \I{File menu}\q{File} and \I{Edit menu}\q{Edit} menus instead.) @@ -105,7 +105,7 @@ menu}\q{Edit} menus instead.) \lcont{ -The Load and Save operations should preserve your entire game +The Load and Save operations preserve your entire game history (so you can save, reload, and still Undo and Redo things you had done before saving). @@ -174,7 +174,7 @@ recreate it later, or recreate it in somebody else's copy of the same puzzle. The \q{\i{Specific}} and \q{\i{Random Seed}} options from the -\I{Game menu}\q{Game} menu (or the \q{File} menu, on Mac OS X) each +\I{Game menu}\q{Game} menu (or the \q{File} menu, on \i{Mac OS X}) each show a piece of text (a \q{game ID}) which is sufficient to reconstruct precisely the same game at a later date. @@ -265,7 +265,7 @@ following sections. \H{common-cmdline} Specifying game parameters on the \i{command line} -(This section does not apply to the Mac OS X version.) +(This section does not apply to the \i{Mac OS X} version.) The games in this collection deliberately do not ever save information on to the computer they run on: they have no high score @@ -273,9 +273,9 @@ tables and no saved preferences. (This is because I expect at least some people to play them at work, and those people will probably appreciate leaving as little evidence as possible!) -However, if you do want to arrange for one of these games to default -to a particular set of parameters, you can specify them on the -command line. +However, if you do want to arrange for one of these games to +\I{default parameters, specifying}default to a particular set of +parameters, you can specify them on the command line. The easiest way to do this is to set up the parameters you want using the \q{Type} menu (see \k{common-type}), and then to select @@ -304,19 +304,28 @@ 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.) -\H{common-unix-cmdline} Unix \i{command-line} options +\H{common-unix-cmdline} \i{Unix} \i{command-line} options (This section only applies to the Unix port.) -In addition to specifying game parameters on the command line (see -\k{common-cmdline}), you can also specify various options: +In addition to being able to specify game parameters on the command +line (see \k{common-cmdline}), there are various other options: + +\dt \cw{--game} + +\dt \cw{--load} + +\dd These options respectively determine whether the command-line +argument is treated as specifying game parameters or a \i{save} file +to \i{load}. Only one should be specified. If neither of these options +is specified, a guess is made based on the format of the argument. \dt \cw{--generate }\e{n} \dd If this option is specified, instead of a puzzle being displayed, -a number of descriptive game IDs will be invented and printed on -standard output. This is useful for gaining access to the game -generation algorithms without necessarily using the frontend. +a number of descriptive game IDs will be \I{generating game IDs}invented +and printed on standard output. This is useful for gaining access to +the game generation algorithms without necessarily using the frontend. \lcont{ @@ -875,12 +884,18 @@ additional digits will be letters of the alphabet. For example, if you select 3\by\.4 then the digits which go in your grid will be 1 to 9, plus \cq{a}, \cq{b} and \cq{c}. -I first saw this puzzle in \i{Nikoli} \k{nikoli-solo}, although it's also -been popularised by various newspapers under the name \q{Sudoku} or -\q{Su Doku}. +I first saw this puzzle in \i{Nikoli} \k{nikoli-solo}, although it's +also been popularised by various newspapers under the name +\q{Sudoku} or \q{Su Doku}. Howard Garns is considered the inventor +of the modern form of the puzzle, and it was first published in +\e{Dell Pencil Puzzles and Word Games}. A more elaborate treatment +of the history of the puzzle can be found on Wikipedia +\k{wikipedia-solo}. \B{nikoli-solo} \W{http://www.nikoli.co.jp/puzzles/1/index_text-e.htm}\cw{http://www.nikoli.co.jp/puzzles/1/index_text-e.htm} +\B{wikipedia-solo} \W{http://en.wikipedia.org/wiki/Sudoku}\cw{http://en.wikipedia.org/wiki/Sudoku} + \H{solo-controls} \I{controls, for Solo}Solo controls To play Solo, simply click the mouse in any empty square and then @@ -1180,9 +1195,9 @@ 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. +a board game \q{\i{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. @@ -1693,7 +1708,7 @@ different colours. Two regions which meet at only one \e{point} (i.e. are diagonally separated) may be the same colour. I believe this puzzle is original; I've never seen an implementation -of it anywhere else. The concept of a four-colouring puzzle was +of it anywhere else. The concept of a \i{four-colouring} puzzle was suggested by Owen Dunn; credit must also go to Nikoli and to Verity Allan for inspiring the train of thought that led to me realising Owen's suggestion was a viable puzzle. Thanks also to Gareth Taylor @@ -1801,20 +1816,11 @@ These parameters are available from the \q{Custom...} option on the \dd Size of grid in squares. -\dt \e{Recursion depth} - -\dd Determines how much guesswork and backtracking you will need to -do to solve the puzzle. When this is set to zero (as it is for all -of the \q{Easy} options in the menu), you should always be able to -deduce the state of an edge without having to guess. If you increase -it, you will have to guess more and more. - -\lcont{ +\dt \e{Difficulty} -Setting a high value for this option is liable to consume a lot of -CPU time and memory. Be warned! - -} +\dd Controls the difficulty of the generated puzzle. +\#{FIXME: what distinguishes Easy, Medium, and Hard? In particular, +when are backtracking/guesswork required, if ever?} \C{inertia} \i{Inertia} @@ -2067,15 +2073,145 @@ possible islands; low expansion factors can create lots of tightly-packed islands. +\C{unequal} \i{Unequal} + +\cfg{winhelp-topic}{games.unequal} + +You have a square grid; each square may contain a digit from 1 to +the size of the grid, and some squares have greater-than signs between +them. Your aim is to fully populate the grid with numbers such that: + +\b Each row contains only one occurrence of each digit + +\b Each column contains only one occurrence of each digit + +\b All the greater-than signs are satisfied. + +In \q{Trivial} mode, there are no greater-than signs; the puzzle is +to solve the \i{Latin square} only. + +At the time of writing, this puzzle is appearing in the Guardian +weekly under the name \q{\i{Futoshiki}}. + +Unequal was contributed to this collection by James Harvey. + +\H{unequal-controls} \i{Unequal controls} + +\IM{Unequal controls} controls, for Unequal + +Unequal shares much of its control system with Solo. + +To play Unequal, simply click the mouse in any empty square and then +type a digit or letter on the keyboard to fill that square. If you +make a mistake, click the mouse in the incorrect square and press +Space to clear it again (or use the Undo feature). + +If you \e{right}-click in a square and then type a number, that +number will be entered in the square as a \q{pencil mark}. You can +have pencil marks for multiple numbers in the same square. + +The game pays no attention to pencil marks, so exactly what you use +them for is up to you: you can use them as reminders that a +particular square needs to be re-examined once you know more about a +particular number, or you can use them as lists of the possible +numbers in a given square, or anything else you feel like. + +To erase a single pencil mark, right-click in the square and type +the same number again. + +All pencil marks in a square are erased when you left-click and type +a number, or when you left-click and press space. Right-clicking and +pressing space will also erase pencil marks. + +(All the actions described in \k{common-actions} are also available.) + +\H{unequal-parameters} \I{parameters, for Unequal}Unequal parameters + +These parameters are available from the \q{Custom...} option on the +\q{Type} menu. + +\dt \e{Size (s*s)} + +\dd Size of grid. + +\dt \e{Difficulty} + +\dd Controls the difficulty of the generated puzzle. At Trivial +level, there are no greater-than signs (the puzzle is to solve the +Latin square only); at Recursive level backtracking will be required +(but the solution should still be unique); the levels in between +require increasingly complex reasoning to avoid having to backtrack. + + + +\C{galaxies} \i{Galaxies} + +\cfg{winhelp-topic}{games.galaxies} + +You have a rectangular grid containing a number of dots. Your aim is +to draw edges along the grid lines which divide the rectangle into +regions in such a way that every region is 180\u00b0{-degree} +rotationally symmetric, and contains exactly one dot which is +located at its centre of symmetry. + +This puzzle was invented by \i{Nikoli} \k{nikoli-galaxies}, under +the name \q{Tentai Show}; its name is commonly translated into +English as \q{Spiral Galaxies}. + +\B{nikoli-galaxies} \W{http://www.nikoli.co.jp/en/puzzles/astronomical_show/}\cw{http://www.nikoli.co.jp/en/puzzles/astronomical_show/} + +\H{galaxies-controls} \i{Galaxies controls} + +\IM{Galaxies controls} controls, for Galaxies + +Left-click on any grid line to draw an edge if there isn't one +already, or to remove one if there is. When you create a valid +region (one which is closed, contains exactly one dot, is +180\u00b0{-degree} symmetric about that dot, and contains no +extraneous edges inside it) it will be highlighted automatically; so +your aim is to have the whole grid highlighted in that way. + +During solving, you might know that a particular grid square belongs +to a specific dot, but not be sure of where the edges go and which +other squares are connected to the dot. In order to mark this so you +don't forget, you can right-click on the dot and drag, which will +create an arrow marker pointing at the dot. Drop that in a square of +your choice and it will remind you which dot it's associated with. +You can also right-click on existing arrows to pick them up and move +them, or destroy them by dropping them off the edge of the grid. +(Also, if you're not sure which dot an arrow is pointing at, you can +pick it up and move it around to make it clearer. It will swivel +constantly as you drag it, to stay pointed at its parent dot.) + +(All the actions described in \k{common-actions} are also available.) + +\H{galaxies-parameters} \I{parameters, for Galaxies}Galaxies 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, and the \q{Recursive} +difficulty level may require backtracking. + + + + \A{licence} \I{MIT licence}\ii{Licence} -This software is \i{copyright} 2004-2005 Simon Tatham. +This software is \i{copyright} 2004-2007 Simon Tatham. Portions copyright Richard Boulton, James Harvey and Mike Pinna. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, +(the \q{Software}), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, @@ -2084,7 +2220,7 @@ subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +THE SOFTWARE IS PROVIDED \q{AS IS}, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS @@ -2095,6 +2231,15 @@ SOFTWARE. \IM{command-line}{command line} command line +\IM{default parameters, specifying} default parameters, specifying +\IM{default parameters, specifying} preferences, specifying default + +\IM{Unix} Unix +\IM{Unix} Linux + +\IM{generating game IDs} generating game IDs +\IM{generating game IDs} game ID, generating + \IM{specific} \q{Specific}, menu option \IM{custom} \q{Custom}, menu option