A version of the popular minesweeper program with some novel features.
xbomb [-hexagon|-square|-triangle] [-1|-2|-3] [-hiscore]
command line option displays the current hi-score table without starting the game.
Selects the type of grid to use when starting the game.
Selects the level to use when starting the game.
The standard X window options also apply to this program.
A game of logical deduction against the clock. The purpose of the game is to find the location of the hidden bombs in a grid. Each of the locations in the grid is initially covered, by uncovering a locations, a number or a bomb will be revealed underneath. If a bomb is revealed then the game is finished. A number indicates the number of adjacent locations that contain bombs. Locations that have not been uncovered but are thought to contain bombs can be marked as such so that they can be identified.
There is a choice of hexagonal, square or triangular units that make up the grid, the level of difficulty increasing as the number of sides decreases. In all cases the grids are of the same size and contain the same number of bombs for the same levels.
There are three levels to the game:
8 by 8 grid with 10 bombs.
16 by 16 grid with 40 bombs.
30 by 16 grid with 99 bombs.
A high score table is maintained for each of the levels for each of the grid types, storing the username, the time to complete the puzzle and the date that it was finished.
The game is played with the mouse, with all three buttons having different actions.
Uncover the current location if it is hidden or uncover all surrounding locations marked as not containing bombs if the square is already uncovered. The first selection made in a game is always a 'safe' square.
Uncover all surrounding locations that are not marked as containing a bomb.
Mark the current grid location as having a hidden bomb (toggle).
There are a number of keystroke shortcuts for the game:
Select level 1, 2 or 3 for the next game.
Start a new game.
Quit the program.
Print the high-scores.
Use the grid of hexagons for the next game.
Use the grid of squares for the next game.
Use the grid of triangles for the next game.
The name of the class used is XBomb, the widget hierarchy used is (Widget-Class:name):
XBomb Form:form Command:start MenuButton:menu SimpleMenu:levelmenushell smeBSBObject:Easy smeBSBObject:Medium smeBSBObject:Difficult MenuButton:menu SimpleMenu:typemenushell smeBSBObject:Hexagon smeBSBObject:Square smeBSBObject:Triangle Command:hiscore Command:quit Core:grid Command:clock Command:uxb
The extra resources that are available for the grid are:
The colour of the bombs - default black.
The colour of the real bombs - default red.
The colour of the bombs that are marked by the user - default orange.
The colour of the number '1' when drawn in the grid - default navy blue.
The colour of the number '2' when drawn in the grid - default dark green.
The colour of the number '3' when drawn in the grid - default dark red. The other numbers up to 12 also have their own resources.
The colour of the hidden squares - default grey50.
The colour of the squares that were correctly guessed - default green
The font that is used for the number in the grid - default lucidasans-24
Andrew M. Bishop.