INTRODUCTION
This author has spent several thousand hours playing Minesweeper and claims to be the world's greatest Minesweeper player, a claim which he can neither prove nor disprove because there is no way to find the other players. However, this author has solved Minesweeper at the Beginner's level on an 8x8 grid in 11 seconds, at the intermediate level in 83 seconds and at the advanced level in 276 seconds. He would be interested in hearing from anybody who can beat these times, especially at the higher levels.
Once the player determines exactly where a mine is located, he is advised to mark it so as to avoid playing on that square by accident. He marks the square by clicking on it from the right-hand side of the mouse. In addition, by clicking twice, the player may mark a mine with a question mark ( "?" ), if this helps him to remember that a mine might possibly be in that square or might not. If a player has marked a square as holding a mine by mistake, he may unmark the square by clicking twice.
The player wins the game when he opens all of the squares which do not contain mines. Therefore, at the beginner's level, which has an 8x8 grid of 64 squares and contains 10 mines, in order to win the player must open all 54 squares which do not contain a mine.
There are three pre-determined levels of Minesweeper. The Beginner's level has 64 squares on an 8x8 grid and contains 10 mines. The intermediate level has 256 squares on a 16x16 grid and contains 40 mines. The advanced level has 480 squares on a 16x30 grid and contains 99 mines.
The player can also custom create a grid of any size with any number of miners. However, the maximum size grid which the computer will allow is 720 squares of 24 x 30. There can be as many mines or as few mines as the player wants on this grid, up to a maximum of 667 mines.
Minesweeper also has a timer, which times the game up until 999 seconds, which is 16 minutes and 39 seconds. Once a player learns how to win at Minesweeper regularly, the test becomes whether he or she can improves his or her best times. Whenever a player has beaten the previous best time, the computer prompts the player to enter his or her name.
When the player first learns Minesweeper, he or she will have great difficulty successfully completing even one game at the beginners level. However, after time, with constant play and practice, the player should be able to win almost all of the time at the Beginner's level. Then the test becomes to reduce the timings. With practice, the player should be able to solve the Beginner's level in less than 30 seconds. Any time of less than 20 seconds is excellent. To get a time as low as 12 seconds requires either great reflexes or a great bit of luck. There is a report of somebody who has solved Minesweeper in just four seconds, but this appears to have been just a lucky guess combined with an exceptionally fortunate arrangement of the mines.
The advanced level of Minesweeper is much more difficult. It will require many hours of play just to win the first game. Having achieved that milestone, winning in faster than 1000 seconds becomes a severe test. Once the player can complete the advanced level in 1000 seconds even occasionally, he can already consider himself or herself to be an expert at this game. Mastery does not come until the player can complete Minesweeper at the advanced level in 400 seconds or less.
The new player should try clicking the mouse on various points on the screen. There is a smiling yellow face at the top of the screen. When a mine is hit, that smile turns to a frown. By clicking on the face, the player can start a new game.
If the number of mines which have been marked touching a square equal the number on the square, so that the player knows that all remaining unopened points around the square are completely safe, then the player may click on the numbered square simultaneously with both the right and the left mouse key. This will open up all the remaining squares which are touching on the square which has been clicked upon.
On older versions of Minesweeper, there is a way to cheat by holding down the left key of the mouse and looking at the upper left corner of the grid. This will tell the player whether there is a mine under the square or not. This is apparently a bug in the program which has since been corrected. I never found this feature useful anyway, as it greatly slows down the game and makes it difficult to break any existing speed records.
The second move at Minesweeper is a lucky or unlucky guess, although some information will be acquired as a result of the first move. A player who hits a mine on the second move loses immediately and must start a new game. However, a player who does not hit a mine on the second move gains some additional information which should reduce the odds of hitting a mine on the third move. Thereafter, as the player makes more and more moves, the chances of hitting a mine should become less and less.
Within the first three or four moves from the beginning of the game, the player will probably reach the point where he or she can identify with absolute certainty where at least one or two of the mines are. The player then marks those mines. This knowledge, in turn, should enable the player to identify certain squares which are completely safe and where no mine can be. The player will then be able to open these safe squares and, once these squares are opened, that will provide more information which will enable the player to identify the location of more mines. When these mines are marked, the location of more safe squares will become apparent. These safe squares are then opened and this process is completed until the player wins.
As a general rule, at the Beginner's level, if the player does not hit a mine within the first four or five moves, then the player should almost always be able to win the game eventually, provided that the player does not take unnecessary risks by playing on an unsafe square when safe squares are available.
The most important principle is that the player should never incur any unnecessary risk at all, however small, unless the player checks the position carefully and determines that no risk-free move is available.
The advanced level is much more difficult to win. The player must locate 99 mines to win. To win at the advanced level, the player must get off to a lucky start by not hitting a mine within the first few moves. However, if the player does hit a mine early in the game, this is relatively painless, as the player merely starts a new game.
Imagine the anguish a player experiences when he or she has successfully marked 98 mines and is searching for the last mine and discovers that there are two equally possible places where the mine can be. This reduces the game to a 50-50 shot; a lucky guess. Unfortunately, this predicament arises frequently at the advanced level. The player usually has to be successful at guessing correctly at least one of these 50-50 situations to win a game at the advanced level. Often, a correct guess at two or three of these 50-50 situations is required to win at the advanced level.
Another situation which often develops at the advanced level is that the player encounters what can be called a "Chinese wall". This is an invisible wall which creates a situation in which no move can be played with complete safety. In this situation, the player needs to calculate the safest possible move. If there is no completely safe move, then often the best strategy is to play almost randomly on the other side of the wall and just hope that a mine is not hit. If this strategy is successful, then the player can start a second front and hope eventually to win the game.
Always the important consideration is: NEVER TAKE ANY UNNECESSARY RISKS. This point cannot be emphasized too much. To understand the significance of this point, let us imagine that at some point in the game a position arises where a mine could be in one of three places. If the player simply guesses one of the places, then the player will have a 66.7% chance of not hitting a mine. These odds might seem to be quite favorable. However, what happens if, later in the game and in an entirely different position, the player reaches another situation where there is a two-thirds shot. If the player takes that risk as well, then there is only a 4/9 th chance to survive both unsafe moves. (That is 2/3 times 2/3). This 4/9 th chance represents only a 44.4% chance of survival. If the player then takes a third two-thirds shot, the odds of survival are only 6/27, which is only 22.2%.
The player who plays only safe moves and does not take any risks at all will have a nearly 100% chance of winning, provided only that he or she does not hit a mine within the first few moves. Thus, it makes no sense for a player to take even a minor risk if a completely safe move is available. Moreover, after the first few moves which starts the game, there will almost always be a safe move.
On the advanced level, however, there are often situations where no safe move is possible. Even there, however, with careful study of the position, the player might be able to find a move where there is only one chance in 12, for example, of hitting a mine. This can be considered to be an acceptable risk. However, the player will need to learn to identify these situations. Moreover, it must be remembered that no risk is acceptable if there is a safe move available.
Now, let us proceed to a concrete example of a purely "safe" move. Consider the corner position in Diagram 1. We will use the system of algebraic co-ordinates in this and in future diagrams. It can be seen that there is a 1 on squares a1, b1 and a2. This means that there is exactly one mine touching each of these squares. Now, pause for a moment any try to figure out where that one mine might be.
___ ___ ___
3 !___!___!___!
2 !_1_!___!___!
1 !_1_!_1_!___!
a b c
Diagram 1
___ ____ ___
3 !___!____!___!
2 !_1_!_M_!___!
1 !_1_!_1__!___!
a b c
Diagram 2
After some thought, we can conclude that squares a3, b3, c2 and c1 are all completely safe to open. No mines could possibly exist on these four squares. The reason we know this is that we already know that squares a2 and b1 are touched by exactly one mine; no more and no less. In addition, we know exactly where that one mine is. That mine is on square b2. Therefore, we know that there is no other square which touches squares a2 and b1 and contains a mine. This means that squares a3 and b3, both of which touch square a2, do not contain a mine, and that squares c1 and c2, which both touch b1, also do not contain a mine. Therefore, we know that we can safely open all four of these squares: a3, b3, c2 and c1.
If you do not understand this principle, please go back over it again and again until you finally understand it and can follow this line of reasoning, because most of the rest of this book is devoted to ever increasingly complicated examples of the same thing. Moreover, you will need to identify with certainty exactly where the mines are and where the mines are not in order to win at Minesweeper.
The first time you go through this you will no doubt experience difficulty and progress will be slow. However, after time, you will begun to notice recurring patterns and positions. You will eventually know, once you reach a certain position, that there are certain squares which are safe and certain squares which must contain a mine. Once you are familiar with a particular formation, you will be able to make the called for moves quickly and automatically. Not only will you be able to solve Minesweeper at the Beginner's level, but frequently you will be able to do it in 30 seconds or less.
In Diagram 2, let us now open the squares which we have already determined to be completely safe. These are a3, b3, c2 and c1. When we open these squares, we might arrive at the position in Diagram 3.
___ ____ ___ ___
5 !___!____!___!___!
4 !___!____!___!___!
3 !_1_!_1__!___!___!
2 !_1_!_M_!_1_!___!
1 !_1_!_1__!_1_!___!
a b c d
Diagram 3
As we can see, each of the four newly opened squares contains a 1. What new information does this give us? Pause for a moment to think about this and see what conclusion you reach.
The answer is that we can conclude that the following seven squares are completely safe to open: a4, b4, c4, c3, d3, d2, and d1. We should therefore open all of these squares.
If this causes you any trouble, please think about this carefully. On the other hand, if this is too easy, don't worry, it will get more complicated quickly. Remember that this is a simple but basic example of a situation which will be encountered in Minesweeper repeatedly.
We now open these seven safe squares and reach the position in Diagram 4.
___ ____ ___ ___ ___
5 !___!____!___!___!___!
4 !_1_!_1__!_2_!___!___!
3 !_1_!_1__!_2_!_2_!___!
2 !_1_!_M_!_1_!_1_!___!
1 !_1_!_1__!_1_!_1_!___!
a b c d e
Diagram 4
Now, things become more complicated. This position requires thought, so please think about it carefully. This position might be too advanced for the new player of Minesweeper to solve easily, but let's try.
The main thing to notice is that there is now a 2 on points c3, c4 and d3. This shows that each of these squares are touched by exactly two mines. The question is: Where are those mines?
After some thought, you should be able to realize that there is a mine at square d4. The reason is that we know this is that the square at c3 is touched by two mines. We can also see that one of these mines is at b2. Therefore, it follows that the remaining mine is on d4, as that is the only unopened square which is touching c3.
Next comes the hard part, which requires deep concentration. Can we identify with certainty either the location of any other mines or of any safe squares in this position? If we cannot, then we are stuck and we will lose the game unless we happen to make a lucky guess. On the other hand, if we are able to make further progress by finding even one more safe square or one more mine, we will have a good chance to win the game, as the rest of the position is likely to become wide open. In short, solving positions like the one in Diagram 4 is the key to winning at Minesweeper.
There is, in fact, a solution. It is difficult to find, but you will need to learn it, because this basic sort of position comes up frequently in Minesweeper.
Look at square d1 in Diagram 4. It contains 1. Notice, that d1 is only touched by two unopened squares. These are e1 and e2. Consequently, we know that either e1 or e2 contains a mine. Now, let us examine both possibilities:
If there is a mine at e1, that means that there can be no mine at either e2 or e3. We know this because d2 contains 1. Since we can also see that there is a mine on e1 which touches d2, we know that there cannot possibly be a mine on either e2 or e3.
However, in that case, there must be a mine at e4. The reason we know this is that there are two mines touching d3. Also, we already know that one of them is on d4. Since we also know that there is no mine on either e2 or e3, then we know that there must be a mine on e4.
Remember that this conclusion follows if there is a mine at e1. However, it is also possible that there is no mine on e1. To what results does this lead us?
If there is no mine on e1, then there must be a mine on e2. This is because we can already see that there is one mine touching d1. However, if there is a mine at e2, then there cannot be a mine at either e3 or e4.
Why is that? The reason is that we know that two mines touch d2. However, we also know that one mine is at d4 and another is at e2. This means that both e3 and e4 must be free of mines.
Now, what do we have? What we have shown is that if there is a mine at e1, then there is also a mine at e4, whereas e2 and e3 are free of mines.
On the other hand, if there is no mine at e1, then there must be a mine at e2, whereas e3 and e4 are free of mines.
Now, what does this all add up to? Please think about it.
What this adds up to is that, in either case, e3 is free of mines and we can safely open that square.
Furthermore, since the position in Diagram 4 is symmetrical, by the same line of reasoning, we also know that c5 is free of mines.
Therefore, the conclusion of all this is that we need to mark a mine on d4 and we need to open e3 and c5. This reaches the position in Diagram 5.
___ ___ ___ ____ ___ ___
6 !___!____!___!____!___!___!
5 !___!____!_2_!____!___!___!
4 !_1_!_1__!_2_!_M_!___!___!
3 !_1_!_1__!_2_!_2__!_2_!___!
2 !_1_!_M_!_1_!_1__!___!___!
1 !_1_!_1__!_1_!_1__!___!___!
a b c d e f
Diagram 5
It is understandable that a player new to Minesweeper will have difficulty following the above example. However, do not get discouraged. It is going to get harder soon. As one sees more and more of these examples, it will eventually sink in.
In Diagram 5, we have a common problem. First, think about this position for a while. As a hint, you should know that there are six completely safe squares in this position on which you can play.
After you have thought about it, here is the answer: Look at square d3. It contains 2. However, there is already a mine touching it at d4. Therefore, there must be a mine at either e2 or e4, but not both, as these are the only two open squares touching d3.
Now, look at e3. This contains 2. However, we already know something about the location of both mines touching e3. One is the mine at d4. The other is the mine which we know must exist at either e2 or e4. What this means is that there cannot possibly be a mine at f2, f3 or f4. These three squares can be opened safely.
Furthermore, since the position in Diagram 5 is still symmetrical, we know that squares b6, c6 and d6 are free of mines. We need to open these three squares as well. After opening this total of six squares, we reach Diagram 6. However, before moving on, please think about this again, because this is a common problem with an important solution which will be encountered frequently in Minesweeper.
___ ____ ___ ____ ___ ___ ___
8 !___!____!___!____!___!___!___!
7 !___!____!___!____!___!___!___!
6 !___!__1_!_2_!_2__!___!___!___!
5 !___!____!_2_!____!___!___!___!
4 !_1_!_1__!_2_!_M_!___!_1_!___!
3 !_1_!_1__!_2_!_2__!_2_!_1_!___!
2 !_1_!_M_!_1_!_1__!___!_1_!___!
1 !_1_!_1__!_1_!_1__!___!___!___!
a b c d e f g
Diagram 6
In Diagram 6, the symmetry has been broken, so we have two separate but related problems to consider. First, think about it. As a hint, you should know that in this position there are 9 entirely safe squares and one certain location for a mine. Now, please think about it until you find these squares or give up.
This is a hard problem which only an expert at Minesweeper can solve without difficulty, so we will proceed to the solution.
Look at square d1. It contains 1. From this, we know that there must be a mine at either e1 or e2, as these are the only squares touching d1.
Now, look at f2. This contains 1. However, we already know that there is a mine at either e1 or e2, and both of those squares touch f2. Therefore, we know that squares f1, g1, g2, and g3 are free of mines and that we can safely open these squares.
In a real game, we would immediately open squares f1, g1, g2 and g3 without further thought and see where that leads us. However, since this is just a teaching example, first we will see what other conclusions can be reached.
Therefore, forget about all of this and look at e3. This contains 2. Since there is already a mine at d4, we know that there must be a mine at either e2 or e4. Next, look at f3. That contains 1. However, we already know that there is a mine at either e2 or e4, both of which touch f3. This means that we have proven that g2, g3 and g4, all of which touch f3, are all free of mines.
Now, look at a4. That contains 1. Therefore, we know that there must be a mine at either a5 or b5. Now, look at b6. Since that contains 1, and since b6 touches both a5 and b5, one of which contains a mine, we know that all other open squares which touch b6 are free of mines. This means that a6, a7, b7 and c7 are all free of mines.
Now, look at c6. This contains 2. Where are those two mines? Think about it. Can you find one of those mines with certainty?
Yes, you can! Look at the five open squares touching c6. These are b7, c7, d7, b5 and d5. However, we already know from the above that b7 and c7 are both free of mines. This means that there must be a total of two mines on squares b5, d5 and d7.
Now, look at c5. This contains 2. However, we already know the location of one of those two mines. That is the mine on d4. That means that there is a mine on either b5 or d5, but not both. Since both b5 and d5 touch c6, this means, by process of elimination, that there must be a mine on d7.
In sum, what we have is that squares f1, g1, g2, g3, g4, a6, a7, b7 and c7 are all free of mines. In addition, we can be certain that there is a mine on d7.
Along the way, you may have noticed a number of 50-50 situations, where a mine may either be on one square or on the other but not both. As noted previously, we must never take risks by taking a 50-50 gamble. Instead, we play elsewhere and wait to see how the game develops. Usually, those 50-50 situations resolve themselves when we gain more information which tells us exactly where the mine is.
Here is a list of the current 50-50 situations:
There must be a mine on a5 or b5 but not both.
There must be a mine on b5 or d5 but not both.
There must be a mine on e1 or e2 but not both.
There must be a mine on e2 or e4 but not both.
We can also see that certain squares are linked together. For example, if there is a mine on e4, then there must be a mine on e1, and visa versa. Similarly, if there is a mine on a5, then there must be a mine on d5 and visa versa. Finally, if there is a mine at d5, then e5, e6 and e7 are all free of mines.
We are now well advanced in the game depicted in Diagram 6 and are close to solving it. In fact, unless we make an outright blunder or a miscalculation (a possibility which can never be overlooked in Minesweeper) it is now almost certain that we will win this game.
Let's open the nine safe squares and mark the one mine that we know about and see what happens.
___ ____ ___ ____ ___ ___ ___ ___ ___ ___
10!_0_!__1_!___!____!___!___!___!___!___!___!
9 !_0_!__1_!___!____!___!___!___!___!___!___!
8 !_0_!__1_!_2_!____!___!___!___!___!___!___!
7 !_0_!__0_!_1_!_M_!___!___!___!___!___!___!
6 !_1_!__1_!_2_!_2__!___!___!___!___!___!___!
5 !___!____!_2_!____!___!___!___!___!___!___!
4 !_1_!_1__!_2_!_M_!___!_1_!_1_!_1_!___!___!
3 !_1_!_1__!_2_!_2__!_2_!_1_!_0_!_1_!___!___!
2 !_1_!_M_!_1_!_1__!___!_1_!_0_!_1_!___!___!
1 !_1_!_1__!_1_!_1__!___!_1_!_0_!_1_!___!___!
a b c d e f g h i j
Diagram 7
Actually, we just opened the nine previously designated squares. Our computer automatically opened the rest.
Here is how that worked: As you can see, 8 squares contain a 0. These are squares a7, a8, a9, a10, b7, g1, g2 and g3. This means that there are no mines touching any of these 8 squares. When your computer encounters a blank space, we signify this here with an "0". When a blank space is encountered, the computer automatically opens up all of the previously unopened squares touching that blank space, just to save you the time and trouble of doing it yourself, since you would have done it anyway, now that you know that these squares are blank.
Then, when these new squares are opened, if any more blanks are encountered, the computer opens up all of the squares adjoining them, and so on.
For example, look at a7. That is a blank. When the computer saw that blank, it automatically opened the adjoining squares of a8, b8 and b7.
However, a8 and b7 were also blank. Therefore, the computer opened all squares adjoining them, which were a9, b9, b8, c8 and c7. Among those, a9 was also blank. Therefore, the computer also opened a10 and b10.
In Diagram 7, we have now opened a total of 42 squares and have marked three mines. We mat feel that we are almost half-way through the game. Actually, we are probably closer to the end than that, unless we encounter a problem situation.
In Diagram 7, look at c9. Can you see that there must be a mine there? This is because of the 1 at b8, which shows that at least one mine must touch it. Since c9 is the only square which touches b8, there must be a mine there.
Now, look at c8, which contains 2. However, since we know that there are mines at both c9 and d7, both of which touch c8, we know that all other squares touching c8, namely d8 and d9, do not contain mines.
Look at b9 and b10, both of which contain 1. Since we know that there is a mine on c9, which touches both b9 and b10, we know that the sole remaining square which touches them, namely c10, is free of mines.
Lastly, but most importantly of everything in this diagram, look at h1, h2 and h3. Here, we have three 1's in a column. This is a common situation, which you will be called upon to solve many times in Minesweeper. You will find it useful to memorize the solution to this situation so that you will not have to think about it every time you encounter it.
Look at h1. That contains 1. This means that there is a mine at either i1 or i2. However, both i1 and i2 touch h2, which also contains 1. This means that no other mines can touch h2, which means that i3 is safe to open.
Remember this example, as it will come up frequently. Remember that every time there is a tower or a row of 1's like this, then the third adjoining square from the bottom is free to open.
From all this, we reach the conclusion that there is a mine on c9 and that c10, d9, d8 and i3 are free of mines. This does not seem to represent much progress, but let's see what happens when we open these squares, reaching Diagram 8.
___ ____ ___ ____ ___ ___ ___ ___ ___ ___
10!_0_!__1_!_1__!____!___!___!___!___!___!___!
9 !_0_!__1_!_M_!__1_!___!___!___!___!___!___!
8 !_0_!__1_!_2__!__2_!___!___!___!___!___!___!
7 !_0_!__0_!_1__!_M_!___!___!___!___!___!___!
6 !_1_!__1_!_2__!_2__!___!___!___!___!___!___!
5 !___!____!_2__!____!___!___!___!___!___!___!
4 !_1_!_1__!_2__!_M_!___!_1_!_1_!_1_!___!___!
3 !_1_!_1__!_2__!_2__!_2_!_1_!_0_!_1_!_1_!___!
2 !_1_!_M_!_1__!_1__!___!_1_!_0_!_1_!___!___!
1 !_1_!_1__!_1__!_1__!___!_1_!_0_!_1_!___!___!
a b c d e f g h i j
Diagram 8
From this diagram, there are 8 safe squares to open. Five of them are obvious. The other three are not obvious.
Look at d9 in Diagram 8. That contains 1. However, there is already a mine at c9 which touches d9. Therefore, all of the other unopened squares which touch d9 can be safely opened. That means that d10, e10, e9 and e8 can be safely opened.
Look at d8. That contains 2. However, there are already mines touching d8 at c9 and d7. Therefore, all unopened squares touching d8 can be safely opened. This means that e9, e8 and e7 can be safely opened.
Now, look at the more difficult but more important situation (because it occurs so frequently) at h3. That contains 1. This means that there must be a mine at i4 or i2 but not both. However, i3 also touches the same two squares: i4 and i2. Also, i3 contains 1. Therefore, there are no mines at any of the unopened squares which touch i3. This means that j2, j3 and j4 are free of mines and can be opened safely.
Go back over this last point to make sure that you understand it, because this pattern will come up again and again in Minesweeper.
As a result of the above, we know that squares d10, e10, e9, e8, e7, j4, j3, and j2 are free of mines. We will now open all of these squares to reach Diagram 9.