xpanex
SYNOPSIS
/usr/games/xpanex [-geometry
[{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display
[{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg}
{color}] [-{background|bg} {color}] [-tile {color}] [-pyramid{0|1}
{color}] [-delay msecs] [-[no]sound] [-moveSound {filename}]
[-{font|fn} {fontname}] [-tiles {int}] [-{mode {int}|hanoi|panex}]
[-userName {string}] [-scoreFile {filename}] [-scores] [-version]
DESCRIPTION
The original Panex puzzle is from the Japanese Magic Company from the
1980's. Mathematicians at Bell Laboratories estimated the number of
moves to swap 2 columns of order 10 to be 27,564 <= N <= 31,537. It
came in two varieties: one with a magenta and a orange pyramid of order
10 on silver tiles; in the gold version, pieces of each color look
alike (i.e. no pyramid is drawn on them), this is a little harder.
The original Tower of Hanoi puzzle is the invention of Edouard Lucas
and temple of Benares of the god Brahma is also his invention.
FEATURES
Press "mouse-left" button to move a tile in the top tile of a column.
Release "mouse-left" button on another column to move the tile to that
column. It will not move if blocked.
Click "mouse-right" button, or press "C" or "c" keys, to clear the puz-
zle.
Press "G" or "g" keys to get a saved puzzle.
Press "W" or "w" keys to save (write) a puzzle.
Press "U" or "u" keys to undo a move.
Press "R" or "r" keys to redo a move.
Press "S" or "s" keys to auto-solve. Unfortunately, its only imple-
mented from the starting position.
Press "M" or "m" keys to toggle between hanoi (one pyramid column) and
panex (two pyramid columns) modes (they each have different rules).
In Hanoi, one can not place larger trapezoid on a smaller trapezoid.
Here the goal is to move the pile from the left peg to the rightmost
peg.
In Panex, a tile can not go lower that its initial starting point.
Here the goal is to exchange the 2 piles.
Press "I" or "i" keys to increase the number of tiles.
Press "D" or "d" keys to decrease the number of tiles.
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.
Unlike other puzzles in the collection there is no way to move pieces
without drag and drop.
The title is in the following format (non-motif version):
x{hanoi | panex}: <Number of rows> @ (<Number of moves>/{<Record
number of moves> <user name>|"NEVER noaccess"}) - <Comment>
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 panex window
(resource name "geometry").
-display host:dpy
This option specifies the X server to contact.
-[no]mono
This option allows you to display the panex window on a color
screen as if it were monochrome (resource name "mono").
-[no]{reverse|rv}
This option allows you to see the panex window in reverse video
(resource name "reverseVideo").
-{foreground|fg} color
This option specifies the foreground of the panex window
(resource name "foreground").
-{background|bg} color
This option specifies the background of the panex window
(resource name "background").
-tile color
This option specifies the tile color of the tiles in the panex
window (resource name "tileColor").
-pyramid0 color
This option specifies the foreground of the first pyramid
(resource name "pyramidColor0").
-pyramid1 color
This option specifies the foreground of the second pyramid, if
it exists (resource name "pyramidColor1").
-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").
-moveSound filename
This option specifies the file for the move sound (resource
name "moveSound").
-{font|fn} ontname
This option specifies the font that will be used (resource name
"font").
-tiles int
This option specifies the number of tiles in a column (resource
name "tiles").
-mode int
This option specifies the hanoi (0) or panex (1) mode (resource
name "mode").
-hanoi This option specifies the hanoi mode (resource name "mode").
-panex This option specifies the panex mode (resource name "mode").
-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 xpanex you have.
RECORDS
You must clear the puzzle before a record is set, otherwise an assump-
tion of cheating is made if it is solved after a get or an auto-solve.
SAVE FORMAT
Here is the format for the xpanex configuration, starting position, and
the movement of its pieces.
mode: 0-1 <0 hanoi, 1 panex>
tiles: 1-10 <number of tiles in a column>
moves: 0-MAXINT <total number of moves>
startingPosition: <array pairs of column and position of each
tile>
This is then followed by the moves, starting from 1.
move #: <from_column> <to_column>
from_column is the top tile of the column
to_column is where that tile is moved to.
REFERENCES
Mark Manasse & Danny Sleator of AT&T Bell Laboratories and Victor K.
Wei of Bell Communications Research, Some Results on the Panex Puzzle,
Murray Hill, NJ, 1985 20 pp. (unpublished).
Vladimir Dubrovsky, Nesting Puzzles Part 1: Moving oriental Quantum
January/February 1996 pp 55-57, 50-51.
L. E. Horden, Sliding Piece Puzzles (Recreations in Mathematics
Series), Oxford University Press 1986, pp 144, 145.
Jerry Slocum & Jack Botermans, Puzzles Old & New (How to Make and Solve
Them), University of Washington Press, Seattle, 1987, p 135.
SEE ALSO
X(1), xcubes(6), xtriangles(6), xhexagons(6), xmlink(6), xbarrel(6),
xmball(6), xpyraminx(6), xoct(6), xrubik(6), xskewb(6), xdino(6), xaba-
cus(6)
COPYRIGHTS
(R) Copyright 1996-2007, David A. Bagley
Main algorithm taken from AT&T paper above.
Thanks to Nick Baxter <nickb@baxterweb.com> for debugging level n > 4
and vTrick.
Though most code by Rene Jansen <rene.j.jansen@bigfoot.com> is now
removed, much inspiration was gained by his efforts implementing an
algorithm from Quantum January/February 1996 by Vladimir Dubrovsky.
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.3.3 24 Dec 2007 PANEX(6)