Stop the analysis pass in Loopy's redraw routine from being
[sgt/puzzles] / puzzles.but
index c96eca4..a676207 100644 (file)
@@ -30,7 +30,7 @@
 
 This is a collection of small one-player puzzle games.
 
-\copyright This manual is copyright 2004-2010 Simon Tatham. All rights
+\copyright This manual is copyright 2004-2012 Simon Tatham. All rights
 reserved. You may distribute this documentation under the MIT licence.
 See \k{licence} for the licence text in full.
 
@@ -298,7 +298,7 @@ For example: if you run Cube (see \k{cube}), select \q{Octahedron}
 from the \q{Type} menu, and then go to the game ID selection, you
 will see a string of the form \cq{o2x2#338686542711620}. Take only
 the part before the hash (\cq{o2x2}), and start Cube with that text
-on the command line: \cq{cube o2x2}.
+on the command line: \cq{PREFIX-cube o2x2}.
 
 If you copy the \e{entire} game ID on to the command line, the game
 will start up in the specific game that was described. This is
@@ -364,7 +364,7 @@ seeds; see \k{common-id}), in the same format produced by
 
 For example:
 
-\c net --generate 12 --print 2x3 7x7w | lpr
+\c PREFIX-net --generate 12 --print 2x3 7x7w | lpr
 
 will generate two pages of printed Net puzzles (each of which will
 have a 7\by\.7 wrapping grid), and pipe the output to the \c{lpr}
@@ -390,7 +390,7 @@ seeds; see \k{common-id}), in the same format produced by
 
 For example:
 
-\c net --generate 12 --save game --save-suffix .sav
+\c PREFIX-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}.
@@ -1965,7 +1965,7 @@ measured.
 \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.
+all the vertices the same but may have different 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.
@@ -2493,10 +2493,10 @@ either way round, though.
 block of size two and means that one digit divided by the other is
 equal to the given amount.
 
-Note that a block may contain more than one digit the same (provided
-the identical ones are not in the same row and column). This rule is
-precisely the opposite of the rule in Solo's \q{Killer} mode (see
-\k{solo}).
+Note that a block may contain the same digit more than once
+(provided the identical ones are not in the same row and column).
+This rule is precisely the opposite of the rule in Solo's \q{Killer}
+mode (see \k{solo}).
 
 }
 
@@ -2682,12 +2682,12 @@ Singles was contributed to this collection by James Harvey.
 \IM{Singles controls} controls, for Singles
 
 Left-clicking on an empty square will colour it black; left-clicking again 
