Copy-to-clipboard facility for Fifteen, Sixteen and Twiddle.
[sgt/puzzles] / puzzles.but
index 8e99a31..c25ec00 100644 (file)
@@ -382,6 +382,62 @@ The only parameters available from the \q{Custom...} option on the
 self-explanatory.
 
 
 self-explanatory.
 
 
+\C{twiddle} \i{Twiddle}
+
+\cfg{winhelp-topic}{games.twiddle}
+
+Twiddle is a tile-rearrangement puzzle, visually similar to Sixteen
+(see \k{sixteen}): you are given a grid of square tiles, each
+containing a number, and your aim is to arrange the numbers into
+ascending order.
+
+In basic Twiddle, your move is to rotate a square group of four
+tiles about their common centre. (Orientation is not significant in
+the basic puzzle, although you can select it.) On more advanced
+settings, you can rotate a larger square group of tiles.
+
+I first saw this type of puzzle in the GameCube game \q{Metroid
+Prime 2}. In the Main Gyro Chamber in that game, there is a puzzle
+you solve to unlock a door, which is a special case of Twiddle. I
+developed this game as a generalisation of that puzzle.
+
+\H{twiddle-controls} \I{controls, for Twiddle}Twiddle controls
+
+To play Twiddle, click the mouse in the centre of the square group
+you wish to rotate. In the basic mode, you rotate a 2\by\.2 square,
+which means you have to click at a corner point where four tiles
+meet.
+
+In more advanced modes you might be rotating 3\by\.3 or even more at
+a time; if the size of the square is odd then you simply click in
+the centre tile of the square you want to rotate.
+
+Clicking with the left mouse button rotates the group anticlockwise.
+Clicking with the right button rotates it clockwise.
+
+(All the actions described in \k{common-actions} are also available.)
+
+\H{twiddle-parameters} \I{parameters, for Twiddle}Twiddle parameters
+
+Twiddle provides several configuration options via the \q{Custom}
+option on the \q{Type} menu:
+
+\b You can configure the width and height of the puzzle grid.
+
+\b You can configure the size of square block that rotates at a time.
+
+\b You can ask for every square in the grid to be distinguishable
+(the default), or you can ask for a simplified puzzle in which there
+are groups of identical numbers. In the simplified puzzle your aim
+is just to arrange all the 1s into the first row, all the 2s into
+the second row, and so on.
+
+\b You can configure whether the orientation of tiles matters. If
+you ask for an orientable puzzle, each tile will have a triangle
+drawn in it. All the triangles must be pointing upwards to complete
+the puzzle.
+
+
 \C{rectangles} \i{Rectangles}
 
 \cfg{winhelp-topic}{games.rectangles}
 \C{rectangles} \i{Rectangles}
 
 \cfg{winhelp-topic}{games.rectangles}
@@ -589,19 +645,39 @@ 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.
 
 clues than necessary to be present. Completely asymmetric puzzles
 have the freedom to contain as few clues as possible.
 
+Finally, you can configure the difficulty of the generated puzzles.
+Difficulty levels are judged by the complexity of the techniques of
+deduction required to solve the puzzle: each level requires a mode
+of reasoning which was not necessary in the previous one. In
+particular, on difficulty levels \q{Trivial} and \q{Basic} there
+will be a square you can fill in with a single number at all times,
+whereas at \q{Intermediate} level and beyond you will have to make
+partial deductions about the \e{set} of squares a number could be in
+(or the set of numbers that could be in a square). None of the
+difficulty levels generated by this program ever requires making a
+guess and backtracking if it turns out to be wrong.
+
+Generating difficult puzzles is itself difficult: if you select
+\q{Intermediate} or \q{Advanced} difficulty, Solo may have to make
+many attempts at generating a puzzle before it finds one hard enough
+for you. Be prepared to wait, especially if you have also configured
+a large puzzle size.
+
 \H{solo-cmdline} \I{command line, for Solo}Additional command-line
 configuration
 
 \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.)
+The symmetry and difficulty parameters (described in
+\k{solo-parameters}) are not mentioned by default in the game ID
+(see \k{common-id}). So if (for example) you set your symmetry to
+4-way rotational and your difficulty to \q{Advanced}, 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 and
+difficulty settings 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
 
 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
@@ -616,9 +692,18 @@ parameters:
 
 \b \cq{a} for no symmetry at all (stands for \q{asymmetric})
 
 
 \b \cq{a} for no symmetry at all (stands for \q{asymmetric})
 
+\b \cq{dt} for Trivial difficulty level
+
+\b \cq{db} for Basic difficulty level
+
+\b \cq{di} for Intermediate difficulty level
+
+\b \cq{da} for Advanced difficulty level
+
 So, for example, you can make Solo generate asymmetric 3x4 grids by
 running \cq{solo 3x4a}, or 4-way rotationally symmetric 2x3 grids by
 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}.
+running \cq{solo 2x3r4}, or \q{Advanced}-level 2x3 grids by running
+\cq{solo 2x3da}.
 
 
 \A{licence} \I{MIT licence}\ii{Licence}
 
 
 \A{licence} \I{MIT licence}\ii{Licence}