Hexagons x widget
/usr/games/xhexagons [-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg} {color}] [-{background|bg} {color}] [-tile {color}] [-text {color}] [-delay msecs] [-[no]sound] [-bumpSound {filename}] [-{font|fn} {fontname}] [-size{x|y} {int}] [-[no]corners] [-base {int}] [-userName {string}] [-scoreFile {filename}] [-scores] [-version]
A sliding tile puzzle. A hexagonal version of the 15 puzzle. The 17 puzzle was conceived of by Alwin Vietor and marketed in 1885 in Germany as "Trilemma" with round pieces. Sam Cornwell rediscovered this in 1989 with "Clockblocks" of which 12 were numbered using hexagonal pieces. Also he produced a smaller 12 block puzzle with 9 that were numbered called "Ninefield". Also Bernhard Wiezorke came up with the similar 17 puzzle, "Hexafax, the New Fifteen Puzzle", in 1991 and a smaller 11 piece "Counterfax" of which 8 were numbered.
If in corners mode: Press "mouse-left" button to move a tile, then release "mouse-left" button on a space. It will not move if blocked. One can only move one tile at a time. The only tiles that can be moved are the tile(s) next to both spaces.
If in nocorners mode: Click "mouse-left" button to move a tile. One can move more than one tile at a time and one is not constrained by parity.
Click "mouse-right" button, or press "C" or "c" keys, to clear the puzzle.
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 "Z" or "z" keys to randomize the puzzle. New records can only be set from a cleared state.
"S" or "s" keys reserved for the auto-solver (not implemented).
Press "O" or "o" keys to toggle corners mode. (Default is on).
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 Hexagons as:
7 9 Upper Left, Upper Right
^
4< >6 Left, Right
v
1 3 Lower Left, Lower Right
The control key allows you to change the complexity of xhexagons. Hold down control key and use the keypad or arrow keys to reduce or enlarge puzzle complexity.
The title is in the following format (non-motif version):
xhexagons: <size> @ (<Number of moves>/{<Record number of moves> <user name>|"NEVER noaccess"}) - <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 hexagons window (resource name "geometry").
-display host:dpy
This option specifies the X server to contact.
-[no]mono
This option allows you to display the hexagons window on a color screen as if it were monochrome (resource name "mono").
-[no]{reverse|rv}
This option allows you to see the hexagons window in reverse video (resource name "reverseVideo").
-{foreground|fg} color
This option specifies the foreground of the hexagons window (resource name "foreground").
-{background|bg} color
This option specifies the background of the hexagons window (resource name "background").
-tile color
This option specifies the tile color of the tiles in the hexagons window (resource name "tileColor").
-text color
This option specifies the text color of the tiles in the hexagons window (resource name "textColor"). -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 sliding of the tiles (resource name "bumpSound").
-{font|fn} fontname
This option specifies the font that will be used (resource name "font").
-size{x|y} <int>
This option allows you to change the number of hexagons in a row or column (resource names "sizeX", "sizeY").
-corners
This option specifies the mode where movement is very restrictive (resource name "corners").
-nocorners
This option specifies the mode where movement is very easy (resource name "corners").
-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 xhexagons 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.
Here is the format for the xhexagons configuration, starting position, and the movement of its pieces.
corners: 0-1 <0 false, 1 true; if 0 then hexagon corners are all snipped>
sizeX: 1-10 <number of columns of tiles>
sizeY: 1-10 <number of rows of tiles>
moves: 0-MAXINT <total number of moves>
startingPosition: <array of tile positions where 0 is the empty space for the HIGH hexagon and -1 is the empty space for the LOW hexagon (if present)>
This is then followed by the moves, starting from 1.
move #: <direction>
Direction is represented as 0 upper right, 1 right, 2 lower right, 3 lower left, 4 left, and 5 upper left.
Dieter Gebhardt, "From Trilemma to Counterfax", CFF 53, October 2000, pp 8-10.
Sam Cornwell, "Ninefield: a Sliding Block Puzzle", CFF 57, March 2002, pp 4-5.
Dieter Gebhardt, "Ninefield Revisited", CFF 58, July 2002, p 21.
Bernhard Wiezorke, "Hexafax, the New Fifteen Puzzle" brochure
\*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