xgammon(6)

xgammon(6)

xevil Home Page Games Index xhockey


NAME
       xgammon -- an X11 backgammon for linux

SYNOPSIS
       xgammon [-otherdisplay <<displayname>>]
               [-boardgeometry <geometry_string>]
               [-boardcolor    <color>] [-bc <color>]
               [-darkcolor     <color>] [-dc <color>]
               [-lightcolor    <color>] [-lc <color>]
               [-barcolor      <color>] [-b  <color>]
               [-whitecolor    <color>] [-blackcolor <color>]
               [-doublerfont   <font>]  [-smallFont <font>]
               [-doubling      +doubling]
               [-watchmove     +wachmove]
               [-stonesteps    <pixel>]
               [-delaytime     <tsec>]
               [-buttonmove    +buttonmove]
               [-bm            +bm]
               [-autoplay      +autoplay]
               [-rollout       +rollout]
               [-nr   <number_of_rollouts>]
               [-f    <filename>]
               [-h    (black|white)]
               [-gamekind -g   (hvc|cvc|hvh)]
               [-winat         <points>]
               [-? -help]

DESCRIPTION
       `xgammon', a backgammon program for linux

OPTIONS
       xgammon recognizes the following options:

       -otherdisplay <<displayname>>
              Play  a  game with a player on some remote X-Termi-
              nal.  A second `xgammon' will be  displayed  there.
              (example: xgammon -otherdisplay somehost:0.0)

       -boardgeometry <<geometry_string>>
              Defines  the  size  of  the  board  widget. `Geome-
              try_string' must be an XtGeometry-string  (example:
              450x350).  By  default the relation of width/height
              of the board is 12/15. <Geometry_string> is rounded
              to this relation.

       -boardcolor, -bc <<color>>
              Sets the background color of the board.

       -darkcolor, -dc <<color>>
              Sets the color of dark points.

       -lightcolor, -lc <<color>>
              Sets the color of light points.

       -barcolor, -b <<color>>
              Sets  the  color  of the bar and the left and right
              edge of the board.

       -whitecolor, -blackcolor <<color>>
              Sets the color of the stones.

       -humancolor, -h (black|white)
              Sets the color of the human player's  stones.   Im-
              plies  a  game between `xgammon' and a human being.
              (The default).

       -doublerfont <<font>>, -smallFont <<font>>
              These are the fonts used for the doubler dice.  On-
              ly  one  large  and  one small font can be selected
              now, not a font family yet.

       -gamekind, -g (cvc|hvc|hvh)
              Sets the game.
              cvc means computer versus computer,
              hvc means human    versus computer,
              hvh means human    versus human,

       -winat <<points>>
              Play a tournament up to <points> points.

       -watchmove, +watchmove
              `xgammon' will "move" it's stones.

       -stonesteps <<pixel>>
              You can speed up the stones by giving this resource
              a  greater value.  Implies watchmove is set `true'.

       -delaytime (tseconds)
              Sets a delaytime in tenth of a second, which  gives
              you  a  closer look on the computer moves.  Implies
              watchmove is set `false'.

       -buttonmove -mb, +buttonmove +bm
              If buttonmove is true, you can set the stones  sim-
              ply  by  pressing the button.  The left button sets
              the lower dice value, the right one the other.   In
              case of equation both buttons can be used.

       -autoplay, +autoplay
              `Xgammon'  will  set  your stones, if there is only
              one possible move.

       -doubling, +doubling
              Sets the use of the doubler dice.  Since  the  dou-
              bling of `xgammon' is still poor, you might wish to
              turn it off.

       -rollout, +rollout
              `Xgammon' will rollout a position.  This  rank   is
              read from a file.  (See -f option below.) This file
              is automatically generated from the  current  game,
              if not specified otherwise.

       -nr <<number_of_rollouts>>
              Sets the number of rollouts.

       -f <<filename>>
              Specifies the positionfile you want to use. The de-
              fault is `xgammon.save'.

       -database <<filename>>
              Specifies the endgame database file to use.

HOW TO PLAY
       When you start the game, `xgammon' will  immediately  roll
       and start a game. When it's your turn:
       Move pointer to a stone.
       Press left button.
       Carry stone to the chosen point.
       Release button.
       That's it.
       To  speed  this a little up, try the +buttonmove option or
       .buttonmove resource. (See RESOURCES or OPTIONS.)

