REVE
Section: Games and Demos (6)
Updated: 13 November 1991
Index
Return to Main Contents
NAME
reve - an othello game.
SYNOPSIS
reve
[
-animate
] [
-bestmove
] [
-black
] [
-clock
] [
-d
difficulty
] [
-e
edgefile
] [
-g
geometry
] [
-h
helpfile
] [
-help
] [
-i
] [
-last
] [
-load
gamefile
] [
-log
] [
-m
] [
-notes
] [
-number
] [
-opponent
user@host
] [
-props
] [
-quick
] [
-r
reve_proc
] [
-v
] [
-white
] [
-?
] [
-Wi
] [
-Wp
x y
] [
-WP
x y
]
DESCRIPTION
Reve
is a version of the popular Othello game. It contains graphical interfaces
for SunView, X11 and XView, as well as being able to function on
normal display terminals using a termcap interface.
Reve is played on an 8 x 8 board, with stones which should be considered to
be black on one side and white on the other. A legal move consists of placing
a stone of one's own color on the board so as to "sandwich" one or more rows
(orthogonal or diagonal) of stones of the opposite color between the stone
just placed and another stone of the same color. All stones so sandwiched are
flipped over to reveal the color of the other side (your own color).
The object of the game, is to have more stones than the opponent at
the end of the game (ie. when the board is full or neither side has
a legal move). If you have no legal move, you simply miss a turn.
Black goes first.
With
reve,
to place one of your own stones simply click with the mouse over the
square in which you want your stone to go. Note that it is also possible
to supply a number and a letter pair, to indicate where you would like your
new stone to go. This is the only method to place stones with the dumb tty
interface. The square containing the last move will be shown with a black
outline. This is updated with each new move. If you hold the mouse button
down as you move around the board, the square you are currently over will
be highlighted.
There are various buttons, choice, toggles and cyclic selections available.
Their meanings are given below, plus an indication of their keyboard
equivalents. With the cyclic selections, clicking over the left half of the
cycle item increments the selection, and clicking over the right half of the
cycle item decrements the selection. Control-l is a keyboard accelerator
for redrawing the
reve
windows.
By default, a human will play black, and the computer will play white. If
you want a human vs human startup or some other combination, then you should
use the appropriate command line options (see below).
REVE BUTTONS
With the graphics versions, there are ten buttons that are normally
displayed at the top of the
reve
window. Each of these buttons, has a keyboard equivalent which is given in
brackets below. Note that the XView version has a slightly different
appearance, but it should be easy to deduce what each option does.
- load [ L ]
-
Load a game file. The format of this game file is given below. With the
graphical versions, a text field is displayed between the done and
quit buttons for you to enter the filename of this game file. Clicking
over the cancel button or pressing the Escape key will cancel the
load operation. When you press the Return key, filename entry is complete,
and the program will try to load this file. If it's unsuccessful, it will
stop on the invalid line, and display an error message. As each line is
successfully read from the game file, the stone is displayed on the board,
and the appropriate stones flipped.
- moves? [ A ]
-
Show all the valid moves for the current board. This is useful for beginners,
and for teaching purposes.
- new game [ n ]
-
Start a new game of
reve
- help [ H ]
-
Display a window containing the online
reve
help information. A cycle at the top of this window allows you to page
through this file.
- redo [ r ]
-
Redo the last "move". If the opponent is the computer, then two "moves" are
redone. A "move" is considered to be all consecutive moves by the opponent.
To redo a move, you must have undone a move.
- props [ p ]
-
Display a property sheet containing choices and toggles which will
alter various reve properties.
- save [ S ]
-
Save the current game to file. See the entry for the load button
above for details of how to enter the filename.
- suggest [ s ]
-
Let the computer suggest a good move for you. This move will be dependent
upon the current level of difficulty set.
- print [ P ]
-
Print the current game to a PostScript printer. The default print command is
"trans | lpr", but this can be over-ridden for the X11 and XView versions
with an X resource (see below).
- undo [ u ]
-
Undo the last "move". If the opponent is the computer, then two "moves" are
undone. A "move" is considered to be all previous consecutive moves by
the opponent.
- quit [ q ]
-
Exit the
reve
program.
REVE PROPERTY SHEET SELECTIONS
With the graphical versions, there is a property sheet window which can be
displayed. The property sheet has two choice items, one cyclic item, and six
toggle items. Click with the left mouse button over the option you want from
the choice items. With the cyclic items, click with the left mouse button over
the appropriate half, to either increment or decrement the current value.
Clicking left over the toggle item boxes, will toggle the value of that item
on or off.
The choice and toggle items also have keyboard equivalents which are given in
brackets below. The choice items must be followed by the value of the new
selection you wish to make. The dumb tty version has the equivalent of these
items displayed to the right of the reve board display.
- Computer plays: [ C ]
-
A choice item which selects what color[s] the computer should play. The
keyboard equivalents are 'b' for black, 'w' for white, 'n' for neither,
and 'a' for all (both).
- Difficulty: [ D ]
-
A choice item which sets the degree of difficulty for the computers moves.
Keyboard selection values are in the range '1' to '9'. The computer move is
determined on a time basis. The degree of difficulty determines the total
amount of time that the computer will take to make all its moves. Here are the
time periods for each level of difficulty:
Difficulty Time
1 Time allocation disabled (fast simple move).
2 1 minutes.
3 3 minutes.
4 5 minutes.
5 10 minutes.
6 15 minutes.
7 20 minutes.
8 30 minutes.
9 60 minutes.
Level eight is tournament level.
- Set search depth: [ No keyboard equivalent ]
-
A cyclic item which sets the maximum search depth for each and every computer
move. By default this option is turned off, and the computer uses a clock to
time it's moves. Depending on where in the game you are, the search depth
usually varies by one or two plys. Turning on this option disables the clock.
- Animate move option. [ O followed by a or A ]
-
A toggle item for animating the computer move and the dragging of human pieces.
- Show current best move option. [ O followed by b or B ]
-
A toggle item for showing the current best move as the computer makes it's
move.
- Show last move option. [ O followed by l or L ]
-
A toggle item for outlining the square containing the last move.
- Show evaluation information option. [ O followed by e or E ]
-
A toggle item for displaying evaluation information for each computer
move. In short, a positive number indicates a good move for the computer, and
a negative number is good for the opponent. The evaluation information also
includes the depth to which the computer searched for it's move. If that depth
value is negative, it indicates the search was not completed at that depth,
due to the timer expiring.
- Number last move option. [ O followed by n or N ]
-
A toggle item for number the last move stone.
- Don't show flip option. [ O followed by f or F ]
-
A toggle item to prevent the flip of the stones as a turn is completed.
- Invalid move shows legal moves option. [ O followed by m or M ]
-
A toggle item which will show all the possible legal moves if the user makes
an invalid move.
- Use Clocks to Time Moves. [ O followed by c or C ]
-
A toggle item to display timer clocks for each player. If timer clocks are
shown, then each player is allowed a certain amount of time to play all their
moves. This amount of time depends on the current level of difficulty.
OPTIONS
- -animate
-
Show animation. The computer's stone will glide in from the top left
corner of the board, and when you hold the left mouse button down, your
stone is dragged around.
- -bestmove
-
As the computer is making it's move, continually show the position of the
best move found so far.
- -black
-
Black will be played by a human.
- -clock
-
Display clocks to time each move. A total amount of time is allowed for each
player depending upon the level of difficulty. When that time has expired, then
the game is over.
- -d difficulty
-
The level of difficulty for computer moves. See the Difficulty:
cyclic item description above for more information.
- -e edgefile
-
Specify an alternate location for the
reve
edge stability table file. Normally the location of this file is compiled
in when the program is created, but
reve
will search every directory on your search path looking file a file called
reve.edgetable.
- -g geometry
-
Used with the X11 variant of
reve
to give geometry information.
- -h helpfile
-
Specify an alternate location for the
reve
online help file. Normally the location of this file is compiled
in when the program is created, but
reve
will search every directory on your search path looking file a file called
reve.help.
- -help
-
Initially show the
reve
help window.
- -i
-
Invert the reve window before displaying it. For use by people who
started their graphics environment in inverse mode. This option is
currently only implemented for the SunView version.
- -last
-
Show where the last stone was placed, by outlining the square.
- -load gamefile
-
Load a game file. The format of this game file is given below. The board
will be setup with these stones.
- -log
-
Save a log of computer move information to the file
reve.res
as the game progresses. This information is probably only useful to
people trying to improve the computer algorithm.
- -m
-
Always display in monochrome, even on a color screen.
- -notes
-
Display computer notes.
- -number
-
Show the move number on the last stone placed.
- -opponent user@host
-
Play a game against another human on another networked machine.
Reve
will send an invitation to that person asking if the want to play, and they
will then invoke
reve
on their machine (using your username and hostname), and the connection is
established. Note that both machines need to have the
reve
network daemon configured. See the README file for information on how to do
this.
- -props
-
Initially show the
reve
property window.
- -quick
-
Play a quick game. Don't flash the stones as they are being turned.
- -r reve_proc
-
Full pathname of the computer strategy
reve_proc
program.
- -?
-
Print the version number and usage message for this release of the
reve
program.
- -v
-
Print the version number and usage message for this release of the
reve
program.
- -white
-
White will be played by a human.
- -Wi
-
Start the
reve
program up in iconic form. The SunView and XView version of
reve
will automatically uses this flag, but the X11 version will also.
- -Wp x y
-
Start the open window position at
x y
- -WP x y
-
Start the icon position at
x y
RESOURCES
On startup, the X11 and XView version of
reve
will use the following X resources. These resources can be placed in all the
normal X places. You can also set a
REVEDEFAULTS
environment variable to
point to a file containing them, or place them in a
.reverc
file in your home directory.
-
-
Resource:
reve.animate
- Values:
-
True, False (False)
- Description
-
Indicates whether various animation effects are shown.
- Resource:
-
reve.bestmove
- Values:
-
True, False (False)
- Description
-
Indicates whether to continually show the best move so far, as the computer
is making it's move.
- Resource:
-
reve.boardSize
- Values:
-
Board size (numeric)
- Description
-
The initial size in pixels of the reve game board.
- Resource:
-
reve.difficulty
- Values:
-
Difficulty value (numeric)
- Description
-
The computer difficulty level.
- Resource:
-
reve.last
- Values:
-
True, False (False)
- Description
-
Indicates whether the position of the last stone placed is shown by a square.
- Resource:
-
reve.log
- Values:
-
True, False (False)
- Description
-
Indicates whether to save a log of computer information to the file
reve.res/
- Resource:
-
reve.notes
- Values:
-
True, False (False)
- Description
-
Indicates whether todisplay computer notes.
- Resource:
-
reve.number
- Values:
-
True, False (False)
- Description
-
Indicates whether the last stone placed in numbered.
- Resource:
-
reve.quick
- Values:
-
True, False (False)
- Description
-
Indicates whether a quick game should be played. Stones are not flashed as
they are placed, if this resource is set true.
- Resource:
-
reve.properties
- Values:
-
True, False (False)
- Description
-
Indicates whether the properties window is initially displayed.
- Resource:
-
reve.showClocks
- Values:
-
True, False (False)
- Description
-
Indicates whether timer clocks for each player are initially displayed.
- Resource:
-
reve.showHelp
- Values:
-
True, False (False)
- Description
-
Indicates whether the online help window is initially displayed.
- Resource:
-
reve.showLegalMoves
- Values:
-
True, False (False)
- Description
-
Indicates whether an invalid move should show all legal moves.
- Resource:
-
reve.iconiseForOpponentMove
- Values:
-
True, False (False)
- Description
-
Indicates whether the reve window should be closed during the opponents move.
- Resource:
-
reve.bellAfterOpponentMove
- Values:
-
True, False (False)
- Description
-
Indicates whether there should be a beep sounded after the opponents move.
- Resource:
-
reve.raiseAfterOpponentMove
- Values:
-
True, False (False)
- Description
-
Indicates whether the reve window should be automatically raised to the top
after the opponents move.
- Resource:
-
reve.panelColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The background color of the main and property panels.
- Resource:
-
reve.boardColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The color of the reve playing board.
- Resource:
-
reve.boardBorderColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The border color of the reve playing board.
- Resource:
-
reve.gridColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The color of the grid lines on the reve playing board.
- Resource:
-
reve.textColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The color of all text panel text items.
- Resource:
-
reve.itemColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The background color of the button and cycle items.
- Resource:
-
reve.blackStoneColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The color of the "black" stones.
- Resource:
-
reve.whiteStoneColor
- Values:
-
Color name string or hexadecimal color specification string
- Description
-
The color of the "white" stones.
- Resource:
-
reve.blackStoneName
- Values:
-
Black stone name string
- Description
-
The name to be displayed in all "black" stone messages.
- Resource:
-
reve.whiteStoneName
- Values:
-
White stone name string.
- Description
-
The name to be displayed in all "white" stone messages.
- Resource:
-
reve.printCommand
- Values:
-
Print command string
- Description
-
The print command to use to print reve game transcripts.
- Resource:
-
reve.boardFont
- Values:
-
Font name string
- Description
-
The name of the font used to display text on the reve game board.
- Resource:
-
reve.boldFont
- Values:
-
Font name string
- Description
-
The name of the font used to display bold text.
- Resource:
-
reve.helpFont
- Values:
-
Font name string
- Description
-
The name of the font used to display the online help information.
- Resource:
-
reve.normalFont
- Values:
-
Font name string
- Description
-
The name of the font used to display normal text.
REVE GAMES FILE FORMAT
Reve
has the ability to load or save games. The format of the games files are:
1, <C-4> - [ remarks field ]
2, - <E-3> [ remarks field ]
There is one move per line. Lines starting with a '#' and blank lines
are ignored. The first field of each line is the move number. This will
be present before the comma. It is used as a consistency check. Next are
the black and white fields. If the '<' character is present before the
white. The three characters between the '<' and '>' are the move, and
give the column and row. The column letter can be in either lower or
upper case.
It is possible for one player to have two or more consequentive moves, hence
the need for the above scheme.
Reve
is flexible about white space (except between the '<' and '>' characters).
The remarks field is ignored. The program will stop on the first line it
thinks is in error, and display the reason for this. As valid lines are
read from a game file, the board is updated.
FILES
- /usr/local/lib/reve.edgetable
-
- /usr/local/lib/reve.help
-
- ~/.reverc
-
edge stability table for all possible edge combinations.
- /etc/services
-
- /etc/inetd.conf
-
BUGS
See the TODO file for the list of known problems.
AUTHORS
Computer strategy: Yves Gallot (no net address at present).
Graphics interface: Rich Burridge richb@Aus.Sun.COM
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- REVE BUTTONS
-
- REVE PROPERTY SHEET SELECTIONS
-
- OPTIONS
-
- RESOURCES
-
- REVE GAMES FILE FORMAT
-
- FILES
-
- BUGS
-
- AUTHORS
-
This document was created by
man2html,
using the manual pages.
Time: 04:09:58 GMT, December 02, 2024