XTMINES

Section: Games and Demos (6)
Updated: 18 April 1992
Index Return to Main Contents
 

NAME

xtmines - X11-based minefield game  

DESCRIPTION

xtmines is a games that runs under X11. To start up the game, simply type xtmines. A few command line options are listed below under OPTIONS.

The display consists of two main areas: the field at the top and the information windows at the bottom. The field is divided into a 40x25 grid of squares. You are the man (indicated by the number 0) at the top-left corner. Your objective is to traverse the field and arrive safely at the goal (the flag) at the bottom-right corner. Along the way, hidden bombs are scattered across the field. As you determine which squares are safe and which are unsafe, you may make appropriate marks using the middle and right mouse buttons.

You can only move across the field one square (horizontally, vertically, or diagonally) at a time. You are also allowed to immediately move to any square you have previously been to (such squares will be shaded gray), or any square that you have marked as safe and which is adjacent to a square already traversed. If you land on a square with a bomb, then you will blow up. Any bombs that are horizontally or vertically (but not diagonally) adjacent will also blow up. This causes a possible "chain reaction" of bomb explosions.

To aid your traversal of the field, you will be told how many of the adjacent (up to eight) squares contain bombs. This information will usually be sufficient to determine where the hidden bombs are. Instead of having the number of adjacent bombs shown in the square where you currently are (this option is called showfig ) you can choose to have your current position marked by a man. To toggle this option, click on the square labeled "Show=?".

As an additional aid, sanity checking is available. This means that if you mark too many adjacent squares as being either safe or unsafe, then you will be warned. Since, such "insane" marking is the cause of many undesired explosions (especially after you have been playing for a while, and fatigue makes counting become difficult), there is a 1% point penalty for using sanity checking on a particular level.

Automarking is a feature that automatically marks all eight adjacent squares as safe if there are no bombs in those adjacent squares. This feature has been extended to be recursive (ie. if appropriate, automarking will be performed on any of the eight squares that have been marked as safe). The extended automarking is only available starting with the level of lieutenant (otherwise, on the grunt level, the complete path from start to finish would usually be shown). During extended automarking, if any squares are found to be free of surrounding bombs, then it will be shaded to mark it as though you had already traversed that square. This will allow you to immediately skip to the "frontier" on the extended automarking. By pressing the space bar, "automarking" can be forced. However, if you do this, no check is performed to make sure that there are no adjacent bombs; thus, squares could be incorrectly marked. Extended automarking is disabled for space-bar-forced automarking. There is a 10% point penalty for each level on which you use extended automarking.

You are also given three grenades with which you can blow up bombs. These grenades can only be thrown a distance of five squares (count off the five squares by counting the number of horizontal and vertical moves you would have to make to go to that square). Again, there is a possible chain reaction of explosions, and if you happen to be next to a square that explodes, then you will also explode. When you explode and die, a tombstone is placed on that square, and you can no longer enter that square. There is always a guaranteed safe path from start to goal. This means that it is always possible to reach the goal without removing any bombs from the field by exploding them.

When you reach the goal safely (ie. with at least one life left), then you will receive points based on the time you have left, the number of bombs left unexploded, the number of grenades left, the number of times you died, and whether or not you used sanity checking or extended automarking. If your current rank is at least lieutenant and your current score is at least 3000, then you will receive an extra life and an extra grenade (you can have at most three grenades at the start of any level). Also, when you reach the goal, all hidden bombs will be shown. If you have marked any squares incorrectly, then those squares will be highlighted.

Once you attain the rank of angel and reach the goal as a angel, you are promoted to the rank of god, and the game ends. Also, if you run out of time or lives, the game ends. A high scores list is implemented and is shown and updated at the end of every game. Since very high scores can be attained by simply starting out at the angel level, a maximum of five high scores from the angel starting level are permitted. To quit the game, you must explicitly quit (ie. you must either click on the Quit button or hit 'q' or 'Q'). Otherwise, you will be allowed to continue moving around on the field, being able to blow up bombs and yourself and being able to throw any remaining grenades. The timer will stop, and you will not be able to advance to the next level or gain points. The reason for allowing this is to permit you to analyze your position once the game ends.

Below the field is a set of windows with information. The topmost window below the field is the status window. Error messages and more importantly, adjacent bomb information will be given here. If you require the adjacent bomb information without moving, click on your current position.

The second row of windows contain the following info:
Bombs:
will decrease when bombs on the field are exploded.
Bonus:
how many points you would earn if you were to reach the goal at that specific time.
Time:
time left before the game is over.
Score:
how many points accumulated so far; points are only awarded upon reaching the goal.
Grenades:
how many grenades are left.
Rank:
current rank (determines number of bombs at start and starting time).
Lives:
how many lives remaining (including the current one). (This window is actually in the third row.)

