# xskewb

## SYNOPSIS

           /usr/games/xskewb                                            [-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|4|5}   {color}]
           [-{border|bd}  {color}]  [-delay msecs] [-[no]sound] [-moveSound {file-
           name}] [-{font|fn} {fontname}] [-view {int}] [-[no]orient]  [-[no]prac-
           tice] [-userName {string}] [-scoreFile {filename}] [-scores] [-version]

## DESCRIPTION

           The original puzzle has each face cut by a diamond, so that there are 5
           pieces, 4 corner pieces and one diamond piece in the center.  This  was
           designed  by  Uwe  Meffert and called the Pyraminx Cube.  Douglas Hofs-
           tadter later coined it a Skewb and it stuck.  The puzzle has  period  3
           turning  (i.e.  each  half turns with 120 degree intervals).  The Skewb
           has 2^5*3^8*6!/2^6 or 3,149,280 different  combinations  (with  centers
           oriented 2^5*3^8*6!/2 or 100,766,960 different combinations).

           More  recently,  Disney  released  Mickey's  Challenge, its a spherical
           skewb with a pretty good internal mechanism.   Mickey's  challenge  has
           2^5*3^8*6!/36  5,598,720  visually  different  combinations).   It also
           comes with a pretty neat book.  Also released is  the  Creative  Puzzle
           Ball or Meffert's Challenge which has 4 rings in different colors.

           Mach Balls of the Hungarian Gyula Mach are similar but they do not have
           a ratchet mechanism and do not turn as easily or  smoothly.   One  must
           match the 12 different symbols of 4 each at the 12 intersection points.

## FEATURES

           Press "mouse-left" button to move a piece.  Release "mouse-left" button
           on a piece on the same face.  (Clicks on diamonds  are  ignored).   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 "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.

           "S" or "s" keys to start auto-solver.

           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 diamond piece.  This does add
           complexity so there are 2 sets of records.

           Press "V" or "v" keys to change the view of the cube.

           Press ">" or "." keys to speed up the movement of  pieces  (not  imple-
           mented).

           Press  "<"  or "," keys to slow down the movement of pieces (not imple-
           mented).

           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 the Skewb2d 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

           If the mouse is on a diamond, the above keys will not move cube because
           the move is ambiguous.  Also if the mouse is on a triangle, not all the
           keys will function because the puzzle will only  rotate  on  the  cuts,
           i.e.  a  triangle  with a Upper Left - Lower Right cut will rotate only
           Upper Left & Lower Right, a triangle with a Upper Right  -  Lower  Left
           cut  will  rotate only Upper Right & Lower Left.  Therefore, a triangle
           can only move tangential to the center of the face. No  doubt  this  is
           confusing,  but  the  physical  skewb is the same way. In fact, that is
           part of its appeal.

           Key pad for other than Skewb2d, use must use your intuition (is this  a
           cop  out  or  what?).   The key pad is defined differently depending on
           which side of the cube your mouse is pointing at.  One thing that stays
           the same is "5" is Clockwise and "/" is Counterclockwise.

           Use the control key and the left mouse button, keypad, or arrow keys to
           move the whole cube.  Its also possible to rotate whole  cube  with  an
           axis  through  a  face with alt key is pressed (Tab key when using Win-
           dows).  This is not recorded as a turn.

           The title is in the following format (non-motif non-opengl version):
                  xskewb{2|3}d<dimension>: (<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  skewb  window
                   (resource name "geometry").

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

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

           -[no]{reverse|rv}
                   This option allows you to see the skewb window in reverse video
                   (resource name "reverseVideo").

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

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

           -face{0|1|2|3|4|5} <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. On the 2-D version, the faces
                   are ordered top to bottom and left to right on the "t" configu-
                   ration.  The  "+-"  configuration is physically consistent with
                   the former, so it is ordered "0, 1, 2, 3, 5, 4".   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 cube (i.e. all White or in mono-mode all "W").  Unfortu-
                   nately,  it  will  not normally say its solved when its random-
                   ized. This would be cheating.

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

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

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

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

           -view <int>
                   This  option  allows  you  to  change  the view of the cube for
                   OpenGL with choice of 4 views (resource name "int").

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

           -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 xskewb you have.

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

## SAVE FORMAT

           Here is the format for the xskewb configuration, starting position, and
           the movement of its pieces.

           Skewb2d with default colors, not randomized:
             0       R     Red
           1 2 3   B W G   Blue, White, Green
             4       P     Pink
             5       Y     Yellow

                  orient: 0-1 <0 false, 1 true; if 1 then lines on  pieces  to  be
                  oriented>
                  practice: 0-1 <0 false, 1 true>
                  moves: 0-MAXINT <total number of moves>

                  startingPosition:  <2 dimensional array of face and corner posi-
                  tion and center diamond position, each face has 4 corner  pieces
                  and  one  center  piece,  if orient mode then orientation number
                  follows face number: 0 up, 1 right, 2 down, and 3 left>

           This is then followed by the moves, starting from 1.
                  move #: <direction> <control> <face> <corner>
           Each turn is with respect to a corner on a face.
           The corners start at the upper right and work clockwise.
           Direction is represented as 0 upper right, 1 lower right, 2 lower left,
           3  upper left, 5 clockwise, 7 counterclockwise, 8 up, 9 right, 10 down,
           and 11 left.
           Control is represented as 0 or 1, 1 if the whole cube is moved at  once
           (here  the corner does not matter), 0 if not.  The xskewb 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.

           Mickey's Challenge by Christoph Bandelow.

           Magic Cubes 1996 Catalog of Dr. Christoph Bandelow.

## SEE ALSO

           X(1), xcubes(6), xtriangles(6),  xhexagons(6),  xmlink(6),  xbarrel(6),
           xpanex(6), xmball(6), xpyraminx(6), xoct(6), xrubik(6), xdino(6), xaba-
           cus(6)

## COPYRIGHTS

           (R) Copyright 1994-2017, David A. Bagley

## BUG REPORTS AND PROGRAM UPDATES

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

           The latest version is currently at:
                  http://www.sillycycle.com/puzzles.html
                  http://ibiblio.org/pub/Linux/games/strategy

    V8.0.6                            23 Mar 2017                        XSKEWB(6)