tuSokoban - THE MANUAL

-------------------------------------------------------------------------------
 SOKOBAN - WHAT IS IT?
 ------------------------------------------------------------------------------
 -> History
 	Sokoban is a famous computer game developped in the eighties in japan.
 	Sokoban means "warehouseman" and as player you have to push boxes in 
 	target fields.
	
 -> GamePlay
 	In general you try to solve level after level. You should
 	always try to minimize the number of steps and time you need.
 	
 -> Rules
 	Like any other game, Sokoban has its rules:
 	- pulling boxes is not possible
 	- no walking over boxes
 	- you can't push boxes through walls or with other boxes behind
 	- a deadlock situation is possible (then the level is not solveable anymore)
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
 USER INTERFACE
-------------------------------------------------------------------------------
 -> MenuBar
 	The menu bar of tuSokoban provides the typical operations of an 
 	application. You can start, save, load or quit a game, you can choose levels and
 	change skins. But more advanced users should use the UltimateBash.
	
 -> GamePanel
 	The game panel is the center of the game window. Here we find 
 	the game field with the game objects, like the worker, walls, boxes and so on. The game panel
 	is a matrix of 17*17, so that the biggest level can be added.
	
 -> Current Game Information
 	The current game information is located in the game panel. The user 
 	can get the main information like his name, the current level number and
 	the number of steps used up to now.
 	
 -> Ultimate Bash
 	The UltimateBash is a very special feature of tuSokoban, that makes it
 	possible to operate (with commands that are explained later) and to get a
 	user feedback.
 
 -> GameField-Coordinates
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
 OPERATIONS
-------------------------------------
 -> Using keys
 	tuSokoban 
 	cursor keys = move the worker (one step)
 	q = quit game
 	n = restart current level
 	ctrl+s = save game
 	ctrl+o = load game
 	ctrl+c = change skin
 	backspace = undo
 	enter = redo
 	F1 = this help
 
 -> Using mouse
 	You can also move the player (worker) by clicking to the specified
 	position. A special feature is the advanced mouse movement. You can
 	click on a far position and the worker will move there directly, if possible.
 
 -> Using MenuBar
 	The MenuBar has the following functions:
 	New Game - starts a new game at level 1
 	Undo - undo last move
 	Redo - redo move
 	Levels - level operations
 	Change Skins - Changing skins
 	Solve Level - Solves the current level
 	Show Highscore - Shows current level highscore
 	Reset Highscore - 
 	Save Game - saves a sokoban game
 	Load Game - loads a sokoban game
 	Exit Sokoban - quits sokoban
 	Help - readme.txt will be opened
 	About - a small information window
 	
 	
 	
 -> Using UltimateBash
 	These are the valid commands of UltimateBash (valid if green background)
 	For some commands you have to enter special paramaters (shown in brackets)
 	exit - quits sokoban
 	clear - cleans up the UltimateBash
 	commands - lists the valid commands
 	savegame - saves current game (savegame game1.sok)
 	loadgame - loads a specified game (loadgame game1.sok)
 	loadmap - loads a specified level (loadmap 10)
 	solve - returns a solution for current level (solve 25)
 	teleport - moves the worker to a specified position (teleport 1 1)
 	move - the worker gets the solution and walks on (move UDLR)
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
 LEVELS
-------------------------------------------------------------------------------
	tuSokoban consists of 28 levels with different difficulties.
	Levels are text-file-based and parsed into the game panel.
	After having solved a level, you can see the highscore...
	
	You can always choose your level you want to play (over UltimateBash
	or MenuBar).
	
	If you are not able to solve a level anymore, you can get help by 
	using the Brute-Force-Solver. Enter the solve-command in the UltimateBash
	and you get the solution.
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
 LAYOUTS 	
-------------------------------------------------------------------------------
 -> Changing Skin
 	tuSokoban makes skin changing possible. A skin is a set of images and sounds that represents
 	the game objects. If you like a retro-layout then you can have it.
 	tuSokoban has the following skin sets:
 	- normal (TUD style)
 	- kevin (developed by Kevin)
 	- dhl (postman style)
 	- retro (retro and simple style)
 	- bin (old-school style)
 	
 	The skins can be changed using the MenuBar (Game -> Change Skins)
 	
 -> Changing sound
 	When changing a skin, you always get a new set of sounds that are related
 	to the different game situations. For example, if you decide for skin kevin,
 	you can hear the voice of Homer Simpson.
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
 SPECIAL FEATURES
-------------------------------------------------------------------------------
 -> Advanced Mouse-Movement
 	You can move the worker to any reachable position by clicking with the mouse.
 	The best way will be taken.
 	
 -> Teleport
 	You can move the worker to any reachable position by typing the x and y-
 	coordinates. The UltimateBash supports this function.
	
 -> Brute-Force-Solver
 	We offer the user a solution for any level. Using UltimateBash you should type
 	solve(time) and then a step sequence like "UDLR" (that means Up-Down-Left-Right) 
 	will be sent to the UltimateBash.
 	
 -> UltimateBash
 	A very special users interface component that provides gaming for advanced
 	users. It has many feedbacks for the user. A nice feature.
	
 -> Changing layouts
 	tuSokoban makes layout changing possible. The User can choose from different
 	layout skins. We also implemented different sound styles.
 -------------------------------------------------------------------------------
	

-------------------------------------------------------------------------------
 ANNOTATIONS
-------------------------------------------------------------------------------
	tuSokoban is a java-based implementation of the computer game Sokoban
	developed by four TUD-students. 
	The program comes with no warranty or guaranty for its function
	but it's made as good as possible.
	

tuSokoban - Version 1.0 Copyright 2009 by Kevin Baehr, Mark Goldenstein, Lennart Werner, Bjoern Bender
	