Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XSOKOBAN(6)			  Games Manual			     XSOKOBAN(6)

NAME
     xsokoban - Pushing objects around...

SYNOPSIS
     xsokoban  [{  -nn	|  -s[level] | -r | -u <username> -c[scorefile-text]} -C
     -display <disp> {-w | -walls} {-rv | -reverse} {-f  |  -font}  <fn>  {-b  |
     -bitdir}  <path>  {-fg  |	-foreground} <color> {-bg | -background} <color>
     {-bd | -border} <color> {-pr | -pointer} <color> -xrm <arg> ]

DESCRIPTION
     xsokoban is an implementation of the game sokoban, written on top of X(1).

     The goal of xsokoban is to push all the round objects into the  score  area
     of  each  level  using the mouse or the arrow keys. The arrow keys move the
     player in the corresponding direction, pushing an object if it  is  in  the
     way  and  there  is a clear space on the other side. The mouse buttons each
     have a distinct function.

     If the left mouse button is pressed on a clear square, the player will move
     to that location via the optimal path if such a path exists; otherwise, the
     game will beep.

     If the middle button is pressed on  an  object  that  is  adjacent  to  the
     player,  the object will be pushed one step.  If the middle mouse button is
     pressed on an empty space, the player will move the closest object that  is
     on a straight line with the destination, such that the object can be pushed
     in  that  direction, and the player is not directly between the destination
     and the object.  Before pushing the object, the player is	moved  optimally
     to start the push.

     Either  the  left	or  middle mouse buttons may be used to "drag" an object
     from an initial to a final position. If a straightforward	way  exists  for
     the  player to push the object without moving any other objects, the player
     will execute appropriate moves and pushes to get the object to the  desired
     destination.

     The  right  button  mouse	undoes the last user action, and may be used any
     number of times.

     The rest of the functions are bound to the keyboard:

     ?	     Display the help screen.

     q	     Quit the current level.

     h,j,k,l
	     Move the man just like the arrow keys, as in vi(1).

     s	     Save and quit.

     u	     Undo the last action. Same as right mouse button.

     U	     Restart a level.

     c	     Snapshot the current position

     ^U      Restore to the last snapshot

     ^R      Redraw the screen.

     S	     View the score file.

     The score file can be viewed at any time during the playing  of  the  game.
     The scores are also displayed whenever a level is completed.  Scores of the
     current user are initially highlighted. While viewing scores, the following
     keys may be used to control the listing:

     q	     Quit the game

     Return  Return  to the game and continue with the current level; or, if the
	     current level is completed, begin the next level.

     <left>  The left mouse button may be used to select  a  different	user  to
	     highlight. It also controls the scroll bar at the right side of the
	     screen.

     <middle>
	     The  middle  mouse button selects a new level to play if a level is
	     not already in progress.

     Scores are saved in the score file if they are of high enough rank. A score
     is ranked according to how many scores are better than  it;  there  are  no
     scores  superior  to  a  rank  1 score, only one score superior to a rank 2
     score, and so on. If two scores are identical, the  first	one  entered  is
     ranked higher.

     It  is  possible for other users to have the same username as you, and thus
     collide in the score file. One symptom of this problem  is  that  when  you
     first  play  the game, you are not started at level 1.  To avoid this prob-
     lem, set your "xsokoban.username" X resource to the  desired  unique  user-
     name.

OPTIONS
     -nn     Start at level nn, provided that levels below it are completed.

     -s [level]
	     Print  the  scores  on standard output. The optional level will re-
	     strict the printout to scores on just that level.

     -r      Restore a saved game.

     -u <username>
	     Set the name of the user playing the game. By default,  the  user's
	     login name is used.

     -c [scorefile-text]
	     Create a new score file (can be ran only by the owner of the game).
	     If the argument "scorefile-text" is supplied, the file of that name
	     is assumed to contain the textual output compatible with the output
	     of  "xsokoban  -s	-D". The scorefile is initialized to contain the
	     scores described in that text file. If no argument is supplied, the
	     score file is initialized to be empty.

     -C      Create a new X colormap for display purposes.  Ordinarily	xsokoban
	     creates  a  new colormap automatically if the default colormap does
	     not contain enough free slots to allow it to run properly.

     -display <display>
	     Run the game on the named display.

     {-w | -walls}
	     Use fancy walls. (This is the default unless an option  bitmap  set
	     is used)

     {-rv | -reverse}
	     Use reverse video.

     {-f | -font} <fontname>
	     Use the named font instead of the default 9x15 font.

     {-b | -bitdir} <path>
	     Use the bitmaps found in <path> instead of the defaults.

     {-fg | -foreground} <color>
	     Use  the  named  color  as the foreground color. (default is Black-
	     Pixel())

     {-bg | -background} <color>
	     Use  the  named  color  as  the  background  color.   (default   is
	     WhitePixel())

     {-bd | -border} <color>
	     Use  the  named  color  as the border color. (default is foreground
	     color)

     {-pr | -pointer} <color>
	     Use the named color as the mouse pointer  foreground.  (default  is
	     foreground)

     -xrm <arg>
	     <arg> is an X Resource specification.

