Previous | Contents | Index | Next

Chapter 12: Mines

You have a grid of covered squares, some of which contain mines, but you don't know which. Your job is to uncover every square which does not contain a mine. If you uncover a square containing a mine, you lose. If you uncover a square which does not contain a mine, you are told how many mines are contained within the eight surrounding squares.

This game needs no introduction; popularised by Windows, it is perhaps the single best known desktop puzzle game in existence.

This version of it has an unusual property. By default, it will generate its mine positions in such a way as to ensure that you never need to guess where a mine is: you will always be able to deduce it somehow. So you will never, as can happen in other versions, get to the last four squares and discover that there are two mines left but you have no way of knowing for sure where they are.

You can also play the same game on various other tilings, similarly to Loopy (chapter 23). In other tilings, the ‘neighbours’ of a tile are taken to be any tile that touches it, even if only at a corner. This means that on some grids – the triangular grid, in particular – a tile can have a lot of neighbours!

The simplest types of tiling – squares, triangles and hexagons – also have a ‘Cyclic’ mode, in which the left side of the grid is considered adjacent to the right side, and the top adjacent to the bottom.

12.1 Mines controls

This game is played with the mouse.

If you left-click in a covered space, it will be uncovered.

If you right-click in a covered space, it will place a flag which indicates that that space is believed to contain a mine. Left-clicking in a marked space will not uncover it, for safety. You can right-click again to remove a mark placed in error.

If you left-click in an uncovered space, it will ‘clear around’ the space. This means: if the space has exactly as many flags surrounding it as it should have mines, then all the covered spaces next to it which are not flagged will be uncovered. So once you think you know the location of all the mines around a space, you can use this function as a shortcut to avoid having to click on each of the remaining spaces one by one.

If you uncover a space which has no mines in any of the neighbouring spaces, then it is obviously safe to uncover those spaces in turn, and so on if any of them also has no surrounding mines. This will be done for you automatically; so sometimes when you uncover a space, a whole new area will open up to be explored.

On the default square grid, you can also use the cursor keys to move around the minefield. Pressing the return key in a covered space uncovers it, and in an uncovered space will clear around it (so it acts as the left button), pressing the space bar in a covered space will place a flag (similarly, it acts as the right button).

All the actions described in section 2.1 are also available.

Even Undo is available, although you might consider it cheating to use it. If you step on a mine, the program will only reveal the mine in question (unlike most other implementations, which reveal all of them). You can then Undo your fatal move and continue playing if you like. The program will track the number of times you died (and Undo will not reduce that counter), so when you get to the end of the game you know whether or not you did it without making any errors.

(If you really want to know the full layout of the grid, which other implementations will show you after you die, you can always use the Solve menu option.)

12.2 Mines parameters

The options available from the ‘Custom...’ option on the ‘Type’ menu are:

Width, Height
Size of grid, measured in number of regions across and down. For square grids, it's clear how this is counted; for other types of grid you may have to think a bit to see how the dimensions are measured.
Mines
Number of mines in the grid. You can enter this as an absolute mine count, or alternatively you can put a % sign on the end in which case the game will arrange for that proportion of the squares in the grid to be mines.
Ensure solubility
When this option is enabled (as it is by default), Mines will ensure that the entire grid can be fully deduced starting from the initial open space. If you prefer the riskier grids generated by other implementations, you can switch off this option.
Grid type
Allows you to choose between a selection of types of tiling. Some are more regular than others!

12.3 Mines user preferences

On platforms that support user preferences, the ‘Preferences’ option on the ‘Game’ menu will let you configure the following setting:

‘Highlight adjacent flags when clicking on a clue’. This is off by default. When it's turned on, left-clicking in an uncovered space (to clear around it) will temporarily highlight all the flagged spaces that are already neighbours of the space you clicked on, until you release the button. This makes it easier to count them, and work out how many more mines you expect to find in the remaining covered neighbours of the space.

(If there are any more mines to be found, then the left-click will not open any squares, so the only effect of the click is to display the highlights temporarily.)