Add James Harvey's excellent new puzzle, `Galaxies'.
[sgt/puzzles] / puzzles.but
index 0f989be..db59c5e 100644 (file)
@@ -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,9 +2073,139 @@ 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 'Tentai Show'; its name is commonly translated into English
+as '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 '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.
 
@@ -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