README for Peter's Adventure v1.01
----------------------------------
The game can be executed using
a) BASICA or GWBASIC (DOS)
b) BASCOM or QBASIC or any QB compiler (DOS)
c) QB64 (Windows x64) or with PC-BASIC 2.01 (Windows)
d) MBASIC (CP/M)
e) BASIC Compiler (CP/M) with the following options (it takes time!):
   BASCOM =PADVENT/X/O
   L80 PADVENT,PADVENT/N/E

This adventure is designed to be modified from a user.
The whole game content (except a few messages) can be modified easily by changing
the DATA statements beginning from line 4580.

The map is designed as a 11x11 tile gameplay area.
You can change the map size by modifying line 270 and line 280.
Each map tile contains at least one item or description.
An item or a description starts always with text and is followed *always* by a
comma and an item type. Each map tile is one string, not many.

Example with just a description: "grassland,0"

or

Example with one item: "grassland,0,Grass,1"

Descriptions should not start with a capital letter, but item names should start with
a capital letter. This is because the program shows description with another words before
the stored description is shown.

You can place items as many as you want in a map tile.

Example with 4 items, a description and a hostile creature:

"grassland,0,Grass,1,Stones,2,Gold,5,Water,6,Monster,8"

The (horizontal) map lines are in a group of 11 DATA statements, separated by a REMark.
You should have 11 groups with 11 DATA statements for the whole map.
If you change the size of the map, this will differ (not 11 but something different).

You can also modify easily the item type descriptions, starting at line 4300.
And last but not least, you can change the verbs easily, too, found at line 4230 and 4240.
You can't alter the position of the verbs, the position (and meaning) is hard coded.

The whole program "loops" beginning from line 440, ending at line 3300.
Between line 3310 and 4210 are auxiliary subroutines which are used more than once in the
program.

The command interpreter can understand parameter for commands, is eliminating any number of
unusable blanks between entered words and understand small and capital letters.

The program can change map tile content for the item types 5 and 8, all other item types
will not be removed, that means "gold" (type 5) and "monster" (type 8) will disappear
if taken or killed. Other items can be taken/gathered but will not disappear !

If you want to kill a hostile creature, the program does NOT need to know what item should
be used to kill it, instead, it looks within the inventory and uses the first usable item
for killing. There are 2 (!) kind of items, type 2 and type 3, which can be used for
killing, but only type 3 is able to kill a monster at once.

Each step consumes "life" points, so you MUST EAT or DRINK something while wandering around.
Also, to "heal" yourself after a monster attacks you, you have to eat or drink something,
too. So if you see something (with the SHOW command) which can be gathered and can be eat
or drink, gather as much as you can (with GET or TAKE).
If you eat or drink items (found in the inventory), these items will be deleted from the
inventory.

Your inventory is sized for 20 items by default, but this can be changed in line 330.

The item types are:
0 = Description (displayed with LOOK)
1 = An item nothing special (you can't do anything with it)
2 = An item which can be used to hurt something
3 = An item which can be used to kill something
4 = An item which can be eat
5 = An item which can be used to pay something
6 = An item which can be drink
7 = An item which is given from a merchant to unlock something
8 = A hostile object/creature/person
9 = A merchant's description
10 = A chest or something else you can unlock (game ends)
99 = A blocked map tile (from all directions)

It is possible to use EXCEL for a more convinient way to design the game map.
EXCEL (depending on country settings) uses ; as a separator for each field.
Each comma within a string (starting and ending with quotation signs) does NOT separate
the fields.
So you can place the whole map in a table, each field is one map tile, and enter
the tile content as described above.
If you're finished with the design, just copy each column in a way that it follows
the column before (vertically). You can save it as CSV file then.
It should be easy to add the DATA statement and line numbers also easily, and add it to
the program text (eventually replace the old DATA statements for the map content first).

If you're able to find a program error within the original source, feel free to send
me a note (peter.dassow@z80.eu), thank you.

You can change/modify the program like you want, but please mention always me as the
first creator of the source and where it came from (www.z80.eu).

Have fun and good luck
 Peter
