NAME

     xcubes - Cubes X widget


SYNOPSIS

     /usr/games/xcubes    [-geometry     [{width}][x{height}][{+-
     }{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono]
     [-[no]{reverse|rv}]    [-{foreground|fg}     {color}]     [-
     {background|bg}   {color}]  [-{border|bd}  {color}]  [-block
     {color}]  [-size{x|y|z}  {int}]   [-[no]install]   [-picture
     {filename}]    [-delay   msecs]   [-[no]sound]   [-bumpSound
     {filename}]  [-dripSound  {filename}]   [-base   {int}]   [-
     {font|fn}   {fontname}]   [-userName  {string}]  [-scoreFile
     {filename}] [-scores] [-version]


DESCRIPTION

     A 3D sliding block puzzle.  The cubes represented are  flat-
     tened  out  on the plane.  If the Blocks Z slider is greater
     than 1, then each group of boxes is a layer of  the  puzzle.
     If  the  Blocks  Z slider = 1, then this is a simple 15 tile
     puzzle.  The 15 puzzle was originally made around 1879  (the
     14-15  puzzle  of Sam Loyd was made soon after).  Similar 3D
     puzzles include BloxBox; Qrazy Qube (2x2x2) by  P.  Hein  of
     Denmark and Varikon Box 'L (3x3x3) (Hungary) and Mad Marbles
     (3x3x3) by Toys & Games International USA.


FEATURES

     Click "mouse-left" button to move  a  block.   Clicks  on  a
     space,  or  clicks  on  blocks  that  are not in line with a
     space, will not move blocks.  Notice, one can move more than
     one  block  at a time by clicking on the block farthest from
     the space but still in line with the space.  Since you  only
     have  a  2-D screen the next level down is either the box to
     the right of the current box or the bottom  of  the  current
     box.

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

     Press "I" or "i" keys to move a block in.

     Press "O" or "o" keys to move a block out.

     Press "S" or "s" keys to start the auto-solver.  Only  works
     on lxmx1 where l > 3 and m > 3.

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

     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 ">" or "." keys to speed up the movement of blocks.

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

     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 Cubes as:
       /      Out

       8      Up
       ^
     4<5>6  Left, In, Right
       v
       2      Down

     The control key allows  you  to  change  the  complexity  of
     xcubes.   Hold  down control key and use the keypad or arrow
     keys to reduce or enlarge puzzle complexity.

     The title is in the following format (non-motif version):
          xcubes: <Number of columns>x<Number of rows>x<Number of
          stacks>  @ (<Number of moves>/{<Record number of moves>
          <user name>|"NEVER noaccess"}) - <Comment>
     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  cubes
             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  cubes  window  in
             reverse video (resource name "reverse").

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

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

     -{border|bd} color
             This option specifies the border color of the blocks
             in the cubes window (resource name "borderColor").

     -block color
             This option specifies the block color of the  blocks
             in the cubes window (resource name "blockColor").

     -size{x|y|z} <int>
             This option allows you to change the number of cubes
             in  a  row, column, or stack (resource name "sizeX",
             "sizeY", "sizeZ").

     -[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 block or a group of blocks one space
             (1-50) (resource name "delay").

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

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

     -dripSound filename
             This option specifies the file for  the  drip  sound
             (resource name "dripSound").

     -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  xcubes  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 or an auto-solve.


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.

          sizeX: 1-8 <number of columns of blocks>
          sizeY: 1-8 <number of rows of blocks>
          sizeZ: 1-8 <number of blocks in a stack>
          moves: 0-MAXINT <total number of moves>

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

     This is then followed by the moves, starting from 1.
          move #: <direction>
     Direction is represented as 0 up, 1 right, 2 down, 3 left, 4
     in, and 5 out.


REFERENCES

     L.  E.  Horden,  Sliding  Piece  Puzzles   (Recreations   in
     Mathematics  Series),  Oxford  University  Press 1986, pp 1,
     157-159.

     Jerry Slocum & Jack Botermans, Puzzles Old  &  New  (How  to
     Make  and Solve Them), University of Washington Press, Seat-
     tle, 1987, pp 126, 127.


SEE ALSO

     X(1), xrubik(6), xskewb(6), xdino(6), xpyraminx(6), xoct(6),
     xmball(6),   xmlink(6),   xpanex(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