The user can choose between Logical puzzles and Original puzzles. Logical puzzles can be solved entirely by logic - no guessing is required. Original puzzles are like those in standard Minesweeper games and will require guessing.
With the Alg 1 only and Algs 1 & 2 buttons users can select whether or not both algorithms are used for the logical puzzle creation and hint mechanism.
Standard grid sizes and mine counts can be set using the Easy, Normal and Expert buttons. These set the cells across, cells down and the number of mines to 8,8,10; 16,16,40 and 30,16,99 respectively. The corresponding sliders will move accordingly.
Minestein gathers statistics for each user of the game. The configuration panel contains a button for selecting the current user. When the button is clicked a menu of names drops down. The default name is "Anonymous Coward". If "NEW PLAYER" is selected the entrybox below the button becomes receptive and the user can type in the name of a new player.
In Minestein users can set the number of cells across, cells down and the number of mines using sliders.
With the Difficulty in 3BV slider users can set a minimum 3BV value for all puzzles: only puzzles with at least the chosen score will be generated. The 3BV difficulty rating is the number of clicks required to reveal all the unmined cells in a puzzle. It will depend on the number of cells and the pattern of the mines. For serious players the time taken for a given level of difficulty, as measured by the 3BV per second, is crucial.
The Max time in seconds/10 slider has the following purpose. In order to produce puzzles that can be solved by logic alone, when the user clicks on a cell to start a new game, the program generates random puzzles until it produces one it can solve. At this point it reveals the cells around where the user has clicked, and, for the user, the game has begun. Obviously it takes some time to generate and solve puzzles, and indeed, the settings may be such that no solvable puzzle exists. A similar possibility also applies in the case of Original puzzles: although in this case the program does not have to generate solvable puzzles, if the user has set the minimum 3BV score too high no suitable puzzle may exist. To give the user control over these cases, and to avoid the possibility of the program appearing to have frozen, the Configuration panel allows the user to set a maximum "thinking time" for the program. This is measured in 1/10ths of a second. If the time limit is exceeded the program will inform the user via a popup window and then simply choose a random puzzle irrespective of the user's settings for puzzle type and 3BV score. As of version v0.03 there is an important exception to this as is explained below.
Because of their size and high mine density (30,16,99), it can take an unacceptably long time to generate logical puzzles for the Expert setting. To overcome this the program has built-in puzzles, and these can be displayed in 1/10th of a second. There are at least 20 built-in puzzles for each of the 480 (30x16) cells. The built-in puzzles are used in the following way: when the user clicks on cell X the program tries to generate a logically solvable puzzle. If it generates one in the Max time it is displayed to the user; if it cannot generate one in the allowed time, it randomly selects one of the built-in puzzles for cell X and displays it to the user. As noted above, this is done only for Expert grids.
The final configuration option is the Random number seed. When the program starts it sets up a list of random numbers for use in generating puzzles. This list will be different time each time the program starts. However, if users want to use a reproducable set of puzzles - say to test their own speed over a known set or to challenge a friend to solve the same set - then they can ensure a fixed sequence of puzzles by setting the Random number seed. If this number is set, the list of random numbers used by the program should always be the same, and, all other settings being identical, the same set of puzzles should be generated. Each seed value should produce a unique set.
To confirm the settings the user clicks on the OK button and the window will be destroyed.
Minestein remembers the configuration settings in a configuration file named .minestein_preferences.txt. If the user clicks the Save button the current settings will be saved to this file. When the program starts it reads this file and configures itself accordingly.




