MISSING(LINK)

NAME
xmlink - Missing Link X widget

SYNOPSIS
/usr/games/xmlink [-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{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] [-base {int}] [-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 (unimplemented).

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 movement of middle tiles>} @ (<Number of moves>/{<Record number of moves>|"NEVER noaccess"|"practice"}) - <Comment>
Movement of middle tiles are either move together or independent.
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 missing link window (resource name "geometry").

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

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

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

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

-{background|bg} color
    This option specifies the background of the missing 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 "tileColor").

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

-base int
    This option specifies the base used (default is base 10) (resource name "base").

-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

® Copyright 1994-99, David Albert Bagley

BUG REPORTS AND PROGRAM UPDATES

Send bugs (or their reports, or fixes) to the author
    David Albert Bagley, <bagleyd@tux.org>

The latest version is currently at:
    ftp://ftp.tux.org/pub/tux/bagleyd/xpuzzles
    ftp://ftp.x.org/contrib/games