logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

xsok - generic Sokoban game for X11, Version 1.02

Author

       Michael Bischoff

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.

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 ]

See Also