Provided by: xmpuzzles_7.7.1-1_amd64 bug


       xpyraminx - Pyramid X widget


       /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}] [-{border|bd} {color}] [-delay msecs]
       [-[no]sound] [-moveSound {filename}] [-{font|fn}  {fontname}]  [-{size  {int}  |  sticky}]
       [-{mode  {int}  |  both}]  [-[no]orient]  [-[no]practice] [-userName {string}] [-scoreFile
       {filename}] [-scores] [-version]


       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 different 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 ( 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).


       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

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

       Press "R" or "r" keys to read a saved puzzle.

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

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

       Press "E" or "e" keys to redo a move.

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

       Press  "S" or "s" keys to start auto-solver.  Only works on 1x1x1, 2x2x2, and 3x3x3 facets
       in Period 3 mode.

       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  pieces,  if  at
       all (i.e.  those pieces 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 disabled 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 pieces.

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

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

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

       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 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
       1 2     Lower Left, Down

       Use the shift keys to access "Period 3" turns  from  "Both"  mode,  otherwise  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<number  of  pieces 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 noaccess".


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

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

               This option allows you to display the pyraminx window on a color screen as  if  it
               were monochrome (resource name "mono").

               This  option allows you to see the pyraminx window in reverse video (resource name

       -{foreground|fg} color
               This option specifies  the  foreground  of  the  pyraminx  window  (resource  name

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

       -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  pieces  in  the  pyraminx  window
               (resource name "borderColor").

       -delay msecs
               This  option  specifies  the number of milliseconds it takes to move pieces (1-50)
               (resource name "delay").

               This option specifies if sliding pieces should make a sound or not (resource  name

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

       -{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 pieces on  a  edge  (resource  name

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

               This option allows you to access the orient mode (resource name "orient").

               This option allows you to access the practice mode (resource name "practice").

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

               This option tells you what version of xpyraminx you have.


       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.


       Here is the format for the xpyraminx configuration, starting position, and the movement of
       its  pieces.   The  format is not standard.  The reason for this is that this is simple to
       produce and the standard notation is not easily scalable for variable number of pieces 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 pieces to be oriented>
              sticky: 0-1 <0 false, 1 true; if 1 then some pieces move together>
              practice: 0-1 <0 false, 1 true>
              moves: 0-MAXINT <total number of moves>

              startingPosition: <2 dimensional array of face piece position, each face has size *
              size pieces, if orient mode then orientation 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 pieces (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.


       James  G  Nourse,  The Simple Solutions to Cubic Puzzles, Bantam Books, New York, November
       1981, pp 8-15.

       Mastering the Magic Pyramid by Tom Werneck,  Evans  Brothers  Limited,  London,  1981.  pp

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

       John Ewing & Czes  Kosniowski,  Puzzle  it  Out:  Cubes,  Groups  and  Puzzles,  Cambridge
       University Press, New York, 1982, pp 60-61.

       Magic Cubes 1996 Catalog of Dr. Christoph Bandelow.


       X(1), xcubes(6), xtriangles(6), xhexagons(6), xmlink(6), xbarrel(6), xpanex(6), xmball(6),
       xoct(6), xrubik(6), xskewb(6), xdino(6), xabacus(6)


       ® Copyright 1994-2010, David A. Bagley


       Send bugs (or their reports, or fixes) to the author:
              David A. Bagley, <>

       The latest version is currently at: