NAME
xoct - Octahedron X widget
SYNOPSIS
/usr/games/xoct [-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|6|7} {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]
DESCRIPTION
The original puzzle has 9 triangles per face (size = 3) and has period
4 turning (i.e. the face or points turn with 90 degree intervals). The
puzzle was designed by Uwe Meffert and called the Magic Octahedron (or
Star Puzzler). The puzzle was not widely distributed but not exactly
rare. This puzzle has some analogies to the Rubik’s Cube and the
solving techniques are the same to that of the Pyraminx. Christoph’s
Magic Jewel is similar except there are no trivial corners to solve.
This has 2^22*12! or 2,009,078,326,886,400 different combinations.
Uwe Meffert also noticed that there could be an alternate twisting for
the octahedron where it has period 3 turning (i.e. faces turn with 120
degree intervals).
One is able to simulate a Trajber’s Octahedron (period 3 turning and
sticky mode). Also one is able to simulate one with variant turning
(period 4 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 "R" or "r" 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.
Press "U" or "u" keys to undo a move.
Press "R" or "r" keys to redo a move.
Press "C" or "c" keys to clear the puzzle.
"S" or "s" keys reserved for the auto-solver (not implemented).
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 "octas", if at all (i.e.
those "octas" not on a corner or edge). This does add complexity so
there are 2 sets of records.
Press "3", "4", "B", or "b" keys (not the keypad 3, 4) to change modes
to Period 3, Period 4, or Both.
Press "Y" or "y" keys to toggle sticky mode (increase/decrease is
disabled here if sticky mode is on).
"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.
"Sticky" and "Period 4" turning allows only the points 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 (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 Oct 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
Use the shift keys to access "Period 4" turns from "Both" mode,
otherwise it assumes "Period 3" turning. Points turn in "Period 4" and
faces turn in "Period 3".
Use the control key and the left mouse button, keypad, or arrow keys to
move the whole octahedron. This is not recorded as a turn.
The title is in the following format (non-motif version):
xoct.{3|4|both<turning modes>}: {1|2|3|4|5|6|sticky<number of
"octas" 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".
OPTIONS
-geometry {+|-}X{+|-}Y
This option sets the initial position of the octahedron window
(resource name "geometry").
-display host:dpy
This option specifies the X server to contact.
-[no]mono
This option allows you to display the octahedron on a color
screen as if it were monochrome (resource name "mono").
-[no]{reverse|rv}
This option allows you to see the octahedron window in reverse
video (resource name "reverseVideo").
-{foreground|fg} color
This option specifies the foreground of the octahedron window
(resource name "foreground").
-{background|bg} color
This option specifies the background of the octahedron window
(resource name "background").
-face{0|1|2|3|4|5|6|7} <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 octahedron (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 octas in the
octahedron 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").
-size <int>
This option allows you to change the number of octas 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 3
and period 4 (resource name "mode" set at 5).
-[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 xoct 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.
SAVE FORMAT
Here is the format for the xoct configuration, starting position, and
the movement of its pieces.
Octahedron with default colors, not randomized:
0 R Red
3 1 M B Magenta, Blue
2 W White
4 O Orange
7 5 Y P Yellow, Pink
6 G Green
size: 1-6 <number of triangles in the same orientation as the
face per row>
mode: 3-5 <period 3 turning, period 4 turning, or both (5)>
orient: 0-1 <0 false, 1 true; if 1 then lines on "octas" to be
oriented>
sticky: 0-1 <0 false, 1 true; if 1 then some "octas" move
together>
practice: 0-1 <0 false, 1 true>
moves: 0-MAXINT <total number of moves>
startingPosition: <2 dimensional array of face "octa" position,
each face has size * size "octas", if orient mode then
orientation number follows face number numbered clockwise from 0
to 11, where 0 is up>
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 as 0 up, 1 upper right, 2 right, 3 lower
right, 4 down, 5 lower left, 6 left, 7 upper left, 9 clockwise, and 15
counterclockwise.
Control is represented as 0 or 1, 1 if the whole octahedron is moved at
once (here position does not matter), 0 if not. The xoct 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.
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), xrubik(6), xskewb(6), xdino(6),
xabacus(6)
COPYRIGHTS
® Copyright 1994-2008, David A. Bagley
BUG REPORTS AND PROGRAM UPDATES
Send bugs (or their reports, or fixes) to the author:
David A. Bagley, <bagleyd@tux.org>
The latest version is currently at:
http://www.tux.org/~bagleyd/puzzles.html
ftp://ibiblio.org/pub/Linux/games/strategy