Introduce configurable symmetry type in generated puzzles, and drop
[sgt/puzzles] / puzzles.but
index f7d55a6..8e99a31 100644 (file)
@@ -393,17 +393,17 @@ numbered square, and (b) the area of each rectangle is equal to the
 number written in its numbered square.
 
 Credit for this game goes to the Japanese puzzle magazine \i{Nikoli}
-\k{nikoli}; I've also seen a Palm implementation at \i{Puzzle Palace}
-\k{puzzle-palace}. Unlike Puzzle Palace's implementation, my version
+\k{nikoli-rect}; I've also seen a Palm implementation at \i{Puzzle Palace}
+\k{puzzle-palace-rect}. Unlike Puzzle Palace's implementation, my version
 automatically generates random grids of any size you like. The quality
 of puzzle design is therefore not quite as good as hand-crafted
 puzzles would be (in particular, a unique solution cannot be
 guaranteed), but on the plus side you get an inexhaustible supply of
 puzzles tailored to your own specification.
 
-\B{nikoli} \W{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}\cw{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}
+\B{nikoli-rect} \W{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}\cw{http://www.nikoli.co.jp/puzzles/7/index_text-e.htm}
 
-\B{puzzle-palace} \W{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}\cw{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}
+\B{puzzle-palace-rect} \W{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}\cw{http://www.puzzle.gr.jp/puzzle/sikaku/palm/index.html.en}
 
 \H{rectangles-controls} \I{controls, for Rectangles}Rectangles controls
 
@@ -470,6 +470,7 @@ number. For example:
 starts Rectangles with a grid size of 11\u00d7{x}11, an expansion
 factor of 0.75, \e{and} a specific game selected.
 
+
 \C{netslide} \i{Netslide}
 
 \cfg{winhelp-topic}{games.netslide}
@@ -486,6 +487,7 @@ See \k{sixteen-controls}.
 \I{parameters, for Netslide}Game parameters are the same as for Net
 (see \k{net-params}).
 
+
 \C{pattern} \i{Pattern}
 
 \cfg{winhelp-topic}{games.pattern}
@@ -530,6 +532,7 @@ grey.
 The only options available from the \q{Custom...} option on the \q{Type}
 menu are \e{Width} and \e{Height}, which are self-explanatory.
 
+
 \C{solo} \i{Solo}
 
 \cfg{winhelp-topic}{games.solo}
@@ -557,10 +560,12 @@ 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}, although it's also
+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}.
 
+\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}
+
 \H{solo-controls} \I{controls, for Solo}Solo controls
 
 To play Solo, simply click the mouse in any empty square and then
@@ -573,10 +578,48 @@ Space to clear it again (or use the Undo feature).
 \H{solo-parameters} \I{parameters, for Solo}Solo parameters
 
 Solo allows you to configure two separate dimensions of the puzzle
-grid: the number of columns, and the number of rows, into which the
-main grid is divided. (The size of a block is the inverse of this:
-for example, if you select 2 columns and 3 rows, each actual block
-will have 3 columns and 2 rows.)
+grid on the \q{Type} menu: the number of columns, and the number of
+rows, into which the main grid is divided. (The size of a block is
+the inverse of this: for example, if you select 2 columns and 3 rows,
+each actual block will have 3 columns and 2 rows.)
+
+You can also configure the type of symmetry shown in the generated
+puzzles. More symmetry makes the puzzles look prettier but may also
+make them easier, since the symmetry constraints can force more
+clues than necessary to be present. Completely asymmetric puzzles
+have the freedom to contain as few clues as possible.
+
+\H{solo-cmdline} \I{command line, for Solo}Additional command-line
+configuration
+
+The symmetry parameter, described in \k{solo-parameters}, is not
+mentioned by default in the game ID (see \k{common-id}). So if you
+set your symmetry to (say) 4-way rotational, and then you generate a
+3\by\.4 grid, then the game ID will simply say \c{3x4:}\e{numbers}.
+This means that if you send the game ID to another player and they
+paste it into their copy of Solo, their game will not be
+automatically configured to use the same symmetry in any subsequent
+grids it generates. (I don't think the average person examining a
+single grid sent to them by another player would want their
+configuration modified to that extent.)
+
+If you are specifying a game ID or game parameters on the command
+line (see \k{common-cmdline}) and you do want to configure the
+symmetry, you can do it by suffixing additional text to the
+parameters:
+
+\b \cq{m4} for 4-way mirror symmetry
+
+\b \cq{r4} for 4-way rotational symmetry
+
+\b \cq{r2} for 2-way rotational symmetry
+
+\b \cq{a} for no symmetry at all (stands for \q{asymmetric})
+
+So, for example, you can make Solo generate asymmetric 3x4 grids by
+running \cq{solo 3x4a}, or 4-way rotationally symmetric 2x3 grids by
+running \cq{solo 2x3r4}.
+
 
 \A{licence} \I{MIT licence}\ii{Licence}