Jack And The Beanstalk - Colin Carruthers & Ronald Sellar

(Your Computer-July 84-Page 100)



COLIN CARRUTHERS AND RONALD SELLAR GIVE CLIMBING LESSONS.



In this adventure games based on Jack and the Beanstalk you play the

role of our intrepid hero Jack; your aim is to recover the three

treasures held by the evil Giant who lives in a strange land up in the

clouds.



The program uses a mixture of text and graphics to represent the

locations and objects you find on your travels. Owners of the Currah

MicroSpeech unit will be able to hear the Giant's thundering voice.



Each location is represented by its own subroutines where all the

associated variables are set. These include a location description

string, a Help message, and pointers to surrounding locations.



Commands are also handled by individual subroutines. These routines

check various flags and later those affected by the command. Table 2

gives a complete list of available command verbs.



Objects are split into two groups - Those which can be picked up and

carried and those which can only be examined. Portable objects have a

graphic representation which appears after Look and Inventory

commands. Associated with each of these objects are three levels of

description, for example: "bag", "money bag" and "a cloth bag full of

gold coins". The first two forms are those that can be used in

commands like Get Bag or Get Money Bag. The third is the response

given by the program to the Examine command.



Some special commands are also implemented. These include: Save, Load,

Inventory, Recap and Quit.



First type in listing 1. This creates 64 user-defined graphic

characters which are used in the graphic representation of the

portable objects. When this runs without an error message, save the

resulting code either to tape by typing GO TO 9990 or to Microdrive

cartridge by typing GO TO 9995



Now type in the main program, listing 2. What you do now depends on

whether you are using a Microdrive or tape. With a Microdrive simply type

        GO TO 9995

having inserted the cartridge with the UDG code already on it. With

tape it is now necessary to re-load the UDG code saved by listing 1.

Do this by typing

        GO TO 9990

This will load the code and then Save/Verify both the Basic program and the

code automatically.



TABLE 1. VARIABLES:



l(n)                    Array of flags and object locations.

m$(n)                   Short descriptions of objects.

o$(n)                   Standard descriptions of objects.

d$(n)                   Verbose description of objects.

e$(n)                   Fixed objects that can be examined.

e(n)                    Location of fixed objects.

set                     Current location.

l$                      Current location description.

h$                      Current help message.

up,do,no,so,ea,we       Pointers to surrounding locations

i                       No. of objects carried.

i$,a$,b$                Input line, command and parameter.

max                     Maximum number of portable objects.

found,sp                Assorted flags.

n,m                     General for/next control variables.

keys,s$                 Currah MicroSpeech variables.



TABLE 2. PROGRAM BREAKDOWN:



  10    Initialisation

  20    Main Loop

 500    Command Decode

 600    Input routine

 700    Prints graphical representation of object n

1000    Location subroutines

3000    Get/Take

3200    Unlock

3400    Examine

3600    Inventory

3800    Open

4000    Wear

4100    Remove

4200    Oil/Lubricate

4300    Dig

4400    Tie

4500    Drop

5000    Break/Smash

5400    Light/Strike

5600    Save

5800    Load

6000    Eat

6200    Drink

6400    Sleep

6600    Caught by Giant

6700    Chop

7000    Main Initialisation

8000    Titles

9000    Game Over

9990    Tape/Microdrive Program save



TYPE: Adventure





This info file was typed by Michael Bruhn





Correction from YC Sep'84, page 33

----------------------------------

In the July issue the following two lines were left out of listing 1

for the Spectrum Beanstalk program:

1300 DATA 64,255,192,255,64,63,0,0

1500 DATA 1,3,7,14,28,56,112,32



