SYNOPSIS

       /usr/games/xpyraminx                                         [-geometry
       [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]]                 [-display
       [{host}]:[{vs}]]   [-[no]mono]   [-[no]{reverse|rv}]  [-{foreground|fg}
       {color}] [-{background|bg} {color}]  [-face{0|1|2|3}  {color}]  [-{bor-
       der|bd} {color}] [-delay msecs] [-{font|fn} {fontname}] [-{size {int} |
       sticky}] [-{mode {int} | both}] [-[no]orient]  [-[no]practice]  [-user-
       Name {string}] [-scoreFile {filename}] [-scores] [-version]


DESCRIPTION

       The  original puzzle has 9 triangles per face (size = 3) and has period
       3 turning (i.e. the face or points turn in 120 degree intervals).   The
       puzzle  was  designed by Uwe Meffert and called the Pyraminx.  This has
       2^5*3^8*6!/2 or 75,582,720 different combinations.

       Another puzzle Senior Pyraminx 3x3x3  exists  only  on  paper,  it  has
       period  2  turning (i.e.  edges turn with 180 degree intervals) but the
       corners would fall off unless it had some tricky mechanism.  (This  may
       be  the  same as the Master Pyraminx which has 446,965,972,992,000 dif-
       ferent combinations).

       Another puzzle (which was not widely distributed), the Junior  Pyraminx
       (and  similarly  the  Junior  Pyraminx Star, a octahedron formed by two
       tetrahedra, this has 7!*3^6 or 3,674,160 different combinations), has 4
       triangles  (size = 2) per face.  This puzzle has been recently reissued
       by Meffert as  Pyramorphix  (http://www.mefferts-puzzles.com).  At  the
       time  I designed this computer puzzle thought that it had only period 2
       turning (i.e the edges rotate).  It turns out the puzzle has a period 4
       turning  (edges turn with 90 degree intervals) which makes it analogous
       to the 2x2x2 Rubik's cube.  This puzzle makes  various  non-tetrahedral
       shapes.  The puzzle contained here has no period 4 turning flexability.

       One is able to simulate Halpern's Tetrahedron or  Pyraminx  Tetrahedron
       (period  3 turning and sticky mode).   Also one is able to simulate one
       with variant turning (period 2 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 "practice").  This is good
       for learning moves and experimenting.

       Click  "mouse-right", or press "Z" or "z" keys, to randomize the puzzle
       (this must be done first to set a new record).

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

       Press "W" or "w" keys to save (write) a puzzle.
       those  "facets"  not on a corner or edge).  This does add complexity so
       there are 2 sets of records.

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

       Press  "Y" or "y" keys to toggle sticky mode (increase/decrease is dis-
       abled here if sticky mode is on).
       "Sticky" and "Period 2" turning allows only the edges to turn, and  the
       2  center  rows  turn together. It is as if the middle cut of the three
       cuts did not exist.
       "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.
       Beware,  the  "Sticky" mode is a hack and much could be done to improve
       its look.

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

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

       Press "Esc" key to hide program.

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

       Use the key pad or arrow keys to move without the mouse.
       Key pad is defined for Pyraminx as:
         /     Counterclockwise

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

       Use the shift keys to access "Period 3" turns from "Both" mode,  other-
       wise  it  assumes "Period 2" turning.  Faces and points turn in "Period
       3" and edges (2 points) turn in "Period 2".

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

       The title is in the following format (non-motif version):
              xpyraminx.{2|3|both<turning  modes>}: {1|2|3|4|5|6|7|sticky<num-
              ber of "facets" per edge>} @ (<Number of moves>/{<Record  number
              of moves> <user name>|"NEVER noaccess"|"practice"}) - <Comment>
       If  there  is no record of the current puzzle, it displays "NEVER noac-
       cess".


OPTIONS

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

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

       -face{0|1|2|3} <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 pyraminx (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.

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

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

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

       -size <int>
               This option allows you to change the number of facets 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 2
               and period 3 (resource name "mode" set at 4).

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

       You must randomize the puzzle before a  record  is  set,  otherwise  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
       to  produce and the standard notation is no good for variable number of
       "facets" and turning modes.

       Pyraminx with default colors, not randomized:
       0     B     Blue
         1     R   Red
       2     Y     Yellow
         3     G   Green

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

              startingPosition: <2 dimensional array of face "facet" position,
              each face has size * size "facets", if orient mode then orienta-
              tion number follows face number: 0 up, 1 upper right, 2 right, 3
              down, 4 lower left, and 5 left>

       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 triangle  furthest
       from the center, increasing clockwise.
       Direction  is represented 0 up, 1 upper right, 2 right, 3 down, 4 lower
       left, 5 left, 9 clockwise, and 15 counterclockwise.
       Control is represented as 0 or 1, 1 if the whole tetrahedron  is  moved
       at  once  (here  position  does  not  matter), 0 if not.  The xpyraminx
       record keeper does not count a control move as a move, but here we  do.

       If  you have a Pyraminx you can not solve (2x2x2 or 3x3x3), enter it in
       pyraminx.log file.  Have size = 2 or 3, mode = 3, orient = 0,  practice
       =  0,  randomized  = 1, and moves = 0 and the number representation for
       the color of the "facets" (usually  0=B,  1=R,  2=Y,  3=G).   Bring  up
       xpyraminx,  hit  'g'  so it will get your configuration and then 's' to
       solve your pyraminx and then 'w' to write out the steps.  Then  examine
       your pyraminx.log file.


REFERENCES

       James  G  Nourse,  The Simple Solutions to Cubic Puzzles, Bantam Books,
       New York, November 1981, pp 8-15.
       X(1), xrubik(6), xskewb(6), xdino(6),  xoct(6),  xmball(6),  xmlink(6),
       xpanex(6), xcubes(6), xtriangles(6), xhexagons(6), xabacus(6)


COPYRIGHTS

       (R) Copyright 1994-2006, 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



V7.2.2                            21 Apr 2006                     XPYRAMINX(6)