xsok - generic Sokoban game for X11, Version 1.02
Contents
Bugs
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.
Copyright
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).
Handmade May 1996 XSOK(6x)
Credits
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.
Description
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.
Files
(Directories may differ on your system.)
/usr/games/xsok/var/games/xsok/type.score/var/games/xsok/type.nn.{sv,bs,mp,mm}/usr/share/doc/xsok/copyright/usr/share/doc/xsok/xsok.tex.gz/usr/share/doc/xsok/cyberbox.doc/usr/share/games/xsok/floor.xpm.gz/usr/share/games/xsok/objects.xpm.gz/usr/share/games/xsok/keys/usr/share/games/xsok/keys.help/usr/share/games/xsok/type.def.gz/usr/share/games/xsok/type.help
Where type is one of Sokoban, Xsok, Cyberbox, and possibly others.
Keyboard Bindings
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.
Name
xsok - generic Sokoban game for X11, Version 1.02
National Language Support
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.
Options
All standard X toolkit parameters may be given, such as -displaydisplay etc. Additional options are
-ruleslevelsubset
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.
-levelstartlevel
Set the starting level.
-usernameusername
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
MichaelBischoff(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"MichaelBischoff(m.bischoff@tu-bs.de)".
If you break the scores for one level, your solution will be saved automatically.
-xsokdirxsokdir
This option sets the root of the xsok data file tree. The default is /usr/share/games/xsok.
-xpmdirxpmdir
This gives the directory from where to load the graphic data.
-savedirsavedir
This option sets the directory for save game files and the xsok highscore files. The default is
/var/games/xsok.
-messageFilemessagefile
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.
-keyboardFilekeyboardfile
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.
See Also
xsokoban(6x), sokoban(6)
Synopsis
xsok [ options ]
