.. | ||
HitechC | ||
readme.1st | ||
readme.lnx | ||
README.md | ||
readme.org | ||
readme.v2 | ||
soklevls.dat | ||
sokoban.c | ||
sokoban.com | ||
sokoban.hlp |
Sokoban
CP/M port of a Unix curses clone of sokoban
I found it as part of the ZCN repository: https://github.com/jamesots/zcn
The C source has been modified for VT100 compatibility, and some unused variables have been removed :)
sokoban.com
is the compiled binary.
To run it, the files sokoban.com
and soklevls.dat
are needed
The help file, sokoban.hlp
, is not used in this version.
You find the contents below.
See the readme.*
files for more information.
Commands
Key | Action | Key | Action | Key | Action |
---|---|---|---|---|---|
h | move/push left | H | run/push left | ^H | run left to object |
l | move/push right | L | run/push right | ^L | run right to object |
j | move/push down | J | run/push down | ^J | run down to object |
k | move/push up | K | run/push up | ^K | run up to object |
u | undo last move/push | U | undo all | ||
c | temporary save | ^U | reset to temporary save | ||
^R | Refresh screen | ? | this help | ||
q | quit | s | save the game |
The game
Characters on screen are:
| @@ | player | ++ | player on saving position |
| .. | saving position for packet | | packets |
| ** | saved packet | ## | wall |
Your goal is to move all packets to the saving position by pushing them.
As you could see you can make a temporary save. This is useful if you think that all the moves/pushes you have made are correct, but you don't know how to go on. In this case you can temporary save (using the c command). If you then get stucked you need not undo all (using U), you can reset to you temporary save.
If you have restored a saved game, a temporary save is automatically made at the start.
Compiling
HiTech C has been used to compile it, it is placed in the directory HitechC
.
To compile Sokoban, I used the command c -O sokoban.c
in CP/M.