xhexagons — Hexagons X widget
Synopsis
/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]Description
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.
Features
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>
Options
- -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} ontname
- 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.
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 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>
References
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
Copyrights
® Copyright 1994-2010, 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