MINESWEEPER\
An ASCII-Graphics Emulation of Minesweeper {#minesweeper-an-ascii-graphics-emulation-of-minesweeper align=”center”}
==========================================
MINESWEEPER is a C++ program which emulates the popular Minesweeper
game, using ASCII graphics, by Detelina Stoyanova.
The program sets up an 8 by 8 board, with 10 mines. The minefield is
displayed, using ‘-‘ to indicate unknown squares, a blank for clear
squares, and a number for a clear square with that many mined neighbors.
The user selects a square by typing in the row and column number.
There are three optional inputs:
- M means you want to mark a possible mine. The program asks you
to specify a row and column, and places a ‘?’ there.
- U means you want to unmark a possible mine. The program places a
‘-‘ there.
- Q means you want to quit the game immediately;
Licensing: {#licensing align=”center”}
The computer code and data files described and made available on this
web page are distributed under the GNU LGPL
license.
Languages: {#languages align=”center”}
MINESWEEPER is available in a C++
version.
LIFE_OPENGL, a C++
program which uses OpenGL to display the evolution of John Conway’s
“Game of Life”.
LIGHTS_OUT_OPENGL,
a C++ program which sets up a “Lights Out” game and allows the user to
solve it, using the OpenGL graphics window.
Author: {#author align=”center”}
Detelina Stoyanova
Reference: {#reference align=”center”}
- Richard Kaye,\
Minesweeper is NP Complete,\
Mathematical Intelligencer,\
Volume 22, Number 2, pages 9-15, 2000.
Source Code: {#source-code align=”center”}
List of Routines: {#list-of-routines align=”center”}
- MAIN is the main function for the MINESWEEPER program.
- INITIALSTATE initializes all the elements of the two arrays to
-‘s
- PRINTTABLE prints the visible table.
- PLACEMINES places MINES mines randomly in the table.
- CALCULATENUMBERS calculates the number of mines adjacent to each
square.
- GETNEIGHBORS returns the indices of the 8 neighbors of a square.
- ISREALNEIGHBOR checks which neighbors are “real neighbors”.
- COUNTMINES computes the number of mines that are neighbors to a
square.
- PLAY controls the game and allows the player to make moves.
- OPENSAFE is called whenever a square with no neighboring mines
is cleared.
You can go up one level to the C++ source codes.
Last revised on 26 July 2011.