The third row of window contain the contain buttons (which you can click on):

Automark = on/off
toggles automark on and off. Automarking means that if the check for adjacent bombs reveals no bombs, then all adjacent squares that can be marked as safe will be marked as safe. This is a time-saving feature for fields with few bombs. Since most of the time, there will be no hidden bombs in adjacent squares, you will want to mark all adjacent squares as safe. With automark=on, this will be automatically done for you. You can force marking of all adjacent squares as safe by pressing the spacebar. This will work regardless of what automark is set to. If a square is already marked as dangerous, then it will remain marked as dangerous.
Surrender
give up on current game. All hidden bombs will be shown. You will be able to move around, blow up, and throw grenades, but you not cannot increase your score anymore.
Throw Grenade
click to throw a grenade, and then click on the square you wish to throw the grenade on. There is a maximum distance to the throw. This distance is computed by adding the minimum number of moves you would have to make to reach that square. The current maximum throw distance is five squares. If you throw a grenade on an empty square, any bombs (or people) on adjacent squares will also explode.
Show=?
? will either be man or fig. If Show=man, then the man bitmap will be used at the current position; if Show=fig, then the number of adjacent bombs will be shown at the current position.
Quit
self-explanatory. You can click here at just about any time.

The fourth row of window contain the contain buttons (which you can click on):

Refresh
force a refresh of all windows. This shouldn't be necessary, as most refreshes should be performed automatically.
ExtAmark
If ExtAmark=on, then extended automarking as described above will be performed. You must have automark=on and be ranked at least as a lieutenant. Since there is a point penalty for using extended automarking on each level, if you have already used extended automarking on the current level, then an asterisk will be shown after the =. If you have already used extended automarking on a particular level, and you do not wish to use it for the next level, make sure you turn it off before you reach the goal; otherwise, you will still be penalized for it because you will start out using extended automarking.
Sanity
If Sanity=on, then sanity checking as described above is enabled. As with extended automarking, because there is a point penalty for using sanity checking, the asterisk notation is used to indicate the use of this option on the current level. To use sanity checking you must have automark=on and be ranked at least as a lieutenant.
Pause/Continue
Click on this button to pause the game (the button will then be relabeled as Continue). Click on it again to continue. During the pause, the field will be cleared and the clock will be stopped. You can also use the 'p' or 'P' keys to pause and the 'c' or 'C' keys to continue.

In the field window, the following keystrokes are recognized:
spacebar
mark all surrounding squares as safe unless already marked as unsafe. This is similar to the automark feature, but is not automatic. This option will usually be used when you believe you have already marked all the surrounding dangerous squares, and you wish to mark the remaining ones as safe. Only the immediately surrounding squares are marked; extended automarking is not performed.
p or P
pause the game. The field will be cleared, and the clock will be stopped. You can also click on the Pause button. c or C continue the game after it has been paused. You can also click on the Continue button.
q or Q
quit the game. Same as clicking on the Quit button.
control-l
perform a screen refresh.

In the field window, the mouse buttons have these meanings:
left button
moves the man to that square. You can only move one square at a time. You cannot move to a tombstone. When you leave a square, it is shaded to mark where you have already been. You can always move to any square that you have already been at, regardless of the distance.
middle button
will toggle the "bomb present" marking. This is useful as a memory aid when you believe you know where a bomb already is. You will not be allowed to move onto this square until you turn of the "bomb present" marking.
right button
will toggle the "safe" marking. Again, this is a memory aid to help you keep track of what squares you have already determined to be safe. Keep in mind that this designation may be erroneous.
 

OPTIONS

-s
show high scores list and exit
-lr
start at level r , which must be an integer from 0(grunt) to 9(angel). The highest rank is god. However, being an xtmines god is something you have to work at. Therefore, the highest rank you can start out at is angel.
 

BUGS

The high scores file is not secure the way it is created. If you don't have root privileges, you should set the set-user-id bit for the xtmines executable file by using "chmod u+s xtmines.hiscores" (without the quotes, of course). If you do have root permissions, then you should probably place the executable in the games directory and the high scores file in the games/lib directory. The group for the executable should be games, and the set-group-id bit should be set.

Please report bugs to ttsai@uiuc.edu (Timothy Tsai).  

ACKNOWLDGEMENTS

The idea for xtmines came from the UNIX PC game called mines. The high scores list functions are pretty much those used by Wayne A. Christopher in his tetris game. Thanks are also due Benjamin Tsai and Dane Dwyer for their suggestions and time spent testing out the program.


 

Index

NAME
DESCRIPTION
OPTIONS
BUGS
ACKNOWLDGEMENTS

This document was created by man2html, using the manual pages.
Time: 06:06:29 GMT, December 12, 2024