# Battleships CP/M port of the Unix game. Copyright: * bs.c - original author: Bruce Holloway * salvo option by: Chuck A DeGaul * with improved user interface, autoconfiguration and code cleanup * by Eric S. Raymond * v1.2 with color support and minor portability fixes, November 1990 * v2.0 featuring strict ANSI/POSIX conformance, November 1993. * v2.1 for Linux, October 1994. * Slipstreamed in fixes to make it gcc -Wall clean, May '95. * fairly seriously hacked for Hitech C and CP/M, rjm 95/8/14 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 minor changes have been made by me (Anna Christina Naß . ``bs.com`` is the compiled binary. See the ``*.txt`` files for more information. ## Modes * ``-b`` selects a "blitz" variant * ``-s`` selects a "salvo" variant * ``-c`` permits ships to be placed adjacently The "blitz" variant allows a side to shoot for as long as it continues to score hits. The "salvo" game allows a player one shot per turn for each of his/her ships still afloat. This puts a premium scoring hits early and knocking out some ships and also makes much harder the situation where you face a superior force with only your PT-boat. ## Keys To position your ships: move the cursor to a spot, then type the first letter of a ship (using CAPITAL letters) type to select it, then type a direction ([hjkl] or [4862]), indicating how the ship should be pointed. You may also type a ship letter followed by `r' to position it randomly, or type `R' to place all remaining ships randomly. Navigation and aiming keys: yz k u 7 8 9 \|/ \|/ h-+-l 4-+-6 /|\ /|\ b j n 1 2 3 | Key | Action | Key | Action | | ----- | ------------------------ | --------- | ------------------------ | | h / 4 | move left | y / z / 7 | move up+left | | l / 6 | move right | b / 1 | move down+left | | j / 2 | move down | u / 9 | move up+right | | k / 8 | move up | n / 3 | move down+right | | r | place this ship randomly | R | place all ships randomly | | ^L | screen redraw | Q | quit game | ## Compiling HiTech C has been used to compile it, but it needs a lot of free memory (TPA). For compiling, I used the command ``c bs.c`` in CP/M.