XBomb(1)

NAME
xbomb Version 2 - a version of the popular minesweeper program with some novel features.

SYNOPSIS
xbomb [-hexagon|-square|-triangle] [-1|-2|-3] [-hiscore]

OPTIONS

-hiscore
    command line option displays the current hi-score table without starting the game.

-hexagon | -square | -triangle
    Selects the type of grid to use when starting the game.

-1 | -2 | -3
    Selects the level to use when starting the game.

The standard X window options also apply to this program.

DESCRIPTION
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:

Easy
    8 by 8 grid with 10 bombs.

Medium
    16 by 16 grid with 40 bombs.

Difficult
    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.

MOUSE OPERATION
The game is played with the mouse, with all three buttons having different actions.

Left Button
    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.

Middle Button
    Uncover all surrounding locations that are not marked as containing a bomb.

Right Button
    Mark the current grid location as having a hidden bomb (toggle).

KEYSTROKES
There are a number of keystroke shortcuts for the game:

1 2 3
    Select level 1, 2 or 3 for the next game.

s   Start a new game.

q   Quit the program.

h   Print the high-scores.

H or Control-H
    Use the grid of hexagons for the next game.

S or Control-S
    Use the grid of squares for the next game.

T or Control-T
    Use the grid of triangles for the next game.

X RESOURCES
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:

grid.bomb
    The colour of the bombs - default black.

grid.bombreal
    The colour of the real bombs - default red.

grid.bombmark
    The colour of the bombs that are marked by the user - default orange.

grid.number
    The colour of the number '1' when drawn in the grid - default navy blue.

grid.number2
    The colour of the number '2' when drawn in the grid - default dark green.

grid.number3
    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.

grid.hidden
    The colour of the hidden squares - default grey50.

grid.correct
    The colour of the squares that were correctly guessed - default green

grid.font
    The font that is used for the number in the grid - default lucidasans-24

BUGS
None known.

AUTHOR
Andrew M. Bishop.