Blockman - J.M.Stidwell (Your Computer-January 84-Page 130)

DEFUSE THE TNT IN J.M.STIDWELL'S EXPLOSIVE GAME FOR THE SPECTRUM.

This addictive game is written for the 16/48K ZX Spectrum. Your man has been
placed on the game grid and has to defuse the TNT which explodes when the li-
near scale shows that your time is up. If your man has not reached the TNT by
then, he will lose one of his three lives.
 Placed around the grid are various obstacles and bonuses. These are in the
form of deadly skulls and flags. On colliding with a skull you will lose a 
life to the sound of Chopin's Funeral March, and a tomb will put in his place.
The flags gain you 150 points each.
 At the end of stage 1 five bombs have been defused for 1000 points each.
Stage 2 is then reached. This involves very quick reactions!! You must guide
your man to the flag, avoiding the skulls. This is done by pressing any key
when he is above the flag. All the time, your man is moving across the screen
from left to right getting lower and lower, however, the longer you take the
lower your bonus - up to a maximum of 4000 points.
 The controls are: Z-left; X-right; P-up; L-down.
 With these controls, your man destroys the blocks that he passes over, and
thus cannot travel over the holes left behind him. When you do not want to 
destroy the blocks you pass over - for passing over a block you get 10 points
- so that you do not hit a skull, or if you have cut yourself off, then you 
can use two special controls. These are A which scrolls the whole row left and
S which scrolls the whole row right.
 The game contains three machine-code routines controlling the scrolling move-
ments described above. The first is stored at address 32084. This controls the
two other machine code routines, one which scrolls to the right - from address
32000 - and the other which scrolls to the left - from address 32042.
 So that this program will run on a 16K ZX Spectrum, economising techniques
must be used. The two methods used are:
* The replacement of all occurrences of the number 0 with the letter variable
  n - given the value is 0. This Saves fives bytes each time it is used as it
  takes just one byte as opposed to the six needed to store a real number.
* This involves replacing all large numbers with its exponential value. For
  example 4e3 = 4 x 10 to the power of 3.
  ERRATA: The last four numbers of Line 9050 should reach 96,96,120,124 and 
  not: 96,-4,120,124.

VARIABLES.
x$ and Y$       Data for Funeral March
1v              Lives
hs              High score
sc              Current score
x               X position of man
y               Y position of man
b$              Possible key presses (line 50)
i               initial time on linear scale
j               Time left on linear scale
a$              Last key pressed
d               Numerical representation of key press
n               0 - used to Save memory

PROGRAM LAYOUT.
   1- 116       Set up screen
 117- 300       Main program
     1000       Wrap around screen calculation subroutine
4000-4110       Stage Two subroutine
5000-5020       Time up
6000-6040       TNT defused
7000-7070       Landed on skull
8000-8220       Instructions
8230-8270       Set level
9000-9300       Initialisation of graphic characters and machine code

GRAPHICS CHARACTERS.
A to D          Man
E to G          Skull
H to L          Flag
M to P          Tomb

Line 70         Graphips MO & NP
Line 75         Graphics EG & FH
Line 100        Graphics IK & JL
Line 115        32 x Graphics Shift 8
Line 120        Graphics AB & CD
Line 4000       16 x (Graphics EG) & 16 x (Graphics FH)
Line 4005       Graphics MO & NP
Line 4050       Graphics AB & CD
Line 4100       Graphics AB & CD
Line 6000       Graphics EG & FH
Line 7010       Graphics QS & RT

Graphics by P.A.Booth

TYPE: Arcade


This info file was typed by Michael Bruhn

