Santa's Saucer
SANTA has found that he cannot make all his Christmas Eve deliveries
using the traditional reindeer and sledge — the world's population
is just too large these days.
So he has hired a flying saucer to speed up the process.
Unfortunately the reindeer did not like being made redundant
and they formed an action group. Now reindeer have a foul temper
so they will stop at nothing to prevent Santa from delivering
his presents.
Santa will be busy making up the presents, so he needs someone
to fly the ship and drop them into chimneys. You are the one to
complete this task! The world is depending on you. There are about
200,000 million houses to deliver to, so you will get plenty of
practice.
The number of presents to be delivered to each house is shown
on the screen, and you must drop them down its chimney. You only
have a limited number of presents for each city - if you run out
of presents you will be sacked.
Santa cannot bear inefficiency (see what happened to the reindeer)
so you must deliver at least 60 per cent of the presents safely.
Presents are lost if you drop them on the roof of a house or
on a plane, or if they are shot by the reindeer. The reindeer
have an AA gun and a plane to attack you with, and their shooting
becomes more accurate as the game progresses.
Instructions concerning movement are given in the program.
List of procedures
PROCSMO checks to see which keys are being pressed and moves
Santa's ship accordingly.
PROCPRDR is called whenever a present is dropped, and sets up
the variables for the present.
PROCPRMO moves the present downwards and checks to see if it hits
anything.
PROCINIT sets up the variables at the start of each new sheet.
PROCMISET is called whenever a missile is fired by the AA gun,
and initialises the variables used by the missile.
PROCDELAY (X) causes a delay of X centiseconds.
PROCHOUSE (X, Y) draws a house at X, Y.
PROCSCREEN initialises the screen.
PROCTM moves the turret of the AA gun.
PROCMI moves the missile fired by the gun and checks to see if
it hits anything.
PROCSCORE (X) adds X points to the score and displays the new
score.
PROCPREZ decreases the number of presents the player has and displays
this number.
PROCWINDOW (X) draws a man in the window of the house specified.
PROCDEL calculates and displays the percentage of presents delivered
safely.
PROCPRNO (X) displays information about the number of presents
to be delivered to the house specified.
PROCINSTRUCTIONS no prizes for guessing!
PROCTUNE (X) plays tune X. 0=Jingle Bells, l=Congratulations.
The main program variables are:
HO%(4) data concerning the houses.
HI%(4,1), HI$(4) high score variables.
SC% score.
DEL% number of successful deliveries.
TP% total number of presents dropped.
BAPRES%, PRES% number of presents the player has.
MILOC% determines the accuracy of the missiles fired by the AA
gun.
X%, Y% co-ordinates of Santa's ship.
PR% flag determining state of present.
PRX%, PRY% present's co-ordinates.
PRDES% total number of presents to be delivered.
MIA% flag determining whether the plane or the missile is to be
moved.
N%, M% general loop variables.
I%, X, Y used to pass parameters in procedures.
MI%, MI2%, MI3%, MI4%, MIS%, MIS2% used to position and move missile.
RP%, RP2% plane co-ordinates.
V%, Vl% sound volume variables.