Cubes x widget
/usr/games/xcubes [-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display [{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg} {color}] [-{background|bg} {color}] [-block {color}] [-text {color}] [-[no]install] [-picture {filename}] [-delay msecs] [-[no]sound] [-bumpSound {filename}] [-dripSound {filename}] [-{font|fn} {fontname}] [-size{x|y|z} {int}] [-base {int}] [-userName {string}] [-scoreFile {filename}] [-scores] [-version]
A 3D sliding block puzzle. The cubes represented are flattened out on the plane. If the Blocks Z slider is greater than 1, then each group of boxes is a layer of the puzzle. If the Blocks Z slider = 1, then this is a simple 15 tile puzzle. The 15 puzzle was originally made around 1880 by Noyes Chapman (the 14-15 puzzle of Sam Loyd was made soon after). Similar 3D puzzles include BloxBox; Qrazy Qube (2x2x2) by P. Hein of Denmark and Varikon Box 'L (3x3x3) (Hungary) and Mad Marbles (3x3x3) by Toys & Games International USA.
Click "mouse-left" button to move a block. Clicks on a space, or clicks on blocks that are not in line with a space, will not move the blocks. Notice, one can move more than one block at a time by clicking on the block farthest from the space but still in line with the space. Since you only have a 2-D screen, the next level down is either the box to the right of the current box or the bottom of the current box.
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.
Press "S" or "s" keys to start the auto-solver. Only works on lxmx1 where l > 3 and m > 3.
Press "I" or "i" keys to move a block in.
Press "O" or "o" keys to move a block out.
Press ">" or "." keys to speed up the movement of blocks.
Press "<" or "," keys to slow down the movement of blocks.
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 Cubes as:
/ Out
8 Up
^
4<5>6 Left, In, Right
v
2 Down
The control key allows you to change the complexity of xcubes. 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):
xcubes: <Number of columns>x<Number of rows>x<Number of stacks> @ (<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 cubes window (resource name "geometry").
-display host:dpy
This option specifies the X server to contact.
-[no]mono
This option allows you to display the cubes window on a color screen as if it were monochrome (resource name "mono").
-[no]{reverse|rv}
This option allows you to see the cubes window in reverse video (resource name "reverseVideo").
-{foreground|fg} color
This option specifies the foreground of the cubes window (resource name "foreground").
-{background|bg} color
This option specifies the background of the cubes window (resource name "background").
-block color
This option specifies the block color of the blocks in the cubes window (resource name "blockColor").
-text color
This option specifies the text color of the blocks in the cubes window (resource name "textColor").
-[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 block or a group of blocks one space (1-50) (resource name "delay").
-[no]sound
This option specifies if a sliding block 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").
-dripSound filename
This option specifies the file for the drip sound for the dropping or raising of the tiles (resource name "dripSound").
-{font|fn} fontname
This option specifies the font that will be used (resource name "font").
-size{x|y|z} <int>
This option allows you to change the number of cubes in a row, column, or stack (resource name "sizeX", "sizeY", "sizeZ").
-base int
This option specifies the base used in cubes (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 xcubes 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 or an auto-solve.
Here is the format for the xcubes configuration, starting position, and the movement of its pieces.
sizeX: 1-8 <number of columns of blocks>
sizeY: 1-8 <number of rows of blocks>
sizeZ: 1-8 <number of blocks in a stack>
moves: 0-MAXINT <total number of moves>
startingPosition: <array of block positions where 0 is the empty space>
This is then followed by the moves, starting from 1.
move #: <direction>
Direction is represented as 0 up, 1 right, 2 down, 3 left, 4 in, and 5 out.
L. E. Horden, Sliding Piece Puzzles (Recreations in Mathematics Series), Oxford University Press 1986, pp 1, 157-159.
Jerry Slocum & Jack Botermans, Puzzles Old & New (How to Make and Solve Them), University of Washington Press, Seattle, 1987, pp 126, 127.
\*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