What to Do After you Hit Return is a collection of computer games first published by the People's Computer Company (PCC) in 1975. Many of these games would re-appear in MS-BASIC versions in the much more famous "BASIC Computer Games" in 1978.
The versions in this repository were written in HP-BASIC, for the then-popular HP 2000 systems. This makes the source somewhat harder to convert to "modern vintage" systems based on MS-derived BASICs like those found on the Apple II or Commodore line. There are hints of a 1978 edition of the book converted to MS-BASIC, but I have not found a copy of that release, if it exists.
HP-BASIC had a few quirks, like using #
for not-equals (in addition to the normal <>
) and that all arrays can be defined and accessed using either square or round brakets. The main practical difference is its handling of strings, which was more like FORTRAN's "array of characters" than MS-style variable-length objects. All strings must be DIMmed, one dimension only and up to a maximum of 72 characters. The MS-style LEFT/MID/RIGHT
are replaced by a "slicing" system using array notation - to get the first five characters of a string you would use A$[1,6]
. Be careful of off-by-ones when converting to and from MS-style, A$[1,6]
is the equivalent of LEFT(A$,5)
.
HP-BASIC was perhaps the most widely used dialect before the Altair 8800 led to MS-BASIC. Many early microcomputer dialects were patterned on it; Apple BASIC (today known as Integer BASIC), Atari, Sinclair, Northstar and many other versions use some slight variation on the HP string handling. Anyone with experience with these versions will feel right at home.
These listings have been hand-converted from a copy of the book on Archive.org. The listings were originally printed on a dot-matrix printer and the scanning quality is highly variable, so in some cases best-guesses have been made in the case of variable names and a few numeric constants. The difference between round and square braketing is almost indistinguishable in the listings, so for clarity, in these conversions all slicing commands use square and everything else uses round.