MISSING(LINK)
NAME
xmlink - Missing Link X widget
SYNOPSIS
/usr/games/xmlink [-geometry
[{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display
[{host}]:[{vs}]] [-mono] [-{foreground|fg} <color>]
[-{background|bg} <color>] [-{border|bd} <color>] [-tile
<color>] [-face{0|1|2|3|4|5|6|7} <color>] [-tiles <int>]
[-faces <int>] [-[no]orient] [-[no]middle] [-username
{string}]
DESCRIPTION
Ideal's The Missing Link, a 4x4 puzzle, riding on the wave
of Rubik's Cube craze. There are many variations on this
theme, including the "6x6" puzzle and Babylon Tower. What
makes the Missing Link a harder puzzle to solve is that
the 2 center positions rotate together.
FEATURES
Press "mouse-left" button to move a tiles. Release
"mouse-left" button in the same row would move the tile
towards the space (unless there is no space in that row).
Release on a different row will move the tiles up or down.
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 "O" or "o" keys to toggle the orient mode. Slightly
more challenging on (default is off).
Press "M" or "m" keys to toggle the middle mode. All the
middle tiles rotate together. This is considerably more
challenging on (default is on).
"S" or "s" keys reserved for the auto-solver (unimple-
mented).
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 Missing Link as:
8 Up
^
4< >6 Left, Right
v
2 Down
Use the shift key and the up or down arrow keys to rotate
all the tiles.
Use the control key and the keypad or arrow keys to
enlarge or reduce the complexity of the puzzle.
The title is in the following format (non-motif version):
xmlink: <row>x<column> {norm|ind<control of move-
ment of middle tiles>} @ (|"NEVER noac-
cess"|"practice"}) - <Comment>
Movement of middle tiles are either move together or inde-
pendent.
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 miss-
ing link 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 miss-
ing link window (resource name "foreground").
-{background|bg} color
This option specifies the background of the miss-
ing link window (resource name "background").
-{border|bd} color
This option specifies the border color of the
tiles in the missing link window (resource name
"orderColor").
-tile color
This option specifies the tile color of the tiles
in the missing link window (resource name "tile-
Color").
-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 0th face is the last face face on
missing link because I wanted that one to remain
white by default when there are more or less
faces.
-tiles <<int>>
This option allows you to change the number of
links in a row (resource name "tiles").
-faces <<int>>
This option allows you to change the number of
faces in column (resource name "faces").
-[no]orient
This option allows you to access the orient mode
(resource name "orient").
-[no]middle
This option allows you to access the middle mode
(resource name "orient").
-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 for this is that
this is simple and I do not know what the standard is.
tiles: 1-8 <number of tiles in a row>
faces: 1-8 <number of tiles in a column>
middle: 0-1 <0 false, 1 true; if 1 then middle
moves as one unit>
orient: 0-1 <0 false, 1 true; if 1 then chain
linked in order>
moves: 0-MAXINT <total number of moves>
startingPosition: <array of tile positions where 0
is the empty space>
This is then followed by the moves, starting from 1.
move #: <direction> <tile> <shift>
Direction is represented as 0 up, 1 right, 2 down, and 3
left.
Tile is the column of tile.
Shift is represented as 0 or 1, 1 if the whole puzzle is
moved at once (here Tile does not matter), 0 if not. The
xmlink record keeper does not count a control move as a
move, but here we do.
Caution: the program may crash on corrupted input.
REFERENCES
Sliding Piece Puzzles (Recreations in Mathematics Series)
by L. E. Horden, Oxford University Press 1986, Plate X.
SEE ALSO
X(1) xrubik(6) xskewb(6) xdino(6) xpyraminx(6)
xoct(6) xmball(6) xpanex(6) xcubes(6) xtriangles(6)
xhexagons(6) abacus(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.