DOUBLING
       When you're allowed to double, `xgammon' draws empty dice.
       You  can  double  by a single click on the doubler dice or
       press the `d' key.
       Some simple popups manage the rest.
       This is only possible, when  the  `doubling'  resource  is
       `true'. (See RESOURCES or OPTIONS.)

GAME OPTIONS
       There  are three different kind of games. Human versus hu-
       man, computer versus human, and computer versus  computer.
       The  last  one isn't very meaningful yet, and more or less
       for reasons of development.

MENU OPTIONS
       [edit position]
              If you click on this  menu  entry,  `xgammon'  will
              first break the current game or tournament and draw
              an empty board. Then you can enter  a  position  to
              your  liking.   The  right button gives you a black
              stone, the left button a white stone.   The  middle
              button  removes a stone.  If there are 15 stones of
              each color on the board `xgammon' will automatical-
              ly  ask you for the dice and doubler etc. in a pop-
              up.  In case of stones already beared off, you  can
              break  the  setting  of  stones by hitting any key.
              Choose `ok' button and the game continues.  You can
              as  well  rollout  or maildump this position.  (For
              this purpose set the right gamekind first.)

       [computer finish]
              If the game is almost done and you are  bored  with
              rolling  it down, you can click this option and the
              computer will finish the game. At the  end  of  the
              game the human player gets control again.
              In this mode the computer will not double.

       [rollout]
              To  rollout a position use this option.  The number
              of games rolled out are set with the  `numrollouts'
              resource  or the -nr command line option.  (see RE-
              SOURCES or OPTIONS.)  Invoked from the game  `xgam-
              mon' will fork itself and start a second, third ...
              process, so you can continue playing.   There  will
              be  a  popup  to inform you about the current state
              and the result.  This popup will  vanish  with  any
              button  or  key  event  inside.   The result of the
              rollout is additionally saved in  a  `xgammon.roll-
              out.<num>.save'  file.   It  is more appropriate to
              use this feature  via  commandline  options.   (See
              ROLLOUT below.)

       [mail dump]
              Saves the current or an edited position in the for-
              mat used by FIBS or in `rec.games.backgammon' news-
              group in a file named `xgammon.maildump'.

KEYS
       The board reacts on the following keys:
       `q', `<Ctrl>c' or `<Ctrl>d' quit the game.
       `u' undoes the current move move.
       `r' restarts the game (tournament).
       `s', `S', `l' and `L' save or load a position or game.
       You may set these keys in your .Xdefaults file.

TEXT WINDOWS
       There  are  two text windows in the `XGammon-Buttons' win-
       dow, where the current tournament, moves, doubler  actions
       etc.  are  printed.  You can also add comments there.  The
       text in the lower window will be saved if you  invoke  any
       save command.

EDIT A POSITION
       You  may  edit  a  position,  and  play out from there, by
       pressing the `edit position'  menu  entry  in  the  `game'
       menu.   Black stones are set with left mouse button, white
       stones with the right one.  If you misplace  a  stone  you
       can  remove  it  with  the middle button.  There will be a
       popup asking for additional information, if you  have  en-
       tered  15 black and 15 white stones, or pressed any key to
       stop placing stones.

MAIL DUMP A POSITION
       Clicking the menu entry `mail dump'  `xgammon'  will  save
       the  current  position in a file named `xgammon.maildump'.
       The  occuring  format  is  that   used   most   often   in
       `rec.games.backgammon'  news  group.  So it should be very
       easy to edit a position, add some comments and  then  mail
       or post it.

