X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/bacaa96edd2c632ef4f49fdc7dfc4a11f85c2d8c..36d01ffa8154db198db95b4cc3f788a430c7fee2:/puzzles.but diff --git a/puzzles.but b/puzzles.but index 9b88d18..5f8bff4 100644 --- a/puzzles.but +++ b/puzzles.but @@ -83,7 +83,7 @@ and via \I{keys}keyboard shortcuts, in addition to any game-specific actions. (On Mac OS X, to conform with local user interface standards, these -actions are situated on the \I{File menu}\q{File} and \q{Edit +actions are situated on the \I{File menu}\q{File} and \I{Edit menu}\q{Edit} menus instead.) \dt \ii\e{New game} (\q{N}, Ctrl+\q{N}) @@ -110,6 +110,33 @@ format, so that you can paste it into (say) an e-mail client or a web message board if you're discussing the game with someone else. (Not all games support this feature.) +\dt \ii\e{Solve} + +\dd Transforms the puzzle instantly into its solved state. For some +games (Cube) this feature is not supported at all because it is of +no particular use. For other games (such as Pattern), the solved +state can be used to give you information, if you can't see how a +solution can exist at all or you want to know where you made a +mistake. For still other games (such as Sixteen), automatic solution +tells you nothing about how to \e{get} to the solution, but it does +provide a useful way to get there quickly so that you can experiment +with set-piece moves and transformations. + +\lcont{ + +Some games (such as Solo) are capable of solving a game ID you have +typed in from elsewhere. Other games (such as Rectangles) cannot +solve a game ID they didn't invent themself, but when they did +invent the game ID they know what the solution is already. Still +other games (Pattern) can solve \e{some} external game IDs, but only +if they aren't too difficult. + +The \q{Solve} command adds the solved state to the end of the undo +chain for the puzzle. In other words, if you want to go back to +solving it yourself after seeing the answer, you can just press Undo. + +} + \dt \I{exit}\ii\e{Quit} (\q{Q}, Ctrl+\q{Q}) \dd Closes the application entirely. @@ -388,9 +415,41 @@ Right-clicking will move it in the opposite direction. \H{sixteen-params} \I{parameters, for Sixteen}Sixteen parameters -The only parameters available from the \q{Custom...} option on the -\q{Type} menu are \e{Width} and \e{Height}, which are -self-explanatory. +The parameters available from the \q{Custom...} option on the +\q{Type} menu are: + +\b \e{Width} and \e{Height}, which are self-explanatory. + +\b You can ask for a limited shuffling operation to be performed on +the grid. By default, Sixteen will shuffle the grid in such a way +that any arrangement is about as probable as any other. You can +override this by requesting a precise number of shuffling moves to +be performed. Typically your aim is then to determine the precise +set of shuffling moves and invert them exactly, so that you answer +(say) a four-move shuffle with a four-move solution. Note that the +more moves you ask for, the more likely it is that solutions shorter +than the target length will turn out to be possible. + +\H{sixteen-cmdline} \I{command line, for Sixteen}Additional +command-line configuration + +The limited shuffle parameter, described in \k{sixteen-params}, is +not mentioned by default in the game ID (see \k{common-id}). So if +you set your shuffling move count to (say) 4, and then you generate +a normal 4\by\.4 grid, then the game ID will simply say +\c{4x4:}\e{numbers}. This means that if you send the game ID to +another player and they paste it into their copy of Sixteen, their +game will not be automatically configured to use the same shuffle +limit 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 +shuffle limit, you can do it by suffixing the letter \cq{m} to the +parameters, followed by the move count as a decimal number. For +example, \cq{sixteen 4x4m4} will start up Sixteen with a problem +guaranteed to be soluble in four moves or fewer. \C{twiddle} \i{Twiddle} @@ -448,6 +507,36 @@ 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. +\b You can ask for a limited shuffling operation to be performed on +the grid. By default, Twiddle will shuffle the grid so much that any +arrangement is about as probable as any other. You can override this +by requesting a precise number of shuffling moves to be performed. +Typically your aim is then to determine the precise set of shuffling +moves and invert them exactly, so that you answer (say) a four-move +shuffle with a four-move solution. Note that the more moves you ask +for, the more likely it is that solutions shorter than the target +length will turn out to be possible. + +\H{twiddle-cmdline} \I{command line, for Twiddle}Additional +command-line configuration + +The limited shuffle parameter, described in \k{twiddle-parameters}, +is not mentioned by default in the game ID (see \k{common-id}). So +if you set your shuffling move count to (say) 4, and then you +generate a normal 3\by\.3 grid, then the game ID will simply say +\c{3x3n2:}\e{numbers}. This means that if you send the game ID to +another player and they paste it into their copy of Twiddle, their +game will not be automatically configured to use the same shuffle +limit 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 +shuffle limit, you can do it by suffixing the letter \cq{m} to the +parameters, followed by the move count as a decimal number. For +example, \cq{twiddle 3x3n2m4} will start up Twiddle with a problem +guaranteed to be soluble in four moves or fewer. \C{rectangles} \i{Rectangles} @@ -664,9 +753,10 @@ 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. +(or the set of numbers that could be in a square). At +\q{Unreasonable} level, even this is not enough, and you will +eventually have to make a guess, and then backtrack 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 @@ -711,6 +801,8 @@ parameters: \b \cq{da} for Advanced difficulty level +\b \cq{du} for Unreasonable 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