NAME

     xoct - Octahedron X widget


SYNOPSIS

     /usr/games/xoct     [-geometry      [{width}][x{height}][{+-
     }{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono]
     [-[no]{reverse|rv}]    [-{foreground|fg}     {color}]     [-
     {background|bg}    {color}]    [-{border|bd}   {color}]   [-
     face{0|1|2|3|4|5|6|7} {color}] [-{size {int} |  sticky}]  [-
     {mode   {int}  |  both}]  [-[no]orient]  [-[no]practice]  [-
     {font|fn} {fontname}] [-username {string}]


DESCRIPTION

     The original puzzle has 9 triangles per face (size = 3)  and
     has  period  4 turning (i.e. the face or points turn with 90
     degree intervals).  The puzzle was designed by  Uwe  Meffert
     and called the Magic Octahedron (or Star Puzzler).  The puz-
     zle was not widely distributed but not exactly  rare.   This
     puzzle  has some analogies to the Rubik's Cube and the solv-
     ing techniques  are  the  same  to  that  of  the  Pyraminx.
     Christoph's  Magic  Jewel  is  similar  except  there are no
     trivial  corners   to   solve.    This   has   2^22*12!   or
     2,009,078,326,886,400 different combinations.

     Uwe Meffert also noticed that there could  be  an  alternate
     twisting  for  the  octahedron where it has period 3 turning
     (i.e. faces turn with 120 degree intervals).

     One is able to simulate a  Trajber's  Octahedron  (period  3
     turning  and sticky mode).  Also one is able to simulate one
     with variant turning (period 4 turning and sticky mode).


FEATURES

     Press "mouse-left" button to move a piece.  Release  "mouse-
     left" button on a piece on the same face and in the same row
     (but not an adjacent piece or the move is  ambiguous).   The
     pieces  will  then  turn  towards where the mouse button was
     released.

     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
     (this must be done first to set a new record).

     Press "I" or "i" keys to increase the number of "octas".

     Press "D" or "d" keys to decrease the number of "octas".

     Press "O" or "o" keys to toggle the orient mode.  One has to
     orient  the  faces  in  orient mode, besides getting all the
     faces to be the same color.  To do this one has to  get  the
     lines  to  be  oriented  in  the  same  direction, this only
     matters with center "octas", if at all (i.e.  those  "octas"
     not on a corner or edge).  This does add complexity so there
     are 2 sets of records.

     Press "3", "4", "B", or "b" keys (not the keypad  3,  4)  to
     change modes to Period 3, Period 4, or Both.

     Press   "Y"   or   "y"   keys   to   toggle   sticky    mode
     (increase/decrease is disabled here if sticky mode is on).
     "Sticky" and "Period 3" turning allows  only  the  faces  to
     turn.   It is as if the middle cut of the three cuts did not
     exist.
     "Sticky" and "Period 4" turning allows only  the  points  to
     turn,  it  is as if the middle cut of the three cuts did not
     exist.
     Beware, the "Sticky" mode is a hack and much could  be  done
     to improve its look.

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

     Press "U" or "u" keys to undo 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 "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
     mouse clicks.
     Key pad is defined for Oct as:
       /     Counterclockwise

     7 8 9   Upper Left, Up, Upper Right
       ^
     4<5>6   Left, Clockwise, Right
       v
     1 2 3   Lower Left, Down, Lower Right

     Use the shift keys to access "Period 4"  turns  from  "Both"
     mode,  otherwise it assumes "Period 3" turning.  Points turn
     in "Period 4" and faces turn in "Period 3".

     Use the control key and the left mouse  button,  keypad,  or
     arrow  keys  to  move  the  whole  octahedron.   This is not
     recorded as a turn.

     The title is in the following format (non-motif version):
          xoct.{3|4|both<turning                         modes>}:
          {1|2|3|4|5|6|sticky<number  of  "octas"  per  edge>}  @
          (<Number   of   moves>/{<Record   number   of    moves>
          <username>|"NEVER noaccess"|"practice"}) - <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
             octahedron 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 octahedron  window
             in reverse video (resource name "reverse").

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

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

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

     -face{0|1|2|3|4|5|6|7} <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  faces  are  ordered  top  to bottom and left to
             right.  If you has two colors that  begin  with  the
             same letter you should have one in uppercase and one
             in lowercase to distinguish them in  mono-mode.  You
             can  change the colors of the faces to make a stupid
             octahedron (i.e. all White or in mono-mode all "W").
             Unfortunately,  it  will not normally say its solved
             when its randomized.  This would be cheating.

     -size <int>
             This option allows you to change the number of octas
             on a edge (resource name "size").

     -sticky This option  allows  you  to  set  the  sticky  mode
             (resource name "sticky").

     -mode <int>
             This option allows  you  to  set  the  turning  mode
             (resource name "mode").

     -both   This option allows you to set the  turning  mode  to
             both period 3 and period 4 (resource name "mode" set
             at 5).

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

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

     -{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, 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.

     Octahedron with default colors, not randomized:
       0       R     Red
     3   1   M   B   Magenta, Blue
       2       W     White
       4       O     Orange
     7   5   Y   P   Yellow, Pink
       6       G     Green

          size: 1-6 <number of triangles in the same  orientation
          as the face per row>
          mode: 3-5 <period 3 turning, period 4 turning, or  both
          (5)>
          orient: 0-1 <0 false,  1  true;  if  1  then  lines  on
          "octas" to be oriented>
          sticky: 0-1 <0 false, 1 true; if 1  then  some  "octas"
          move together>
          practice: 0-1 <0 false, 1 true>
          moves: 0-MAXINT <total number of moves>

          startingPosition: <2 dimensional array of  face  "octa"
          position,  each face has size * size "octas", if orient
          mode then orientation number follows face  number  num-
          bered clockwise from 0 to 11, where 0 is up>

     This is then followed by the moves, starting from 1.
          move #: <face> <position> <direction> <control>
     Each turn is with respect to a face and position.
     Position is 0 to size * size - 1.  Position 0 is the  trian-
     gle furthest from the center, increasing clockwise.
     Direction is represented as 0 up, 1 upper right, 2 right,  3
     lower  right,  4 down, 5 lower left, 6 left, 7 upper left, 9
     clockwise, and 15 counterclockwise.
     Control is represented as 0 or 1, 1 if the whole  octahedron
     is  moved at once (here position does not matter), 0 if not.
     The xoct record keeper does not count a control  move  as  a
     move, but here we do.


REFERENCES

     Beyond Rubik's Cube: spheres,  pyramids,  dodecahedrons  and
     God  knows  what  else  by Douglas R. Hofstadter, Scientific
     American, July 1982, pp 16-31.

     Magic Cubes 1996 Catalog of Dr. Christoph Bandelow.


SEE ALSO

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