70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
# 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 <esr@snark.thyrsus.com>
|
|
* 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ß <acn@acn.wtf>.
|
|
|
|
bs.com is the compiled binary.
|
|
|
|
## 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.
|
|
|