chiark / gitweb /
Patch from James H to add keyboard control in Sixteen and Netslide
[sgt-puzzles.git] / puzzles.but
index 1e9e714af474589ebe45a52d5eb8662d8b45eed4..2e998f221f8b92837601ff6941e25b8e308e3013 100644 (file)
@@ -368,6 +368,29 @@ There are various other options which affect printing; see below.
 
 }
 
+\dt \cw{--save }\e{file-prefix} [ \cw{--save-suffix }\e{file-suffix} ]
+
+\dd If this option is specified, instead of a puzzle being
+displayed, saved-game files for one or more unsolved puzzles are
+written to files constructed from the supplied prefix and/or suffix.
+
+\lcont{
+
+If \c{--generate} has also been specified, the invented game IDs will
+be used to generate the printed output. Otherwise, a list of game IDs
+is expected on standard input (which can be descriptive or random
+seeds; see \k{common-id}), in the same format produced by
+\c{--generate}.
+
+For example:
+
+\c net --generate 12 --save game --save-suffix .sav
+
+will generate twelve Net saved-game files with the names
+\cw{game0.sav} to \cw{game11.sav}.
+
+}
+
 \dt \cw{--version}
 
 \dd Prints version information about the game, and then quits.
@@ -623,9 +646,13 @@ rather than just engineering.
 
 \H{sixteen-controls} \I{controls, for Sixteen}Sixteen controls
 
-This game is played with the mouse. Left-clicking on an arrow will
-move the appropriate row or column in the direction indicated.
-Right-clicking will move it in the opposite direction.
+Left-clicking on an arrow will move the appropriate row or column in
+the direction indicated.  Right-clicking will move it in the opposite
+direction.
+
+Alternatively, use the cursor keys to move the position indicator
+around the edge of the grid, and use the return key to move the
+row/column in the direction indicated. 
 
 (All the actions described in \k{common-actions} are also available.)
 
@@ -738,11 +765,19 @@ specification.
 
 \H{rectangles-controls} \I{controls, for Rectangles}Rectangles controls
 
-This game is played with the mouse.
+This game is played with the mouse or cursor keys.
 
-Left-click any edge to toggle it on or off, or click and drag to draw
-an entire rectangle (or line) on the grid in one go (removing any
-existing edges within that rectangle).
+Left-click any edge to toggle it on or off, or left-click and drag to draw
+an entire rectangle (or line) on the grid in one go (removing any existing
+edges within that rectangle). Right-clicking and dragging will allow you
+to erase the contents of a rectangle without affecting its edges. 
+
+Alternatively, use the cursor keys to move the position indicator
+around the board. Pressing the return key then allows you to use the
+cursor keys to drag a rectangle out from that position, and pressing
+the return key again completes the rectangle. Using the space bar
+instead of the return key allows you to erase the contents of a
+rectangle without affecting its edges, as above.
 
 When a rectangle of the correct size is completed, it will be shaded.
 
@@ -802,8 +837,8 @@ movement of Sixteen (see \k{sixteen}): you have a Net grid, but
 instead of rotating tiles back into place you have to slide them
 into place by moving a whole row at a time. 
 
