Move various printf()s after declarations.
[sgt/puzzles] / puzzles.but
index 4a42eb6..00239b2 100644 (file)
@@ -22,7 +22,7 @@
 
 This is a collection of small one-player puzzle games.
 
 
 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.
 
 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.)
 
 
 \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
 \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 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
 \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
@@ -1011,7 +1029,11 @@ change when you flip it.
 \IM{Flip controls} keys, for Flip
 \IM{Flip controls} shortcuts (keyboard), 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 mark some of
 the squares in red. If you click once in every square with a red
 
 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
@@ -1047,11 +1069,11 @@ 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
 certain number of guesses. 
 
 Each guess gets marked with the number of correctly-coloured pegs
-in the correct places (in red), and also the number of
-correctly-coloured pegs in the wrong places. 
+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
 
 This game is also known (and marketed, by Hasbro, mainly) as
-a board game `Mastermind', with 6 colours, 4 pegs per row, and 10 guesses.
+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. 
 
 However, this version allows custom settings of number of colours
 (up to 10), number of pegs per row, and number of guesses. 
 
@@ -1063,27 +1085,38 @@ Guess was contributed to this collection by James Harvey.
 \IM{Guess controls} keys, for Guess
 \IM{Guess controls} shortcuts (keyboard), for Guess
 
 \IM{Guess controls} keys, for Guess
 \IM{Guess controls} shortcuts (keyboard), for Guess
 
-Drag a peg from the tray on the left-hand side to its required
-position in the current guess; pegs may also be dragged from the 
-current guess to copy them elsewhere.
+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 'hold' marker; pegs
+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.
 
 that have hold markers will be automatically added to the next guess
 after marking.
 
-When the guess is complete, the feedback pegs will be highlighted;
-clicking on these will mark the current guess, copy any held pegs
-to the next guess, and move the 'current guess' marker.
+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
 
 If you correctly position all the pegs the solution will be displayed
-below; if you run out of guesses (or select 'Solve...') the solution
-will also be revealed. 
+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
+\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 
 
 These parameters are available from the \q{Custom...} option on the
 \q{Type} menu. The default game matches the parameters for the 
-board game 'Mastermind'
+board game \q{Mastermind}
 
 \dt \e{Colours}
 
 
 \dt \e{Colours}
 
@@ -1114,6 +1147,52 @@ this increases the search space (making things harder), and is turned on by
 default.
 
 
 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).
+
+
 \A{licence} \I{MIT licence}\ii{Licence}
 
 This software is \i{copyright} 2004-2005 Simon Tatham.
 \A{licence} \I{MIT licence}\ii{Licence}
 
 This software is \i{copyright} 2004-2005 Simon Tatham.