Mazemunch Game

Tremendous fun for all in our explosive version of one of the great, all-time arcade hits.

Volume 2

Number 1

March 1984

MAZEMUNCH

By SIMON PHIPPS

AT the beginning of the year 1984 a mad 17-year-old computer genius (huh!) produced nightmarish mutant creatures by disassembling the darkest recesses of his 1.2 MOS.

These creatures, obsessed with the task of chasing anything that moved, soon took over his BBC Micro and placed nasty bugs in exactly the wrong parts of the program.

The creatures, designated under the code name of Goojgies, ran riot and after a year of feverish work on school micros and programmable calculators, this whizz kid created a solution to the problem... the Munchers!

Operating under manual control, the Munchers were sent out to clear the bug-ridden logic mazes of Bits - small binary digits that would cause the terrifying Bad Program error if ever introduced in the wrong addresses.

To the assistance of our fearless pink heroes came the Nibbles — powerful bits that when eaten sent the Goojgies into fits of terror and while active, allowed the Munchers to devour these unsavoury creatures and temporarily stopped their evil doings.

Soon rogue graphics characters in the form of strawberries, birds, cherries, keys, bells and plums helped nourish the Munchers. But after a tough fight the graphics left and now my MOS is completely free of any problems.

Just to make certain that your BBC or Electron doesn't have any of these nightmarish fiends, start typing. Or better still, send for the cassette version - you never know when you will have trouble with your Goojgies!

In case you didn't recognise it from the foregoing, the game is quite simply a version of a classic arcade game. For those of you who have never played it before, here's a short summary.

The object is to move the pink Muncher around the screen, eating the dots and bonus fruits.

To make things more difficult you are pursued by two evil monsters who kill on contact.

If one of the flashing Nibbles is eaten (there are four, one at each corner of the screen) then, for a limited time after, the Muncher may chase the offending Goojgies around the screen and extra points are gained for eating them while they are flashing.

Completion of a whole screen gives a new screen with faster Goojgies and more chances for the Muncher to get indigestion.

Controls: A to move up, Z to move down and cursor left and right for the appropriate direction.

PROCEDURES:

PROCCHARS: Defines characters 224-255 for game.
PROCSCREEN: Draws the maze and sets up the score display.
PROCINIT: Defines the strings for the fruit, positions of Muncher and Goojgies.
PROCMEN: Prints out the appropriate number of lines in the central box.
PROCSCREENCOUNT: Prints out the number of fruit representing the number of completed screens.
PROCMAN: Moves Muncher around the screen making appropriate checks.
PROCFRUIT: Prints out bonus fruit on the screen.
PROCGHOST: Controls Goojgie movement, incrementing positions and calling PROCMOVE.
PROCMOVE: Designates direction of Goojgie movement calling PROCX and PROCY.
PROCX: Controls increment of Gooj- gie's X co-ordinate.
PROCY: Controls increment of Gooj-gie's Y co-ordinate.
PROCPEEK: Checks the screen array to return the value of the character the Goojgie is to move onto.
PROCDIE: Kills the Muncher and resets Goojgie and Muncher positions.
PROCDED: Displays 'game over' and checks whether present score is greater than the high score, re-running the program.
PROCREPLACE: Resets Muncher and Goojgie positions to starting positions.
PROCCOLOURS: Flashes through colours redefining colour 4 for completion of a screen.
PROCCHECK: Checks to see if Goojgies are eaten by the Muncher.
PROCMUNCH: Eats a Goojgie and replaces it to its starting position.

VARIABLES:

A%(x,y): An array storing the characters at the screen print positions.
GX%(n): An array storing the Goojgies X co-ordinate values.
GY%(n): An array storing the Goojgies Y co-ordinate values.
OG%(n): An array storing which character was present on the character cell upon which a Goojgie now stands, allowing the Goojgies to pass over the dots without blanking them out or placing them where they shouldn't be.
A$(n): A string array storing the characters that make up the bonus fruit.
NG%: Number of Goojgies on screen.
LIVES%: Number of lives left.
SCREEN%: Number of screens completed.
PEEK%: Value of character in screen array produced by PROCPEEK.
DGX%: Increment on Goojgies X co-ordinate.
DGY%: Increment on Goojgies Y co-ordinate.
T%: Variable controlling which Goojgie is to be moved during one game cycle.
A%: Variable returning the INKEY value of the key pressed for Muncher movement.
P%: Increment on Muncher's X co-ordinate.
Q%: Increment on Muncher's Y co-ordinate.
X%: Muncher's X co-ordinate.
Y%: Muncher's Y co-ordinate.
L%: Character present in error array to which Muncher is about to move onto.
EAT%: Number of bits (dots) eaten. If EAT%>212 a new screen is generated.
C%: Variable swing present Muncher character - that is, whether mouth is open or closed.
SC%: Score obtained by Muncher.
H%: Before the program is RUN set to zero since this holds the value of the high score. Line 20 checks for a -ve value just in case this is neglected and H% exists from a previous program.
A,X,Y,C: Variables used to set up the maze when the data on lines 410-660 is read and manipulated.
J%: Variable used in PROCCHECK to see if any Goojgies have been eaten.
F: Variable used in FOR-NEXT loop in PROCCOLOURS.
J: Variable used as delay loop in PROCCOLOURS.
M: Variables used as delay loop in PROCDED.