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 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.