# xmlink

## SYNOPSIS

           /usr/games/xmlink                                            [-geometry
           [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]]                 [-display
           [{host}]:[{vs}]]   [-[no]mono]   [-[no]{reverse|rv}]  [-{foreground|fg}
           {color}]      [-{background|bg}      {color}]      [-tile      {color}]
           [-face{0|1|2|3|4|5|6|7}  {color}] [-{border|bd} {color}] [-[no]install]
           [-picture {filename}] [-delay msecs]  [-[no]sound]  [-bumpSound  {file-
           name}]  [-moveSound  {filename}] [-{font|fn} {fontname}] [-tiles {int}]
           [-faces {int}] [-[no]orient]  [-[no]middle]  [-base  {int}]  [-userName
           {string}] [-scoreFile {filename}] [-scores] [-version]

## 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 tile.  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 "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 the auto-solver.  Only works on mxn where m  =
           4 and n = 4.

           Press  "O"  or "o" keys to toggle the orient mode.  Slightly more chal-
           lenging 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).

           Press ">" or "." keys to speed up the movement of tiles.

           Press "<" or "," keys to slow down the movement of tiles.

           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 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 reduce or enlarge
           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> <user
                  name>|"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  noac-
           cess".

## OPTIONS

           -geometry {+|-}X{+|-}Y
                   This  option sets the initial position of the missing link win-
                   dow (resource name "geometry").

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

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

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

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

           -tile color
                   This option specifies the tile color of the tiles in the  miss-
                   ing 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.

           -{border|bd} color
                   This  option  specifies  the  border  color of the tiles in the
                   missing link window (resource name "orderColor").

           -[no]install
                   This option specifies if the colormap should  be  installed  or
                   not (resource name "install").

           -picture filename
                   This  option  specifies the file for the picture (resource name
                   "picture").

           -delay msecs
                   This option specifies the number of milliseconds  it  takes  to
                   move a tile or a group of tiles one space (1-50) (resource name
                   "delay").

           -[no]sound
                   This option specifies if a sliding tile should make a sound  or
                   not (resource name "sound").

           -bumpSound filename
                   This option specifies the file for the bump sound for the slid-
                   ing of (resource name "bumpSound").

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

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

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

           -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 xmlink 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 xmlink configuration, starting position, and
           the movement of its pieces.

                  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.

## REFERENCES

           L.  E.  Horden,  Sliding  Piece  Puzzles  (Recreations  in  Mathematics
           Series), Oxford University Press 1986, Plate X.

           you  are about to find the solution: The Missing Link, Ideal Toy Corpo-
           ration, 1981.

           James G Nourse, The Simple Solutions to Cubic  Puzzles,  Bantam  Books,
           New York, November 1981, pp 16-23.

## SEE ALSO

           X(1),  xcubes(6),  xtriangles(6),  xhexagons(6), xbarrel(6), xpanex(6),
           xmball(6), xpyraminx(6), xoct(6), xrubik(6), xskewb(6), xdino(6), xaba-
           cus(6)

## COPYRIGHTS

           (R) Copyright 1994-2009, 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

    V7.6.4                            22 Oct 2010                  MISSING_LINK(6)