DUNGEON QUEST
Zap the zombies and vanquish the vampires in this spine-chilling challenge by Matthew Holroyd
You have been the wizard's pupil for many years now. He has taught you many magic skills and how to survive in the world of sorcery. Now at long last comes the end of your training program.
Having passed all the other tests the wizard has invented for you, only one remains. You must be locked in the infamous Dungeon of Zalantar and find your way out again.
This is your biggest test yet and if you pass it and manage to escape from the deathtrap you will be awarded one of the Magic Crystals of Kranblaton - a trademark of all the Warlocks of the Dark Ring.
The game starts with you in the entrance hall, the room you must return to when you have all three magic keys.
Each room has a name and is a different colour, making it easier to find you way about.
The rooms contain different objects. Most have disgusting creatures which drain your strength.
Some rooms contain useful items and treasure which may be picked up.
Certain items can be used to tempt or threaten a creature which will then not harm you.
You may hold only six objects at one time. When you try to pick up a seventh you will lose the one at the right-hand side of the list.
To pick up an object you do not need to touch it. Simply make sure you're in the same room as it and press G.
An odd sound should confirm the picking up and the object should appear next to the word "Objects" at the top of the screen.
The beasts and wizards will drain your energy at the rate of ten units a second.
There are five different types of monsters and these are shown in the game. Two cannot be stopped and they will drain your energy no matter what you're holding.
The other three can be tempted or threatened with the objects you're holding, and these will not drain your energy if you're holding the right object.
For example, if you come across a vampire and you're holding a crucifix, then he won't drain your energy.
If you pick up a magic key it replenishes your energy by ten.
We're sure your first few adventures will end in failure and you probably won't be able to get beyond a few rooms. But don't worry - after a few goes you'll get used to looking in the corners of rooms to find out what's in them and when you've discovered how to keep the monsters at bay the rest is all a matter of finding the keys.
These are placed at random in the 33 different rooms of the castle panning three different floors - the main floor, the attic and the dungeon.
The main floor contains a mixture of caverns and cells. The attic is made up of only cells. And the dungeon is made up of only caverns.
Staircases connect the floors, and there is also a tower somewhere.
The program starts with quite a nice wailing sound - which took hours to perfect - and it displays the characters.
The sounds are loud, frequent and can get annoying, so we've added a sound on/off option.
The controls of the man are quite simple and he can be moved in four directions.
To leave a room he must go through a door - a red block - which will be in at least one of the walls.
Game Controls:
Z - Left, X - Right, * - Up, ? - Down, G - Get an object
Q/S - Sound Off/On, F/R - Freeze/Restart Game
Several changes can be made to the adventure to give it a personal touch or just to make it easier.
If you find it too had, just change the first line in PROCinit. Copy the line out and where it says EN%=100, put EN%=200.
This will mean you can survive twice as long as you start the game with twice as much energy.
If you find the game too easy, you may like to add more screens or change the number of keys to be collected.
You can, if you wish, make your own dungeon, maze or castle by designing your own rooms. All the information needed for each room is in the DATA statements at the beginning of the program.
It takes a while to do 33 rooms that all connect to each other, but you can have a go.
The format of the data statement is:
10 DATA room%,"name$,"up%,right%,left%,down%,object%,back%
room% is the type of room you wish it to be. It may be a cell (room%=1), a cavern (room%=2) or a staircase (room%=3).
name$ is simply the name of the room. You may call it anything within nineteen characters. Any longer and it won't fit on the screen neatly.
Naming a room takes up quite a bit of memory, but it gives the room individuality. If you don't wish to name the room, just put "" in that space.
up%, right%, left%, down% are the line numbers that the data for the connecting rooms are on. This means that if up% was equal to 50 and the player went up the program would read the data on line 50 and draw him the new room.
Be sure to get the line numbers right for each room. It's best if you draw a map with all the essential information included.
object% should be entered as O%(n) where n is the line number divided by 10. You should not change these to your own values as the keys may be in this variable and you could never get a key.
If the variable were on line 50 it would read O%(5) and so on.
back% simply holds the colour of the room. It is read in foreground colour which is then VDU 19d to make the room appear in that colour. To make the room appear green back% should equal 2.
Procedures | |
init | Sets all the variables needed for each game. Defines the characters and envelope statements. |
screen | Sorts out every screen. Jumps to drawing procedures depending on the DATA statement. Prints title at top of screen, displays score |
room1 | Draws the cell. Is called by PROCscreen when room% = 1. |
room2 | Draws the cavern. Is called by PROCscreen when room% = 2. |
room3 | Draws the staircase. Is called by PROCscreen when room% = 3. |
checkob | Refers to a list of objects and prints the appropriate one in the room just entered. |
left, right, up, down | These procedures move the man around the screen and jump to a new screen if he touches a door |
read | Reads all the data needed to produce a new room with the objects and monsters in it |
test | Tests to see if there is a monster in the room. If so, sees what you are carrying and acts accordingly. |
update | Updates your remaining energy and the objects you are carrying. Prints them on the screen. |
dead | Runs the dying sequence. Plays a tune. Transforms the man into an angel. |
inst | Displays the characters used in the game and waits for the game to be started. |
get | Controls the picking up of an object. |
look | Looks to see if you are carrying the three keys when you enter the entrance hall |
win | Produces the winning screen |
freeze | Makes a ghostly sound every time the game is paused and waits for you to restart it |
RAVING ROLLER
Life's never easy, is it? Just when you thought that summer was here and you could relax in your Electron garden along comes Mark Turner's RAVING ROLLER.
Equipped with a garden roller, your aim is to clear five gardens of mole mounds which are scattered about at random by the malevolent mammals.
It doesn't sound too difficult, but wait till you see the moles. They've laid mines all over the garden and chase you around as you flatten their mounts. Don't let them catch you, they're killers!
As if that wasn't enough, if you're too slow you'll be fired for time-wasting, so get rolling!
Variables | |
BO% | Bonus points |
LV% | Lives |
L | Level |
C | Code of character for roller |
HC | High score |
SC | Score |
T% | Time |
M% | Number of extra mounds |
S | Number of mounds rolled |
A$ | End of game message |
X% | x coordinate of roller |
Y% | y coordinate of roller |
XX% | Old x coordinates |
YY% | Old y coordinates |
A%(5) | x coordinates of all the moles |
B%(5) | y coordinates of all the moles |
H(5) | Character for moles |
O%(5) | Colours of the backgrounds of each garden |
ZZ%(33) | x coordinates of mounds |
CC%(33) | y coordinates of mounds |
Procedures |
|
PROC_define | Defines characters |
PROC_title | Performs title display |
PROC_arrays | Dimensions arrays |
PROC_instructions | Displays instructions |
PROC_variables | Sets up variables |
PROC_colours | Redefines colours |
PROC_setup | Sets up screen |
PROC_mole | Moves mole |
PROC_move | Moves roller |
PROC_done_it | Called if all five gardens cleared |
PROC_bang | Explosion if roller hits mine |
PROC_eat | Mole eats you |