-will replace the number. Right-clicking will add a circle (useful for 
+will restore the number. Right-clicking will add a circle (useful for 
 indicating that a cell is definitely not black). 
 
 You can also use the cursor keys to move around the grid. Pressing the
 return or space keys will turn a square black or add a circle respectively,
-and pressing the key again will replace the number or remove the circle.
+and pressing the key again will restore the number or remove the circle.
 
 (All the actions described in \k{common-actions} are also available.)
 
@@ -2718,8 +2718,8 @@ negative poles contained in certain columns and rows.
 
 Your aim is to correctly place the magnets and blank dominoes such that
 all the clues are satisfied, with the additional constraint that no two
-similar magnetic poles may be orgothonally adjacent (since they repel).
-Neutral poles do not repel, and can be adjacacent to any other pole. 
+similar magnetic poles may be orthogonally adjacent (since they repel).
+Neutral poles do not repel, and can be adjacent to any other pole. 
 
 Credit for this puzzle goes to \i{Janko} \k{janko-magnets}.
 
@@ -2739,8 +2739,8 @@ click removes the magnet.
 
 Right-clicking on an empty square places a blank domino there.
 Right-clicking again places two question marks on the domino, signifying
-'this cannot be blank' (which can be useful to note deductions while
-solving, and right-clicking again empties the domino. 
+\q{this cannot be blank} (which can be useful to note deductions while
+solving), and right-clicking again empties the domino. 
 
 You can also use the cursor keys to move a cursor around the grid. 
 Pressing the return key will lay a domino with a positive pole at that
@@ -2760,7 +2760,7 @@ These parameters are available from the \q{Custom...} option on the
 \dd Size of grid in squares. There will be half \e{Width} \by \e{Height}
 dominoes in the grid: if this number is odd then one square will be blank.
 
-(Grids with at least one odd dimension tend to be easier to solve)
+(Grids with at least one odd dimension tend to be easier to solve.)
 
 \dt \e{Difficulty}
 
@@ -2774,14 +2774,340 @@ row/column counts.
 time, making the puzzle more difficult.
 
 
+\C{signpost} \i{Signpost}
+
+\cfg{winhelp-topic}{games.signpost}
+
+You have a grid of squares; each square (except the last one)
+contains an arrow, and some squares also contain numbers. Your job
+is to connect the squares to form a continuous list of numbers
+starting at 1 and linked in the direction of the arrows \dash so the
+arrow inside the square with the number 1 will point to the square
+containing the number 2, which will point to the square containing
+the number 3, etc. Each square can be any distance away from the
+previous one, as long as it is somewhere in the direction of the
+arrow.
+
+By convention the first and last numbers are shown; one or more
+interim numbers may also appear at the beginning. 
+
+Credit for this puzzle goes to \i{Janko} \k{janko-arrowpath}, who call it
+\q{Pfeilpfad} (\q{arrow path}).
+
+Signpost was contributed to this collection by James Harvey.
+
+\B{janko-arrowpath}
+\W{http://janko.at/Raetsel/Pfeilpfad/index.htm}\cw{http://janko.at/Raetsel/Pfeilpfad/index.htm}
+
+\H{signpost-controls} \I{controls, for Signpost}Signpost controls
+
+To play Signpost, you connect squares together by dragging from one
+square to another, indicating that they are adjacent in the
+sequence. Drag with the left button from a square to its successor,
+or with the right button from a square to its predecessor.
+
+If you connect together two squares in this way and one of them has
+a number in it, the appropriate number will appear in the other
+square. If you connect two non-numbered squares, they will be
+assigned temporary algebraic labels: on the first occasion, they
+will be labelled \cq{a} and \cq{a+1}, and then \cq{b} and \cq{b+1},
+and so on. Connecting more squares on to the ends of such a chain
+will cause them all to be labelled with the same letter.
+
+When you left-click or right-click in a square, the legal squares to
+connect it to will be shown.
+
+The arrow in each square starts off black, and goes grey once you
+connect the square to its successor. Also, each square which needs a
+predecessor has a small dot in the bottom left corner, which
+vanishes once you link a square to it. So your aim is always to
+connect a square with a black arrow to a square with a dot.
+
+To remove any links for a particular square (both incoming and
+outgoing), left-drag it off the grid. To remove a whole chain,
+right-drag any square in the chain off the grid.
+
+You can also use the cursor keys to move around the grid squares and
+lines. Pressing the return key when over a square starts a link
+operation, and pressing the return key again over a square will
+finish the link, if allowable. Pressing the space bar over a square
+will show the other squares pointing to it, and allow you to form a
+backward link, and pressing the space bar again cancels this.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{signpost-parameters} \I{parameters, for Signpost}Signpost 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{Force start/end to corners}
+
+\dd If true, the start and end squares are always placed in opposite corners
+(the start at the top left, and the end at the bottom right). If false the start
+and end squares are placed randomly (although always both shown). 
+
+\C{range} \i{Range}
+
+\cfg{winhelp-topic}{games.range}
+
+You have a grid of squares; some squares contain numbers.  Your job is
+to colour some of the squares black, such that several criteria are
+satisfied:
+
+\b no square with a number is coloured black.
+
+\b no two black squares are adjacent (horizontally or vertically).
+
+\b for any two white squares, there is a path between them using only
+white squares.
+
+\b for each square with a number, that number denotes the number of
+squares reachable from that square going in each direction until
+hitting a wall or a black square.
+
+For instance, a square containing the number one must have four black
+squares as its neighbours by the last criterion; but then it's
+impossible for it to be connected to any outside white square, which
+violates the second to last criterion.  So no square will contain the
+number one.
+
+Credit for this puzzle goes to \i{Nikoli}, who have variously called
+it \q{Kurodoko}, \q{Kuromasu} or \q{Where is Black Cells}.
+\k{nikoli-range}.
+
+Range was contributed to this collection by Jonas K\u00F6{oe}lker.
+
+\B{nikoli-range}
+\W{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}\cw{http://www.nikoli.co.jp/en/puzzles/where_is_black_cells/}
+
+\H{range-controls} \I{controls, for Range}Range controls
+
+Click with the left button to paint a square black, or with the right
+button to mark a square with a dot to indicate that you are sure it
+should \e{not} be painted black. Repeated clicking with either button
+will cycle the square through the three possible states (filled,
+dotted or empty) in opposite directions.
+
+You can also use the cursor keys to move around the grid squares.
+Pressing Return does the same as clicking with the left button, while
+pressing Space does the same as a right button click.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{range-parameters} \I{parameters, for Range}Range 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{pearl} \i{Pearl}
+
+\cfg{winhelp-topic}{games.pearl}
+
+You have a grid of squares. Your job is to draw lines between the
+centres of horizontally or vertically adjacent squares, so that the
+lines form a single closed loop. In the resulting grid, some of the
+squares that the loop passes through will contain corners, and some
+will be straight horizontal or vertical lines. (And some squares can
+be completely empty \dash the loop doesn't have to pass through every
+square.)
+
+Some of the squares contain black and white circles, which are clues
+that the loop must satisfy.
+
+A black circle in a square indicates that that square is a corner, but
+neither of the squares adjacent to it in the loop is also a corner.
+
+A white circle indicates that the square is a straight edge, but \e{at
+least one} of the squares adjacent to it in the loop is a corner.
+
+(In both cases, the clue only constrains the two squares adjacent
+\e{in the loop}, that is, the squares that the loop passes into after
+leaving the clue square. The squares that are only adjacent \e{in the
+grid} are not constrained.)
+
+Credit for this puzzle goes to \i{Nikoli}, who call it \q{Masyu}.
+\k{nikoli-pearl}.
+
+Thanks to James Harvey for assistance with the implementation.
+
+\B{nikoli-pearl}
+\W{http://www.nikoli.co.jp/en/puzzles/masyu/}\cw{http://www.nikoli.co.jp/en/puzzles/masyu/}
+
+\H{pearl-controls} \I{controls, for Pearl}Pearl controls
+
+Click with the left button on a grid edge to draw a segment of the
+loop through that edge, or to remove a segment once it is drawn.
+
+Drag with the left button through a series of squares to draw more
+than one segment of the loop in one go. Alternatively, drag over an
+existing part of the loop to undraw it, or to undraw part of it and
+then go in a different direction.
+
+Click with the right button on a grid edge to mark it with a cross,
+indicating that you are sure the loop does not go through that edge.
+(For instance, if you have decided which of the squares adjacent to a
+white clue has to be a corner, but don't yet know which way the corner
+turns, you might mark the one way it \e{can't} go with a cross.)
+
+Alternatively, use the cursor keys to move the cursor.  Use the Enter
+key to begin and end keyboard `drag' operations.  Use the Space key to
+cancel the drag.  Use Ctrl-arrowkey and Shift-arrowkey to simulate a
+left or right click, respectively, on the edge in the given direction
+relative to the cursor, i.e. to draw a segment or a cross.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{pearl-parameters} \I{parameters, for Pearl}Pearl parameters
+
+These parameters are available from the \q{Custom...} option on the
+\q{Type} menu.
+
+\C{undead} \i{Undead}
+
+\cfg{winhelp-topic}{games.undead}
+
+You are given a grid of squares, some of which contain diagonal
+mirrors. Every square which is not a mirror must be filled with one of
+three types of undead monster: a ghost, a vampire, or a zombie.
+
+Vampires can be seen directly, but are invisible when reflected in
+mirrors. Ghosts are the opposite way round: they can be seen in
+mirrors, but are invisible when looked at directly. Zombies are
+visible by any means.
+
+You are also told the total number of each type of monster in the
+grid. Also around the edge of the grid are written numbers, which
+indicate how many monsters can be seen if you look into the grid along
+a row or column starting from that position. (The diagonal mirrors are
+reflective on both sides. If your reflected line of sight crosses the
+same monster more than once, the number will count it each time it is
+visible, not just once.)
+
+This puzzle type was invented by David Millar, under the name
+\q{Haunted Mirror Maze}. See \k{janko-undead} for more details.
+
+Undead was contributed to this collection by Steffen Bauer.
+
+\B{janko-undead}
+\W{http://www.janko.at/Raetsel/Spukschloss/index.htm}\cw{http://www.janko.at/Raetsel/Spukschloss/index.htm}
+
+\H{undead-controls} \I{controls, for Undead}Undead controls
+
+Undead has a similar control system to Solo, Unequal and Keen.
+
+To play Undead, click the mouse in any empty square and then type a
+letter on the keyboard indicating the type of monster: \q{G} for a
+ghost, \q{V} for a vampire, or \q{Z} for a zombie. 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 letter, the
+corresponding monster will be shown in reduced size in that square, as
+a \q{pencil mark}. You can have pencil marks for multiple monsters in
+the same square. A square containing a full-size monster 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 particular
+square needs to be re-examined once you know more about a particular
+monster, or you can use them as lists of the possible monster 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 letter again.
+
+All pencil marks in a square are erased when you left-click and type a
+monster letter, 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 letter
+keys to place monsters or pencil marks. Use the cursor keys to move a
+highlight around the grid, and type a monster letter to enter it in
+the highlighted square. Pressing return toggles the highlight into a
+mode in which you can enter or remove pencil marks.
+
+If you prefer plain letters of the alphabet to cute monster pictures,
+you can press \q{A} to toggle between showing the monsters as monsters or
+showing them as letters.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{undead-parameters} \I{parameters, for Undead}Undead 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.
+
+\C{unruly} \i{Unruly}
+
+\cfg{winhelp-topic}{games.unruly}
+
+You are given a grid of squares, which you must colour either black or
+white. Some squares are provided as clues; the rest are left for you
+to fill in. Each row and column must contain the same number of black
+and white squares, and no row or column may contain three consecutive
+squares of the same colour.
+
+This puzzle type was invented by Adolfo Zanellati, under the name
+\q{Tohu wa Vohu}. See \k{janko-unruly} for more details.
+
+Unruly was contributed to this collection by Lennard Sprong.
+
+\B{janko-unruly}
+\W{http://www.janko.at/Raetsel/Tohu-Wa-Vohu/index.htm}\cw{http://www.janko.at/Raetsel/Tohu-Wa-Vohu/index.htm}
+
+\H{unruly-controls} \I{controls, for Unruly}Unruly controls
+
+To play Unruly, click the mouse in a square to change its colour.
+Left-clicking an empty square will turn it black, and right-clicking
+will turn it white. Keep clicking the same button to cycle through the
+three possible states for the square. If you middle-click in a square
+it will be reset to empty.
+
+You can also use the cursor keys to move around the grid. Pressing the
+return or space keys will turn an empty square black or white
+respectively (and then cycle the colours in the same way as the mouse
+buttons), and pressing Backspace will reset a square to empty.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{unruly-parameters} \I{parameters, for Unruly}Unruly 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. (Note that the rules of the game require
+both the width and height to be even numbers.)
+
+\dt \e{Difficulty}
+
+\dd Controls the difficulty of the generated puzzle.
 
 \A{licence} \I{MIT licence}\ii{Licence}
 
-This software is \i{copyright} 2004-2010 Simon Tatham.
+This software is \i{copyright} 2004-2012 Simon Tatham.
 
 Portions copyright Richard Boulton, James Harvey, Mike Pinna, Jonas
 K\u00F6{oe}lker, Dariusz Olszewski, Michael Schierl, Lambros
-Lambrou and Bernd Schmidt.
+Lambrou, Bernd Schmidt, Steffen Bauer and Lennard Sprong.
 
 Permission is hereby granted, free of charge, to any person
 obtaining a copy of this software and associated documentation files