OTHER INFORMATION
     There is more information about xsokoban in the WWW, at

     http://xsokoban.lcs.mit.edu/xsokoban.html

     A global score file is also located there.

AUTHORS
     Unknown Hacker - Original curses(3) implementation.

     Joseph L. Traub - X windows interface.

     Kevin Solie - simultaneously developed X implementation (merged in).

     Mark Linderman, Christos Zoulas - Mouse code (added to Solie's version).

     Andrew  Myers(http://www.pmg.lcs.mit.edu/~andru) - Improved mouse UI, score
     ranking, color and WWW support.

     Code has also been donated by many xsokoban users. Thanks for all your con-
     tributions and suggestions!

RESOURCES
     xsokoban understands the following resources.

     username : string
	     The name you would like to use when playing xsokoban.  It	defaults
	     to  your real username. If you are playing in WWW mode, some domain
	     information is appended to your real username to disambiguate  from
	     other  users with the same name. This domain information is not ap-
	     pended to the username if specified through the resource.

     fancyWalls : boolean
	     Use fancy walls.

     fontName : font
	     Use named font.

     reverseVideo : boolean
	     Reverse foreground and background pixels.

     foreground : color
	     Use color as foreground color.

     background : color
	     Use color as background color.

     borderColor : color
	     Use color as border color.

     pointerColor : color
	     Use color as pointer color.

     bitmapDir : string
	     Look for bitmaps in path specified by string.

     border.color: color
	     Color of borders in the score display

     text.font: font
	     Font of text in the score display

     text.color: color
	     Color of text in the score display

     text.highlight: color
	     Color of highlighted text in the score display

     text.indent: int
	     Indenting of text in the score display

     scrollbar.width: int
	     Width of the scrollbar in the score display

     scrollbar.background: color
	     Color of the scrollbar background

     scrollbar.thumb.height: int, scrollbar.thumb.width: int
	     Size of the scrollbar thumb

     scrollbar.thumb.color: color
	     Color of the scrollbar thumb

     panel.height: int
	     Height of the help panel in the score display

     panel.font: font
	     Font of the help panel in the score display

     bevel.width
	     Width of the Motif-like bevels

     sep.color: color
	     Color of the lines separating different score levels

SPECIAL BITMAPS
     In order to define your own bitmaps for xsokoban you only need to know  the
     names of which files it is looking for.  The standard bitmap files are:

     man.xbm
	     -- The player bitmap.

     goal.xbm
	     -- The goal area bitmap.

     wall.xbm
	     -- The standard wall bitmap.

     object.xbm
	     -- The object that gets pushed.

     treasure.xbm
	     -- The bitmap for the object when it is on the goal.

     saveman.xbm
	     -- The bitmap for the player when it is on the goal.

     To use the fancy walls option, you need the following additional files.

     lonewall.xbm
	     -- a wall with connections on no sides.

     southwall.xbm
	     -- a wall with only northern connections

     northwall.xbm
	     -- a wall with only southern connections

     eastwall.xbm
	     -- a wall with only western connections

     westwall.xbm
	     -- a wall with only eastern connections

     llcornerwall.xbm
	     -- a wall with northern and eastern connections

     ulcornerwall.xbm
	     -- a wall with southern and eastern connections

     lrcornerwall.xbm
	     -- a wall with northern and western connections

     urcornerwall.xbm
	     -- a wall with southern and western connections

     north_twall.xbm
	     -- a wall with connections on all BUT northern side

     south_twall.xbm
	     -- a wall with connections on all BUT southern side

     east_twall.xbm
	     -- a wall with connections on all BUT eastern side

     west_twall.xbm
	     -- a wall with connections on all BUT western side

     centerwall.xbm
	     -- A wall will connections on all four sides.

BUGS
     Auto bitmap resizing code doesn't take into account font sizes.
     Feedback on user error is poor (only beeps).

MIT Lab for Computer Science	 3 January 1994 		     XSOKOBAN(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xsokoban&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help