NAME
xshogi - Xt/Athena user interface for gnushogi
SYNOPSIS
xshogi [ options ]
DESCRIPTION
xshogi provides an X11/Xt/Athena Widgets user interface for gnushogi.
With xshogi you can play gnushogi, set up arbitrary positions, force
variations, or watch xshogi manage a game between two shogi programs.
Furthermore, it can be used as an interface between two players on
different displays.
xshogi can also be used as a shogi board to play out games. It will
read through a game file or allow a player to play through a variation
manually (force mode). This is useful for keeping track of email
postal games or browsing games off the net.
After starting xshogi, you can make moves by pressing mouse button 1
while the cursor is over a square with your piece on it and dragging
the mouse to another square. If the move is illegal, gnushogi will not
allow it. xshogi will then retract the move.
RULES
Shogi is a Japanese board game played by two players. The object of
the game is to capture the opponent’s King. Shogi is played on a nine-
by-nine board. The vertical rows are called files, the horizontal ones
ranks or just rows. Each player has twenty pieces: one King, two Gold
Generals, two Silver Generals, two kNights, two Lances, one Rook, one
Bishop and nine Pawns. The player moving up the board and making the
first move is referred to as black and his opponent white, although in
Shogi sets all pieces have the same colour. They are differentiated
only in direction: pieces pointing away from a player are his. The
pieces lie flat on the board and have their Japanese name written on
them.
Moves
King one step in any direction per move
Gold General
one step per move any way except diagonally backward (as a king
but not diagonally backward)
Silver General
one step per move forwards or diagonally (as a king but not
sideways or vertically backward)
Knight one step to left or right, and two steps forward (the only
piece which may jump over other pieces)
Rook moves vertically or horizontally any distance
Bishop moves diagonally any distance
Lance moves forward any distance
Pawn one step forward
Promotion
The three rows furthest away from a player are called the promotion
zone. Apart from the King and the Gold, any piece can be promoted to a
more powerful piece when it makes a move completely or partly in the
promotion zone. So, when a piece moves into, out of or fully inside the
promotion zone it may be promoted upon completion of its move.
Promotion is optional, provided that the piece still can make a legal
move in case it is not promoted: if a Pawn or a Lance move to the last
row, or a Knight moves to either of the last two rows, it must be
promoted. In Shogi sets promoting a piece is done by turning this piece
upside down. Its promoted name is written on its other side.
Apart from the King and the Gold General all pieces can promote. After
promotion their moves are as follows:
+ Promoted Silver, promoted kNight, promoted Lance and promoted
Pawn all move as a Gold.
+ The promoted Rook in addition to the moves of the unpromoted
Rook can move one step in the diagonal directions. It either
moves like a Rook or like a King.
+ The promoted Bishop in addition to the moves of the unpromoted
Bishop can move one step horizontally or vertically. It either
moves like a Bishop or like a King.
Capturing and dropping pieces
When one piece moves onto the same square as an opponent’s piece, the
opponent’s piece is captured. All pieces capture in the same way that
they move. Captured pieces become part of the capturer’s force. In a
later move, instead of moving a piece on the board, a player may put a
piece that he has captured from his opponent back onto the board, in an
empty square. This is called dropping a piece. Pieces are always
dropped unpromoted: if a promoted piece is captured, it reverts to its
unpromoted rank. Pieces may be dropped on any empty square on the
board with only three restrictions:
1) After dropping a piece it must be able to make a legal move.
This applies to Pawns, Knights or Lances. They may not be
dropped onto a square from which they will never be able to
move.
2) Attacking the King by dropping a Pawn on the square in front of
him is not allowed if the King cannot prevent being captured on
the following move. To use the Chess expression: checkmating
the King with a Pawn drop is prohibited.
3) A pawn may only be dropped on a file (vertical row) if there is
no other unpromoted pawn of the same player on that file.
Draws
The game of Shogi has very few draws (roughly 1 percent), mainly
because of the possibility to drop pieces. Draws cannot be offered and
can arise from two situations:
1) A position (including the pieces in hand) occurs 4 times with
the same player to move ("Sennichite"). However, if this is
caused by consecutive checks (direct attacks on the King,
threatening to capture it on the next move) by one side, the
player giving these checks loses the game.
2) Both players have moved their King into the the promotion zone
(or they cannot be prevented to do so) and the Kings cannot be
checkmated. In that case the players may decide to count their
pieces where the King does not count, the Rook and Bishop count
as 5 points, and all other pieces as one point. Promotion is
disregarded. If both players have at least 24 points the game
is a draw ("Jishogi"). If a player has less, he loses the game.
Of course, a player can refuse to count pieces when he still has mating
chances or chances to gain material which would affect the outcome of
the counting. There is no strict rule about what to do if this is not
the case, but nonetheless a player refuses to count up (e.g. because he
does not have enough points for a draw). It has been generally accepted
that in such a case the game ends and the pieces are counted after one
player has managed to get all his pieces protected in the promotion
zone.
OPTIONS
The following command line options also correspond to X resources that
you can set in your .Xdefaults or .Xresources file.
standard Xt options
xshogi accepts standard Xt options like -display, -geometry,
-iconic, -bg etc.
-tc or -timeControl minutes[:seconds]
Amount of time for a set of moves determined by
movesPerSession. If this number of moves is played within the
time control period, xshogi resets the time clocks. Default: 5
minutes.
-mps or -movesPerSession moves
Number of moves in a time control period. Default: 40 moves.
-st or -searchTime minutes[:seconds]
Tell gnushogi to spend at most the given amount of time
searching for each of its moves. Without this option, gnushogi
chooses its search time based on the number of moves and amount
of time remaining until the next time control. Setting this
option also sets -clockMode to False.
-sd or -searchDepth number
Tell gnushogi to look ahead at most the given number of moves
when searching for a move to make. Without this option,
gnushogi chooses its search depth based on the number of moves
and amount of time remaining until the next time control.
Setting this option also sets -clockMode to False.
-clock or -clockMode (True | False)
Determines whether or not to use the clock. If clockMode is
False, the clock does not run, but the side that is to play
next is still highlighted.
-td or -timeDelay seconds
Time delay between moves during "Load Game". This doesn’t have
to be round numbers. Try -td 0.4. Default: 1 second.
-nsp or -noShogiProgram (True | False)
If this option is True, xshogi acts as a passive shogiboard; it
does not try to start a shogi program, not even to check
whether moves made in Force mode are legal. It also sets
-clockMode to False. Default: False.
-fsp or -firstShogiProgram program
Name of first shogi program. In matches between two machines,
this program plays white. Default: "gnushogi".
-ssp or -secondShogiProgram program
Name of second shogi program, if needed. In matches between
two machines, this program plays black; otherwise it is not
started. Default: "gnushogi".
-fh or -firstHost host
Name of host the first shogi program plays on. Default:
"localhost".
-sh or -secondHost host
Name of host the second shogi program plays on. Default:
"localhost".
-rsh or -remoteShell shell_name
Some systems do not use rsh as the remote shell. This option
allows a user to name the remote shell command. This should be
done in the resource file.
-mm or -matchMode (False | Init | Position | Opening)
Automatically run a game between firstShogiProgram and
secondShogiProgram. If matchMode is set to Init, xshogi will
start the game with the initial shogi position. If matchMode
is set to Position, xshogi will start the game with the
position specified by the loadPositionFile resource. If
matchMode is set to Opening, xshogi will play out the opening
moves specified by the -loadGameFile resource. If the
-saveGameFile resource is set, a move record for the match will
be saved in the specified file. Default: "False".
-lgf or -loadGameFile file
Name of file to read a game record from. Game files are found
in the directory named by the SHOGIDIR environment variable.
If this variable is not set, the current directory is used
unless the file name starts with a /.
-lpf or -loadPositionFile file
Name of file to read a game position from. Position files are
found in the directory named by the SHOGIDIR environment
variable. If this variable is not set, the current directory
is used unless the file name starts with a /.
-sgf or -saveGameFile file
Name of file to save a game record to. Game files are saved in
the directory named by the SHOGIDIR environment variable. If
this variable is not set, the current directory is used unless
the file name starts with a /.
-spf or -savePositionFile file
Name of file to save a game position to. Position files are
saved in the directory named by the SHOGIDIR environment
variable. If this variable is not set, the current directory
is used unless the file name starts with a /.
-coords or -showCoords (True | False)
If this option is True, xshogi displays algebraic coordinates
along the board’s left and bottom edges. The default is False.
The coordFont resource specifies what font to use.
-mono or -monoMode (True | False)
Monochrome mode. You shouldn’t have to specify monochrome.
xshogi will determine if this is necessary.
-pc or -pieceColor color
Color specification for pieces suitable for XParseColor().
Default: #FFFFD7.
-sc or -squareColor color
Same for squares. Default: #EBDFB0.
-wps or -westernPieceSet (True | False)
Choose the Western style piece set.
-npb or -normalPawnBitmap file
-nnb or -normalKnightBitmap file
-nbb or -normalBishopBitmap file
-nrb or -normalRookBitmap file
-nkb or -normalKingBitmap file
Names of the bitmap files for the bitmap piece icons.
-rpb or -reversePawnBitmap file
-rnb or -reverseKnightBitmap file
-rbb or -reverseBishopBitmap file
-rrb or -reverseRookBitmap file
-rkb or -reverseKingBitmap file
Names of the bitmap files for the outline piece icons.
-debug or -debugMode (True | False)
Turns on debugging printout.
RESOURCES
initString
The actual string that is sent to initialize the shogi program
can be set from .Xdefaults. It can’t be set from the command
line because of syntax problems. The default value is
"new\nbeep\nrandom\neasy\n". The "new" and "beep" commands are
required. You can remove the "random" command if you like;
including it causes gnushogi to randomize its move selection
slightly so that it doesn’t play the same moves in every game.
Even without "random", gnushogi randomizes its choice of moves
from its opening book. You can also remove "easy" if you like;
including it toggles easy mode off, causing gnushogi to think
on your time. That is, if "easy" is included in the
initString, gnushogi thinks on your time; if not, it does not.
(Yes, this does seem backwards, doesn’t it.) You can also try
adding other commands to the initString; see the gnushogi
documentation for details.
blackString and whiteString
These resources control what is sent when the Machine Black and
Machine White buttons are selected. This is mostly for
compatibility with obsolete versions of gnushogi.
Alternate bitmaps for piece icons can be specified either by choosing
one of the built-in sets or with the file name resources described
above. There are three built-in sets of piece bitmaps available, large
(the default), medium, or small. It is easiest to select the set you
prefer in the .Xdefaults file:
XShogi*boardSize: Medium
The font used for button labels and comments can be changed in the
.Xdefaults file. You may want to choose a smaller font if you are
using the small pieces:
XShogi*font: helvetica_oblique12
The font used for coordinates (when the showCoords option is True) can
be set similarly:
XShogi*coordFont: helvetica_10
If you are using a grayscale monitor, try setting the colors to:
XShogi*pieceColor: gray100
XShogi*squareColor: gray60
COMMAND BUTTONS AND KEYS
Quit Quits xshogi. Q or q is a keyboard equivalent.
Reset Resets xshogi to the beginning of a shogi game. It also
deselects any game or position files.
Flip View
inverts the view of the shogi board.
Hint displays a move hint from gnushogi.
Load Game
plays a game from a record file. If no file is specified a
popup dialog asks for a filename. Game files are found in the
directory named by the SHOGIDIR environment variable. If this
variable is not declared then the current directory is used
unless the file name starts with a /. G or g is a keyboard
equivalent. The game file parser will accept almost any file
that contains moves in algebraic notation. If the first line
begins with ‘#’, it is assumed to be a title and is displayed.
Text enclosed in parentheses or square brackets is assumed to
be commentary and is displayed in a pop-up window. Any other
text in the file is ignored.
Load Position
sets up a position from a position file. If no file is
specified a popup dialog asks for a filename. Position files
are found in the directory named by the SHOGIDIR environment
variable. If this variable is not declared then the current
directory is used unless the file name starts with a /.
Position files must be in the format that the Save Position
command writes.
Save Game
saves a game to a record file. If no file is specified a popup
dialog asks for a filename. If the filename exists, the user
is asked whether the current game record is be appended to this
file or if the file should be replaced. Game files are saved
in the directory named by the SHOGIDIR environment variable.
If this variable is not declared then the current directory is
used unless the file name starts with a /. Game files are
human-readable, and can also be read back by the Load Game
command. Furthermore, they are accepted as gnushogi text
bookfiles.
Save Position
saves a position to a position file. If no file is specified a
popup dialog asks for a filename. Position files are saved in
the directory named by the SHOGIDIR environment variable. If
this variable is not declared then the current directory is
used unless the file name starts with a /. Position files are
human-readable, and can also be read back by the Load Position
command.
Machine White
forces gnushogi to play white.
Machine Black
forces gnushogi to play black.
Force Moves
forces a series of moves. That is, gnushogi stops playing and
xshogi allows you to make moves for both white and black.
Two Machines
plays a game between two computer programs.
Forward moves forward through a series of remembered moves. F or f is
a keyboard equivalent.
Backward
moves backward through a series of remembered moves. As a side
effect, puts xshogi into Force Moves mode. B or b is a
keyboard equivalent.
Pause pauses the clocks or (in Load Game mode) pauses the game being
loaded. Press Pause again to continue. P or p is a keyboard
equivalent.
Edit Position
lets you set up an arbitrary board position. Use mouse button
1 to drag pieces to new squares, or to delete a piece by
dragging it off the board or dragging an empty square on top of
it. To drop a new piece on a square, press mouse button 2 or 3
over the square. This brings up a menu of black pieces (button
2) or white pieces (button 3). Additional menu choices let you
empty the square or clear the board. You can set the side to
play next by clicking on the Black or White indicator at the
top of the screen.
Challenge
allows you to make a two display game between two human
players. Enter the display you want to connect to. If you are
allowed to connect, a new board is displayed at the remote
display. Challenge mode can only be stopped by pressing
"quit".
Select Level
allows you to reset the clocks for both players. Enter the
number of moves and the number of minutes in which the moves
should be done.
Move NOW
force computer to stop thinking and to make the current best
move.
Iconify I, i, C or c iconifies xshogi.
SEE ALSO
gnushogi(6)
LIMITATIONS
If you press the Pause button during gnushogi’s turn, xshogi will stop
the clocks, but gnushogi will still make a move.
After a mate or draw when playing against gnushogi, if you back up with
the Backward button, the clocks are reset (because gnushogi has exited
and must be restarted).
Some xshogi functions may not work with versions of gnushogi earlier
than 1.1, patchlevel 02.
The game parser recognizes only algebraic notation.
AUTHORS
Original authors of XBoard: Chris Sears and Dan Sears.
Enhancements for XBoard (Version 2.0): Tim Mann.
Conversion to XShogi (Version 1.1): Matthias Mutz.
Current maintainer: Mike Vanier.
COPYRIGHT
XShogi borrows some of its piece bitmaps from CRANES Shogi.
Copyright 1991 by Digital Equipment Corporation, Maynard,
Massachusetts. Enhancements Copyright 1992 Free Software Foundation,
Inc. Enhancements Copyright 1993 Matthias Mutz
The following terms apply to Digital Equipment Corporation’s copyright
interest in XBoard:
All Rights Reserved
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the name of
Digital not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
The following terms apply to the enhanced version of XShogi distributed
by the Free Software Foundation:
This file is part of XSHOGI.
XSHOGI is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY. No author or distributor accepts
responsibility to anyone for the consequences of using it or for
whether it serves any particular purpose or works at all, unless
he says so in writing. Refer to the XSHOGI General Public
License for full details.
Everyone is granted permission to copy, modify and redistribute
XSHOGI, but only under the conditions described in the XSHOGI
General Public License. A copy of this license is supposed to
have been given to you along with XSHOGI so you can know your
rights and responsibilities. It should be in a file named
COPYING. Among other things, the copyright notice and this
notice must be preserved on all copies.