NAME

     xbarrel - Barrel X widget


SYNOPSIS

     /usr/games/xbarrel    [-geometry    [{width}][x{height}][{+-
     }{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono]
     [-[no]{reverse|rv}]    [-{foreground|fg}     {color}]     [-
     {background|bg}   {color}]   [-{border|bd}  {color}]  [-tile
     {color}]  [-face{0|1|2|3|4|5}  {color}]   [-[no]orient]   [-
     [no]pairs]   [-[no]install]  [-picture  {filename}]  [-delay
     msecs]  [-[no]sound]  [-bumpSound  {filename}]   [-moveSound
     {filename}] [-base {int}] [-{font|fn} {fontname}] [-userName
     {string}] [-scoreFile {filename}] [-scores] [-version]


DESCRIPTION

     The Barrel, the Billion Barrel,  or  Wonderful  Barrel  also
     seen as the Cylinder Puzzle is of Japanese origin.  The puz-
     zle contains 23 beads of 6 different colors.  4  each  of  5
     different colors arranged in 5 rows and 3 black beads making
     3 rows one unit longer.  A  system  of  plungers  slide  all
     three  of the long rows left and right.  Two of the plungers
     sit together and the other (the middle plunger) is  separate
     from  the  other  two.  There are 2 separate wheels or disks
     that rotate about the center axis.


FEATURES

     Press "mouse-left" button to move a tile.   Release  "mouse-
     left" button in the same row would move the tile towards the
     space (unless there is no space in that row).  Release on  a
     different row will move the tiles up or down.

     Click "mouse-center", or press "P" or "p" keys to toggle the
     practice mode (in practice mode the record should say "prac-
     tice").  This is good for learning moves and experimenting.

     Click "mouse-right", or press "R" or "r" keys  to  randomize
     the puzzle.

     Press "G" or "g" keys to get a saved puzzle.

     Press "W" or "w" keys to write or save a puzzle.

     Press "C" or "c" keys to clear a puzzle.

     Press "U" or "u" keys to undo a move.

     "S" or "s" keys reserved for  the  auto-solver  (not  imple-
     mented).

     Press "O" or "o" keys to toggle the orient  mode.   Slightly
     more challenging on (default is off).

     Press "I" or "i" keys to toggle the  pairs  mode.   All  the
     tiles  rotate in pairs.  This is considerably more challeng-
     ing on (default is on).

     Press ">" or "." keys to speed up the movement of tiles.

     Press "<" or "," keys to slow down the movement of tiles.

     Press "@" key to toggle the sound.

     Press "Esc" key to hide program.

     Press "Q", "q", or "CTRL-C" keys to kill program.

     Use the key pad, "R" keys, or arrow keys to move without the
     mouse.
     Key pad is defined for Barrel as:
       8     Up
       ^
     4< >6   Left, Right
       v
       2     Down

     Use the shift key and the up or down arrow  keys  to  rotate
     all the tiles.

     Use the control key and the keypad or arrow keys  to  reduce
     or enlarge the complexity of the puzzle.

     The title is in the following format (non-motif version):
          xbarrel: {norm|ind<control of movement of pairs tiles>}
          @  (<Number  of  moves>/{<Record number of moves> <user
          name>|"NEVER noaccess"|"practice"}) - <Comment>
     Movement of tile pairs are either move together or  indepen-
     dent.
     If there is no record of the  current  puzzle,  it  displays
     "NEVER noaccess".


OPTIONS

     -geometry {+|-}X{+|-}Y
             This option sets the initial position of the  barrel
             window (resource name "geometry").

     -display host:dpy
             This option specifies the X server to contact.

     -[no]mono
             This option allows you to  display on a color screen
             as if monochrome (resource name "mono").

     -[no]{reverse|rv}
             This option allows you to see the barrel  window  in
             reverse video (resource name "reverse").

     -{foreground|fg} color
             This option specifies the foreground of  the  barrel
             window (resource name "foreground").

     -{background|bg} color
             This option specifies the background of  the  barrel
             window (resource name "background").

     -{border|bd} color
             This option specifies the border color of the  tiles
             in the barrel window (resource name "orderColor").

     -tile color
             This option specifies the tile color of the tiles in
             the barrel window (resource name "tileColor").

     -face{0|1|2|3|4|5} <color>
             This option allows you to change the color of a face
             (resource name "faceColorN"). In mono-mode, color is
             represented as the first letter of the  color  name.
             The 0th face is the last face face on barrel because
             I wanted that one to remain white  by  default  when
             there are more or less faces.

     -[no]orient
             This option allows you to  access  the  orient  mode
             (resource name "orient").

     -[no]pairs
             This option allows you  to  access  the  pairs  mode
             (resource name "kpairs").

     -[no]install
             This option specifies  if  the  colormap  should  be
             installed or not (resource name "install").

     -picture filename
             This option  specifies  the  file  for  the  picture
             (resource name "picture").

     -delay msecs
             This option specifies the number of milliseconds  it
             takes  to  move a tile or a group of tiles one space
             (1-50) (resource name "delay").

     -[no]sound
             This option specifies if a sliding tile should  make
             a sound or not (resource name "sound").

     -bumpSound filename
             This option specifies the file for  the  bump  sound
             (resource name "bumpSound").

     -moveSound filename
             This option specifies the file for  the  move  sound
             (resource name "moveSound").

     -base int
             This option specifies the base used (default is base
             10) (resource name "base").

     -{font|fn} ontname
             This option specifies the font  that  will  be  used
             (resource name "font").

     -userName string
             This option specifies the user name for any  records
             made  or  else it will get your login name (resource
             name "userName").

     -scoreFile filename
             Specify an alternative  score  file  (resource  name
             "scoreFile").

     -scores This option lists all the recorded scores  and  then
             exits.

     -version
             This option tells you what version  of  xbarrel  you
             have.


RECORDS

     You must randomize the puzzle before a record is set, other-
     wise an assumption of cheating is made if it is solved after
     a get.


SAVE FORMAT

     The format is not standard.  The reason  for  this  is  that
     this is simple and I do not know what the standard is.

          pairs: 0-1 <0 false, 1 true; if 1 then pairs  of  rings
          move together>
          orient: 0-1 <0 false, 1 true; if 1 then chain linked in
          order>
          moves: 0-MAXINT <total number of moves>

          startingPosition: <array of tile positions where  0  is
          the empty space>

     This is then followed by the moves, starting from 1.
          move #: <direction> <tile> <shift>
     Direction is represented as 0 up, 1 right,  2  down,  and  3
     left.
     Tile is the column of tile.
     Shift is represented as 0 or 1, 1 if  the  whole  puzzle  is
     moved  at  once  (here Tile does not matter), 0 if not.  The
     xbarrel record keeper does not count a  control  move  as  a
     move, but here we do.


REFERENCES

     L.  E.  Horden,  Sliding  Piece  Puzzles   (Recreations   in
     Mathematics Series), Oxford University Press 1986, Plate X.

     James G Nourse, The Simple Solutions to Cubic, Puzzles, Ban-
     tam Books, New York, November 1981, pp 25-42.

     John Ewing & Czes Kosniowski, Puzzle it  Out:  Cubes  Groups
     and  Puzzles, Cambridge University Press, New York, 1982, pp
     50-54?


SEE ALSO

     X(1), xrubik(6), xskewb(6), xdino(6), xpyraminx(6), xoct(6),
     xmball(6),   xpanex(6),   xcubes(6),  xtriangles(6),  xhexa-
     gons(6), xabacus(6)


COPYRIGHTS

     (Reg.) Copyright 1994-2005, David Albert Bagley


BUG REPORTS AND PROGRAM UPDATES

     Send bugs (or their reports, or fixes) to the author:
          David Albert Bagley, <bagleyd@tux.org>

     The latest version is currently at:
          ftp://ftp.tux.org/pub/tux/bagleyd/xpuzzles
          ftp://ibiblio.org/pub/Linux/games/strategy