2020-07-01 16:22:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 / s temporary save ^U / r reset to temporary save
|
|
|
|
|
^R Refresh screen q quit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The game
|
|
|
|
|
|
|
|
|
|
Characters on screen are:
|
|
|
|
|
|
|
|
|
|
Symbol Meaning Symbol Meanging
|
|
|
|
|
-------- ---------------------------- -------- ---------------------------
|
|
|
|
|
@@ 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
|
2020-12-02 15:36:30 +01:00
|
|
|
|
think that all the moves/pushes you have made are correct, but you don’t
|
2020-07-01 16:22:16 +02:00
|
|
|
|
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.
|