Table of Contents
xsok - generic Sokoban game for X11, Version 1.02
xsok [ options
]
xsok is a single player strategic game, a superset of the
well known Sokoban game. This manpage describes only the user interface
of xsok. If you want to create own levels, you should consult the xsok manual
for more information.
The target of Sokoban is to push all the objects
into the score area of each level using the mouse or the arrow keys. For
the other level subsets, there are different kinds of objects, and special
effect squares.
xsok can be played using only the mouse, or only the keyboard.
Keyboard and mouse bindings are defined through a textfile. This manual
page describes the default bindings.
All standard X toolkit parameters
may be given, such as -display display etc. Additional options are
- -rules
level subset
- This option specifies the initial level subset for xsok. Valid
built-in rule names are Sokoban, Cyberbox, and Xsok, but you may implement
new level subsets without recompiling the game. Level subsets share common
characteristics of the board. In Sokoban, for example, all boxes have the
same weight. In Xsok, the first level is a demo level, where you can experiment
with the new objects.
- -level startlevel
- Set the starting level.
- -username username
- In a save-game file, your name, as found in the /etc/passwd file, and the
hostname of your computer, will be stored in the file. The default format
is realname (username@hostname.domain), for example Michael Bischoff (mbi@flawless.ts.rz.tu-bs.de).
You can override this default string with the argument to the username
option and provide a different e-mail address, for example
xsok -username "Michael Bischoff (m.bischoff@tu-bs.de)".
If you break the scores
for one level, your solution will be saved automatically.
- -xsokdir xsokdir
- This option sets the root of the xsok data file tree. The default is /usr/games/lib/xsok.
- -xpmdir xpmdir
- This gives the directory from where to load the graphic
data.
- -savedir savedir
- This option sets the directory for save game files
and the xsok highscore files. The default is /var/games/xsok.
- -messageFile
messagefile
- This option sets the name of an alternative message file for
xsok. The pathname is relative to xsokdir. The default is messages, and does
not exist, which means to use the internal messages.
- -keyboardFile keyboardfile
- This option sets the name of the file defining the keyboard bindings. The
pathname is relative to xsokdir. The default is keys. The bindings in the
default file are described below.
All command line options may be abbreviated,
or set by the X11 resource manager. The resource name for option -xyz is
Tableau.xyz and its class name Tableau.Xyz.
The arrow keys
will move the man. The default binding is similar to the binding in xsokoban.
Some commands accept a numerical prefix (i.e. typing some digits before the
command key), which usually is used as an operation count.
- a
- Display the
author of a level (if known).
- b
- Drops the bookmark.
- g
- Goto bookmark.
- i
- Displays
the level comment (if any).
- s
- Saves the current position.
- L
- Reloads a saved
game.
- R
- Restart this level. With numerical prefix n, jumps to move number
n.
- N
- Proceed to the next level. With numerical prefix n, jumps to level n.
- H
- Reread the highscore table.
- P
- Return to the previous level.
- U
- Proceeds
to the next unsolved level.
- q
- Quits the game.
- v
- Shows the version of xsok.
- ?
- Shows the current score.
- b
- Shows the best score for this level.
- c
- Drops
the bookmark at the current position.
- u
- Undoes the last elementary move.
Accepts numerical prefix.
- r
- Redoes last move (undoes an undo). Accepts numerical
prefix.
- (
- Starts recording a macro (sequence of moves)
- )
- End a macro.
- <ENTER>
- Replays a macro.
With the default button assignment, button
1 is bound to the function MouseMove. If pressed on a clear square, the
man will move to that location via the optimal path if such a path exists.
If pressed on an object that is adjacent to the player, the object will
be pushed.
Button 2 is bound to MouseDrag. This command requires that you
press the mouse button on a location where a box resides, drag the mouse,
and release the button on an empty square. The man will then move the box
from the first square onto the second with the minimal number of pushes,
if it is possible at all. Please note that the man will not move any other
object and will only use squares without effects.
Button 3 is bound to
MouseUndo. This function undoes one of the previous commands, which would
possibly require a lot of calls to the atomic undo function.
xsok has simple support for different languages. All messages which
appear in the X11 window may be overloaded by files, as well as the key
bindings. The typical support consists of an application-defaults file,
a message file, and a keyboard file. Possibly translated online-help files
are also there. To select a different language, call xsok after setting
the environment variable LANG to the desired value. Currently, no translated
version is available.
(Directories may differ on your system.)
/usr/games/bin/xsok
/var/games/xsok/type.score
/var/games/xsok/type.nn.{sv,bs,mp,mm}
/usr/doc/xsok/COPYRIGHT.{GNU,xsok,xpm}
/usr/doc/xsok/xsok.dvi
/usr/doc/xsok/cyberbox.doc
/usr/games/lib/xsok/floor.xpm.gz
/usr/games/lib/xsok/objects.xpm.gz
/usr/games/lib/xsok/keys
/usr/games/lib/xsok/keys.help
/usr/games/lib/xsok/type.def.gz
/usr/games/lib/xsok/type.help
Where type is one of Sokoban, Xsok, Cyberbox, and possibly others.
Inspiration
for xsok came from xsokoban, a previous implementation of the Sokoban game
by Joseph L. Traub. From this game, the wall graphics were taken, and the
mouse button assignment. xsokoban's level files can be used without change,
but by default, all level files of a level subset are combined into a single
file. Of course, credits also go to the unknown author of the curses based
game.
The Cyberbox levels (and a MSDOS game of the same name) are written
by Doug Beeferman.
The undo function is too slow. Highscore file handling
uses no file locking.
Cyberbox zappers are implemented as one-way passages,
which causes worse scores and easier levels.
Please mail bug reports to
mbi@mo.math.nat.tu-bs.de. Fixes are especially welcome.
xsokoban(6x)
,
sokoban(6)
Michael Bischoff
Copyright (c) 1994 by Michael
Bischoff (mbi@mo.math.nat.tu-bs.de)
Permission to use, copy, modify, and distribute
this software and its documentation for any purpose and without fee is
hereby granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission notice appear
in supporting documentation.
xsok was developed under Linux, the free UNIX
for the IBM-PC and compatibles. xsok is distributed by terms of the GNU General
public license (GNU Copyleft).
Table of Contents