ROLLOUTS
       Even  if  there is the menu option `rollout', this is more
       or less a command line option.  An example would be
       `xgammon -rollout -nr 1000 -doubling -f rollout.save',
       which would rollout a 1000 times  the  position  saved  in
       `rollout.save'.   It  should  be rather easy to modify the
       save file slightly, and make several rollouts of these po-
       sitions.  All  results will be appended to these files. If
       you use the menu entry `rollout', it is most important  to
       set  an  appropriate `numrollouts' resource in your `.Xde-
       fault' file, because `xgammon' will not ask you  for  this
       value, when starting rollouts.

X RESOURCES
       .otherdisplay: <<displayname>>
              Play  a  game with a player on some remote X-Termi-
              nal.  A second `xgammon' will be  displayed  there.
              (example: xgammon -otherdisplay somehost:0.0)

       .boardColor: <<color>>
              Specifies the background color of the board.

       .lightColor: <<color>>
              Specifies  the  background  color  of  the  lighter
              points.

       .darkColor: <<color>>
              Specifies  the  background  color  of  the   darker
              points.

       .barColor: <<color>>
              Specifies  the  color of the bar and the board bor-
              ders.

       .whiteColor: <<color>>
              Specifies the color of the "white" stones.

       .blackColor: <<color>>
              Specifies the color of the "black" stones.

       .doublerFont: <<font>>, .smallFont: <<font>>
              Defines the fonts used for doubler dice.  The  dou-
              bler  dice  size  depends on the board size. If the
              board size is too  small,  the  smallFont  will  be
              used.

       *board.cursor: <<cursor>>
              Sets the cursor to be used for the board widget(s).

       .humanStones: <<black|white>>
              If you want to play the white stones set  this  re-
              source to "white". ("Black" is Default.)

       .watchmove: <<true|false>>
              If watchmove is true, you can see the stones "fly",
              when the computer moves.

       .delaytime: <<seconds>>
              Sets a delaytime in tenth of a second, which  gives
              you  a  closer look on the computer moves.  Implies
              watchmove is set `false'.

       .stonesteps: <<pixel>>
              You can speed up the stones by giving this resource
              a greater value.  Implies watchmove is `true'.

       .doubling: <<true|false>>
              Sets  the  use of doubler dice.  Since the doubling
              of the computer is still poor, you  might  wish  to
              turn it off.

       .buttonMove: <<true|false>>
              If  buttonmove  is  true,  you  can  play by simply
              pressing a button.  The left button sets the  lower
              dice  value,  the right one the other.  On equation
              both buttons can be used.

       .numrollouts: <<number>>
              Specifies the number of rollouts from a given posi-
              tion,  before adding the result to a position file.
              Any unsigned integer value should be all right.

       .positionfile: <<name>>
              The file, where `xgammon' shall save and  load  all
              informations to-and-fro.

DIAGNOSTICS
       `Xgammon'   uses  the  function  usleep()  for  delaytime.
       Usleep is not defined on some systems.
       #define usleep(a) sleep(a)
       is set then.  As a result, you can only delay seconds, not
       tseconds.

BUGS
       The program is still in state of development, so there are
       certainly bugs.  `Xgammon' will save the current  position
       in a `xgammon.sig_save' file on some signals. Please email
       this file to the authors.  It may help find the bugs.   If
       you  can generate a core dump, gzip, uuencode and mail it,
       which would also be very helpful.

       Otherdisplay:
       Some popup resources and actions on ".otherdisplay"  some-
       times get lost.
       Black can set white stones and vv. (funny feature ?)

AUTHORS
       Lambert Klasen and Detlef Steuer
       email:
       klasen@asterix.uni-muenster.de      steuer@amadeus.statis-
       tik.uni-dortmund.de

xevil Home Page Games Index xhockey