Skewb x widgets
/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 {filename}] [-{font|fn} {fontname}] [-view {int}] [-[no]orient] [-[no]practice] [-userName {string}] [-scoreFile {filename}] [-scores] [-version]
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 Hofstadter 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.
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 implemented).
Press "<" or "," keys to slow down the movement of pieces (not implemented).
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 Windows). 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 noaccess".
-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" configuration. 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"). 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 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} fontname
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.
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 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 position 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 #: <face> <corner> <direction> <control>
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.
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.
\*R Copyright 1994-2010, David A. Bagley
Send bugs (or their reports, or fixes) to the author:
David A. Bagley, <[email protected]>
The latest version is currently at:
http://www.tux.org/~bagleyd/puzzles.html
ftp://ibiblio.org/pub/Linux/games/strategy