XRUBIK(6)

XRUBIK(6)

xroger Home Page User Commands Index xrx


NAME
       xrubik - Magic cube X widgets

SYNOPSIS
       /usr/games/xrubik                               [-geometry
       [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]]    [-display
       [{host}]:[{vs}]]    [-mono]   [-{foreground|fg}   <color>]
       [-{background|bg}    <color>]    [-{border|bd}    <color>]
       [-face{0|1|2|3|4|5}  <color>]  [-size <int>] [-[no]orient]
       [-[no]practice] [-username {string}]

DESCRIPTION
       The original puzzle has 9 squares per  face  (size  =  3).
       The  puzzle  was  designed  by  Erno  Rubik and called the
       Rubik's Cube.  This has 8!*12!*3^8*2^12/12 or 4.3 *  10^19
       different combinations.

       The  Pocket  Cube  has  4 squares per face (size = 2) also
       designed by Erno Rubik.  This has 7!*3^6 or 3,674,160 dif-
       ferent combinations.

       Rubik's  Revenge  has  16 squares per face (size = 4) also
       designed by Erno Rubik.  This has 7!*3^6*24!*24!/(4!)^6 or
       7.4 * 10^46 different combinations.

       5x5x5  Cube.   This has 8!*12!*3^7*2^10*(24!)^3/(4!)^12 or
       2.83 * 10^74 different combinations.

       There is also  the  Magic  Domino  3x3x2  cube  which  has
       (8!)^2/4  or  406,425,600  combinations.   The puzzle con-
       tained here does not have the flexibility to allow this.

       A physical 6x6x6 cube is possible but to my  knowledge  no
       one  has  been  too  successful in building one.  7x7x7 is
       also possible, but here one  must  make  the  center  most
       cubes  smaller  than  the outside cubes, so the corners do
       not fall off when turned.

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.  The pieces will then  turn  towards  where  the
       mouse button was released.

       Press  "mouse-center",  or press "P" or "p" keys to toggle
       the practice mode (in practice mode the record should  say
       "practice").   One  must double click on "mouse-center" if
       the puzzle is being worked on.  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).   One  must
       double  click  on  "mouse-right"  if  the  puzzle is being
       worked on.

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

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

       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  "cubies",  if  at  all  (i.e.   those
       "cubies" not on a corner or edge).  This does add complex-
       ity so there are 2 sets of records.

       "S" or "s" to start auto-solver.   Only  works  on  1x1x1,
       2x2x2, and 3x3x3 cubes (3x3x3 cube in non-orient mode).

       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 "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 the Rubik2d as:
         /     Counterclockwise

         8     Up
         ^
       4<5>6   Left, Clockwise, Right
         v
         2     Down

       Key pad for Rubik3d, 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.  This is not recorded
       as a turn.

       The title is in the following format (non-motif version):
              xrubik{2|3}d<dimension>:   {1|2|3|4|5|6<cubes   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 rubik
               window (resource name "geometry").

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

       -mono   This  option allows you to access the mono mode on
               a color monitor (resource name "mono").

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

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

       -{border|bd} color
               This option specifies  the  border  color  of  the
               "cubies"  in the rubik window (resource name "bor-
               derColor").

       -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"
               configuration.  The  "+-"  configuration is physi-
               cally 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").  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
               "cubies" on a edge (resource name "size").

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

SAVE FORMAT
       The  format  is  not standard.  The reason is that this is
       simple to produce and the standard notation is no good for
       variable number of "cubies".

       Rubik2d with default colors, not randomized:
         0       R     Red
       1 2 3   Y W G   Yellow, White, Green
         4       O     Orange
         5       B     Blue
              size: 1-6 <the number of cubes per row>
              orient:  0-1  <0  false, 1 true; if 1 then lines on
              "cubies" to be oriented>
              practice: 0-1 <0 false, 1 true>
              moves: 0-MAXINT <total number of moves>
              startingPosition: <2 dimensional array of face  and
              cubie position, each face has size * size "cubies",
              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 #: <face> <position> <direction> <control>
       Each turn is with respect to a face and position.
       Position  is  0  to size * size - 1.  Position 0 is in the
       upper left.
       Direction is represented as 0 up, 1 right, 2 down, 3 left,
       5 clockwise, and 7 counterclockwise.
       Control  is  represented as 0 or 1, 1 if the whole cube is
       moved at once (here position does not matter), 0  if  not.
       The  xrubik record keeper does not count a control move as
       a move, but here we do.

       Caution: the program may crash on corrupted input.

       If you have a Rubik's cube you can  not  solve  (2x2x2  or
       3x3x3)  enter  it in rubik.data file.  Have size = 2 or 3,
       orient = 0, practice = 0, randomized = 1, and  moves  =  0
       and the number representation for the color of the "cubie"
       faces (usually 0=R, 1=Y, 2=W, 3=G, 4=O,  5=B).   Bring  up
       xrubik, hit 'g' so it will get your configuration and then
       's' to solve your cube and  then  'w'  to  write  out  the
       steps.  Then examine your rubik.data file.

REFERENCES
       Inside  Rubik's  Cube  and  Beyond  by Christoph Bandelow,
       Birkhauser, 1982. pp 44, 45, 88, 89

       Magic Cubes 1996 Catalog of Dr. Christoph Bandelow.

       Rubik's Cube Newsletter by Ideal Aug 1982 Vol.1 No. 2

       Rubik's Cube The Solution by Ideal

       Rubik's Revenge Puzzle The Solution by Ideal

SEE ALSO
       X(1) xskewb(6) xdino(6) xpyraminx(6) xoct(6) 
       xmball(6) xmlink(6) xpanex(6) xcubes(6) xtriangles(6) 
       xhexagons(6) xabacus(1) 

COPYRIGHTS
       (R) Copyright 1994-97, David Albert Bagley

BUG REPORTS AND PROGRAM UPDATES
       Send bugs (or their reports, or fixes) to the author
              David Albert Bagley,     lt;bagleyd@bigfoot.com

       The most updated source could be found on ftp.x.org  under
       /contrib/games/puzzles.

xroger Home Page User Commands Index xrx