X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/1d8e8ad877a2eb931659f6d5b531684a42ba28f1..d50832a37e1f285555051de42569505bab2984a3:/puzzles.but diff --git a/puzzles.but b/puzzles.but index f7d55a6..c25ec00 100644 --- a/puzzles.but +++ b/puzzles.but @@ -382,6 +382,62 @@ The only parameters available from the \q{Custom...} option on the 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} @@ -393,17 +449,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 +526,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 +543,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 +588,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 +616,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 +634,77 @@ 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. + +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 + +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 +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}) + +\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 +running \cq{solo 2x3r4}, or \q{Advanced}-level 2x3 grids by running +\cq{solo 2x3da}. + \A{licence} \I{MIT licence}\ii{Licence}