xtriangles — Triangles X widget

Synopsis

/usr/games/xtriangles [-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 {int}] [-base {int}] [-userName {string}] [-scoreFile {filename}] [-scores] [-version]

Description

A sliding tile puzzle. A triangular version of the 15 puzzle which was originally made around 1879 (the 14-15 puzzle of Sam Loyd was made soon after). T. R. Dawson in Original Puzzles has a similar puzzle with 4 diamond- and 6 triangular-shaped pieces. This puzzle is easier to solve than 15 puzzle.

Features

Click "mouse-left" button to move a tile. Clicks on spaces, or clicks on tiles that are not in line with two spaces, will not move tiles. Notice, one can move more than one tile at a time by clicking on the tile farthest from the spaces but still in line with the spaces.

Click "mouse-right" button, or press "C" or "c" keys, to clear the puzzle.

"S" or "s" keys reserved for the auto-solver (not implemented).

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

Use the key pad or arrow keys to move without the mouse.
Key pad is defined for Triangles as:
7 9 Upper Left, Upper Right

  ^
4< >6 Left, Right

  v
1 3 Lower Left, Lower Right

The title is in the following format (non-motif version):

xtriangles: <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".

Options

-geometry {+|-}X{+|-}Y
This option sets the initial position of the triangles window (resource name "geometry").
-display host:dpy
This option specifies the X server to contact.
-[no]mono
This option allows you to display the triangles window on a color screen as if it were monochrome (resource name "mono").
-[no]{reverse|rv}
This option allows you to see the triangles window in reverse video (resource name "reverseVideo").
-{foreground|fg} color
This option specifies the foreground of the triangles window (resource name "foreground").
-{background|bg} color
This option specifies the background of the triangles window (resource name "background").
-tile color
This option specifies the tile color of the tiles in the triangles window (resource name "tileColor").
-text color
This option specifies the text color of the tiles in the triangles 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 the tiles (resource name "bumpSound").
-{font|fn} ontname
This option specifies the font that will be used (resource name "font").
-size <int>
This option allows you to change the number of triangles in a row (resource name "sizeA").
-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 xtriangles 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 xtriangles configuration, starting position, and the movement of its pieces.

size: 1-16 <number of tiles in a row of the same orientation as the puzzle>
moves: 0-MAXINT <total number of moves>

startingPosition: <array of tile positions where 0 is the empty space for the UP triangle and -1 is the empty space for the DOWN triangle>

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.

References

L. E. Horden, Sliding Piece Puzzles (Recreations in Mathematics Series), Oxford University Press 1986, pp 1, 148, 149.

Jerry Slocum & Jack Botermans, Puzzles Old & New (How to Make and Solve Them), University of Washington Press, Seattle, 1987, pp 126, 127.

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