NAME

     xhexagons - Hexagons X widget


SYNOPSIS

     /usr/games/xhexagons   [-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}] [-size{x|y} {int}]  [-[no]corners]  [-delay  msecs]
     [-[no]sound]   [-bumpsound   {filename}]  [-base  {int}]  [-
     {font|fn} {fontname}] [-username {string}]


DESCRIPTION

     A sliding tile puzzle.  A hexagonal version of the  15  puz-
     zle.   The  17  puzzle  was conceived of by Alwin Vietor and
     marketed in 1885 in Germany as "Trilemma" with round pieces.
     Sam Cornwell rediscovered this in 1989 with "Clockblocks" of
     which 12 were numbered using hexagonal pieces.  Also he pro-
     duced  a  smaller  12 block puzzle with 9 that were numbered
     called "Ninefield".  Also Bernhard Wiezorke came up with the
     similar  17  puzzle,  "Hexafax,  the New Fifteen Puzzle", in
     1991 and a smaller 11 piece "Counterfax"  of  which  8  were
     numbered.


FEATURES

     If in corners mode: Press  "mouse-left"  button  to  move  a
     tile,  then release "mouse-left" button on a space.  It will
     not move if blocked.  One can only move one tile at a  time.
     The  only  tiles  that  can be moved are the tile(s) next to
     both spaces.
     If in nocorners mode: Click "mouse-left" button  to  move  a
     tile.   One can move more than one tile at a time and one is
     not constrained by parity.

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

     Press "M" or "m" keys to toggle corners mode.   (Default  is
     on).

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

     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 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 Hexagons as:
     7   9   Upper Left, Upper Right

       ^

     4< >6   Left, Right

       v

     1   3   Lower Left, Lower Right

     The control key allows you to change the complexity of xhex-
     agons.   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):
          xhexagons: <size> @ (<Number of moves>/{<Record  number
          of moves> <username>|"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  hexa-
             gons 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 hexagons window in
             reverse video (resource name "reverse").

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

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

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

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

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

     -corners
             This option specifies the  mode  where  movement  is
             very restrictive (resource name "corners").

     -nocorners
             This option specifies the  mode  where  movement  is
             very easy (resource name
              "corners").  -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").

     -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").


RECORDS

     You must randomize  the  puzzle  before  a  record  is  set,
     otherwise  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.

          corners: 0-1 <0  false,  1  true;  if  0  then  hexagon
          corners are all snipped>
          sizeX: 1-10 <number of columns of tiles>
          sizeY: 1-10 <number of rows of tiles>
          moves: 0-MAXINT <total number of moves>

          startingPosition: <array of tile positions where  0  is
          the  empty  space  for  the  HIGH hexagon and -1 is the
          empty space for the LOW hexagon (if present)>

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


REFERENCES

     Dieter Gebhardt, "From  Trilemma  to  Counterfax",  CFF  53,
     October 2000, pp 8-10.

     Sam Cornwell, "Ninefield: a Sliding Block Puzzle",  CFF  57,
     March 2002, pp 4-5.

     Dieter Gebhardt, "Ninefield Revisited", CFF 58, July 2002, p
     21.

     Bernhard Wiezorke, "Hexafax, the New  Fifteen  Puzzle"  bro-
     chure


SEE ALSO

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