-As in Sixteen, \I{controls, for Netslide}control is with the mouse.
-See \k{sixteen-controls}.
+As in Sixteen, \I{controls, for Netslide}control is with the mouse or
+cursor keys. See \k{sixteen-controls}.
 
 \I{parameters, for Netslide}The available game parameters have similar
 meanings to those in Net (see \k{net-params}) and Sixteen (see
@@ -911,7 +946,8 @@ 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.
+have pencil marks for multiple numbers in the same square. Squares
+containing filled-in numbers cannot also contain pencil marks.
 
 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
@@ -926,6 +962,12 @@ 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.
 
+Alternatively, use the cursor keys to move the mark around the grid.
+Pressing the return key toggles the mark (from a normal mark to a
+pencil mark), and typing a number in is entered in the square in the
+appropriate way; typing in a 0 or using the space bar will clear a
+filled square. 
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{solo-parameters} \I{parameters, for Solo}Solo parameters
@@ -1023,6 +1065,12 @@ turn, and so on if any of them also has no surrounding mines. This
 will be done for you automatically; so sometimes when you uncover a
 square, a whole new area will open up to be explored.
 
+You can also use the cursor keys to move around the minefield.
+Pressing the return key in a covered square uncovers it, and in an
+uncovered square will clear around it (so it acts as the left button),
+pressing the space bar in a covered square will place a flag
+(similarly, it acts as the right button).
+
 All the actions described in \k{common-actions} are also available.
 
 Even Undo is available, although you might consider it cheating to
@@ -1316,6 +1364,11 @@ 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.
 
+You can also use the cursor keys to move a position indicator around
+the board. Pressing the return key while over a peg, followed by a
+cursor key, will jump the peg in that direction (if that is a legal
+move).
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{pegs-parameters} \I{parameters, for Pegs}Pegs parameters
@@ -1605,6 +1658,10 @@ blank, and if you right-click repeatedly the square will change from
 blank to \cw{/} to \cw{\\} back to blank. (Therefore, you can play
 the game entirely with one button if you need to.)
 
+You can also use the cursor keys to move around the grid. Pressing the
+return or space keys will place a \cw{\\} or a \cw{/}, respectively,
+and will then cycle them as above.
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{slant-parameters} \I{parameters, for Slant}Slant parameters
@@ -1797,17 +1854,26 @@ Unreasonable puzzles may require guessing and backtracking.
 
 \cfg{winhelp-topic}{games.loopy}
 
-You are given a grid of dots. Your aim is to draw a single unbroken
+You are given a grid of dots, marked with yellow lines to indicate
+which dots you are allowed to connect directly together. Your aim is
+to use some subset of those yellow lines to draw a single unbroken
 loop from dot to dot within the grid.
 
-Some of the square spaces between the dots contain numbers. These
-numbers indicate how many of the four edges of that square are part
-of the loop. The loop you draw must correctly satisfy all of these
-clues to be considered a correct solution.
+Some of the spaces between the lines contain numbers. These numbers
+indicate how many of the lines around that space form part of the
+loop. The loop you draw must correctly satisfy all of these clues to
+be considered a correct solution.
+
+In the default mode, the dots are arranged in a grid of squares;
+however, you can also play on triangular or hexagonal grids, or even
+more exotic ones.
 
-Credit for this puzzle goes to \i{Nikoli} \k{nikoli-loopy}.
+Credit for the basic puzzle idea goes to \i{Nikoli}
+\k{nikoli-loopy}.
 
-Loopy was contributed to this collection by Mike Pinna.
+Loopy was originally contributed to this collection by Mike Pinna,
+and subsequently enhanced to handle various types of non-square grid
+by Lambros Lambrou.
 
 \B{nikoli-loopy}
 \W{http://www.nikoli.co.jp/puzzles/3/index-e.htm}\cw{http://www.nikoli.co.jp/puzzles/3/index-e.htm}
@@ -1817,12 +1883,14 @@ Loopy was contributed to this collection by Mike Pinna.
 
 \IM{Loopy controls} controls, for Loopy
 
-Click the left mouse button between two dots to add a line segment
-connecting them. Click again to remove that line segment.
+Click the left mouse button on a yellow line to turn it black,
+indicating that you think it is part of the loop. Click again to
+turn the line yellow again (meaning you aren't sure yet).
 
 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.
+the loop, you can click the right mouse button to remove it
+completely. Again, clicking a second time will turn the line back to
+yellow.
 
 (All the actions described in \k{common-actions} are also available.)
 
@@ -1833,7 +1901,20 @@ These parameters are available from the \q{Custom...} option on the
 
 \dt \e{Width}, \e{Height}
 
-\dd Size of grid in squares.
+\dd Size of grid, measured in number of regions across and down. For
+square grids, it's clear how this is counted; for other types of
+grid you may have to think a bit to see how the dimensions are
+measured.
+
+\dt \e{Grid type}
+
+\dd Allows you to choose between a selection of types of tiling.
+Some have all the faces the same but may have multiple different
+types of vertex (e.g. the \e{Cairo} or \e{Kites} mode); others have
+all the vertices the same but may have differnt types of face (e.g.
+the \e{Great Hexagonal}). The square, triangular and honeycomb grids
+are fully regular, and have all their vertices \e{and} faces the
+same; this makes them the least confusing to play.
 
 \dt \e{Difficulty}
 
@@ -1945,6 +2026,11 @@ 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.)
 
+You can also use the cursor keys to move around the grid. Pressing the
+return key over an empty square will place a tent, and pressing the
+space bar over an empty square will colour it green; either key will
+clear an occupied square.
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{tents-parameters} \I{parameters, for Tents}Tents parameters
@@ -2128,7 +2214,8 @@ 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.
+have pencil marks for multiple numbers in the same square. Squares
+containing filled-in numbers cannot also contain pencil marks.
 
 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
@@ -2143,6 +2230,17 @@ 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.
 
+As for Solo, the cursor keys can be used in conjunction with the digit
+keys to set numbers or pencil marks. You can also use the 'M' key to
+auto-fill every numeric hint, ready for removal as required, or the 'H'
+key to do the same but also to remove all obvious hints. 
+
+Alternatively, use the cursor keys to move the mark around the grid.
+Pressing the return key toggles the mark (from a normal mark to a
+pencil mark), and typing a number in is entered in the square in the
+appropriate way; typing in a 0 or using the space bar will clear a
+filled square. 
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{unequal-parameters} \I{parameters, for Unequal}Unequal parameters
@@ -2206,6 +2304,13 @@ them, or destroy them by dropping them off the edge of the grid.
 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.)
 
+You can also use the cursor keys to move around the grid squares and
+lines.  Pressing the return key when over a grid line will draw or
+clear its edge, as above. Pressing the return key when over a dot will
+pick up an arrow, to be dropped the nest time the return key is
+pressed; this can also be used to move existing arrows around, removing
+them by dropping them on a dot or another arrow.
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{galaxies-parameters} \I{parameters, for Galaxies}Galaxies parameters
@@ -2258,6 +2363,12 @@ If you make a mistake, click the mouse in the incorrect square and
 press 0, Space, Backspace or Enter to clear it again (or use the Undo
 feature).
 
+You can also move around the grid with the cursor keys; typing a digit will
+fill the square containing the cursor with that number, or typing 0, Space,
+or Enter will clear it. You can also select multiple squares for numbering
+or clearing by using the return key, before typing a digit to fill in the
+highlighted squares (as above).
+
 (All the actions described in \k{common-actions} are also available.)
 
 \H{filling-parameters} \I{parameters, for Filling}Filling parameters
@@ -2271,8 +2382,9 @@ grid, through the \q{Type} menu.
 
 This software is \i{copyright} 2004-2008 Simon Tatham.
 
-Portions copyright Richard Boulton, James Harvey, Mike Pinna and
-Jonas K\u00F6{oe}lker.
+Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
+K\u00F6{oe}lker, Dariusz Olszewski, Michael Schierl and Lambros
+Lambrou.
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation files