Автор: Andrew Clark
Год: 1986
Издатели: Sinclair User
Языки:
Английский
Формат:
TAP лента
Требования:
ZX Spectrum 48K
Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing
Скриншоты:
Год: 1986
Издатели: Sinclair User
Языки:
Формат:
Требования:
Ссылки:
Скриншоты:
Cybor
by Andrew Clark
from Sinclair User 47 (Feb.1986)
Defend the planet Cybor against Alec [sic] the Malevolent and his army of
droids in a fast moving game by Andrew Clark of Yorkey's Knob in Queensland,
Australia. Dodge the citadels which rush towards you across the flat surface
of the planet and try to shoot down as many droids as you can in the mean-
time.
Cybor runs on any Spectrum, and includes a high score feature.
Line 3 The POKE in line three changes the cursor to CAPS mode, so
that all further letters typed will appear in capitals. The
program then goes to the subroutine at line 7000 which sets
up the user-defined graphics.
Lines 4-20 The instructions are held in subroutine 6000, and the
program prints those if you want them. Important variables
are set up and then subroutine 9000 is called, which draws
the basic screen - sky and land.
Lines 85-110 The lives are drawn in at the top of the screen, along with
the current score and your spacecraft at the bottom.
Remember to input the underlined letters in graphics mode!
If the score is of any size, the program goes to a series of
congratulation routines at line 8000 onwards.
Lines 112-150 If you press a key, the program checks to see if it's the
ENTER key (with code 13). If it is, it sends you to the
shoot routine at line 2000. Otherwise, blank spaces are
printed over your ship, the co-ordinates of the ship
changed, and the new ship printed according to which way
you moved. The co-ordinate is held in variable 'y'.
Lines 160-170 Regardless of what you pressed, the program checks to see
if it wants to put a droid on the screen. Variable 'ship' is
set to 0 if there's no ship and 1 if there is.
Line 160 is complicated. The expression "NOT ship" will be 1
if ship = 0 and 0 if ship = 1. "IF NOT ship" is the same as
"IF NOT ship = 1", so if there's a ship on the screen
nothing new happens, but if there isn't the program uses the
random number generator to see if one will appear this time.
At line 170 that has been decided, and "IF ship" works the
same way. That is, if the variable 'ship' is equal to 1,
then its coordinate 'x' is increased and the ship is printed
at a new position on the screen. The reason Andrew uses this
shorthand version of the normal IF statement is because it
works a little faster, thus speeding up the game.
Lines 800-1040 The variable 'stage' contains a number from 1000 to 1040,
and controls the way in which the citadels which come
towards you are printed. Each separate subroutine prints a
larger citadel on the screen - the variable 'block' fixes
its position. Line 805 checks to see if any part of the
block touches your spacecraft, and line 810 increases the
values of 'stage'.
Lines 2000-2999 This is really just a combination of BEEPs and lines on the
screen to simulate the laser. At 2035 the program checks to
see if an enemy ship is on-screen and if you have hit it.
Lines 3000-3099 The enemy plane is destroyed. All those commas have the
effect of overprinting the three lines containing the plane.
By using different BRIGHT and PAPER values in succession, a
flashing effect is achieved. This sort of thing can only be
done by experimentation.
Lines 4000-4030 More graphical pyrotechnics as your ship is destroyed.
Lines 4040-4199 One life is deducted, and if you have lost the lot you go
to the score feature. If your score is the hi-score, you
are asked to enter your initials. At 4130 to 4155 you are
asked if you want another game. RANDOMIZE USR 0 is called
a soft reset and has the effect of zapping out the entire
program from memory, plus all user-defined graphics.
Lines 6000-6070 This section prints out the instructions on the screen.
Lines 7000-7999 This routine loads in the data for the user-defined
graphics of spaceships, enemy planes and so on.
Lines 8000-8100 This plays a congratulatory tune and gives you a message if
you complete the game.
Lines 9000-9020 Sets up the background screen. Line 9999 saves the game if
you want to auto-run.
by Andrew Clark
from Sinclair User 47 (Feb.1986)
Defend the planet Cybor against Alec [sic] the Malevolent and his army of
droids in a fast moving game by Andrew Clark of Yorkey's Knob in Queensland,
Australia. Dodge the citadels which rush towards you across the flat surface
of the planet and try to shoot down as many droids as you can in the mean-
time.
Cybor runs on any Spectrum, and includes a high score feature.
Line 3 The POKE in line three changes the cursor to CAPS mode, so
that all further letters typed will appear in capitals. The
program then goes to the subroutine at line 7000 which sets
up the user-defined graphics.
Lines 4-20 The instructions are held in subroutine 6000, and the
program prints those if you want them. Important variables
are set up and then subroutine 9000 is called, which draws
the basic screen - sky and land.
Lines 85-110 The lives are drawn in at the top of the screen, along with
the current score and your spacecraft at the bottom.
Remember to input the underlined letters in graphics mode!
If the score is of any size, the program goes to a series of
congratulation routines at line 8000 onwards.
Lines 112-150 If you press a key, the program checks to see if it's the
ENTER key (with code 13). If it is, it sends you to the
shoot routine at line 2000. Otherwise, blank spaces are
printed over your ship, the co-ordinates of the ship
changed, and the new ship printed according to which way
you moved. The co-ordinate is held in variable 'y'.
Lines 160-170 Regardless of what you pressed, the program checks to see
if it wants to put a droid on the screen. Variable 'ship' is
set to 0 if there's no ship and 1 if there is.
Line 160 is complicated. The expression "NOT ship" will be 1
if ship = 0 and 0 if ship = 1. "IF NOT ship" is the same as
"IF NOT ship = 1", so if there's a ship on the screen
nothing new happens, but if there isn't the program uses the
random number generator to see if one will appear this time.
At line 170 that has been decided, and "IF ship" works the
same way. That is, if the variable 'ship' is equal to 1,
then its coordinate 'x' is increased and the ship is printed
at a new position on the screen. The reason Andrew uses this
shorthand version of the normal IF statement is because it
works a little faster, thus speeding up the game.
Lines 800-1040 The variable 'stage' contains a number from 1000 to 1040,
and controls the way in which the citadels which come
towards you are printed. Each separate subroutine prints a
larger citadel on the screen - the variable 'block' fixes
its position. Line 805 checks to see if any part of the
block touches your spacecraft, and line 810 increases the
values of 'stage'.
Lines 2000-2999 This is really just a combination of BEEPs and lines on the
screen to simulate the laser. At 2035 the program checks to
see if an enemy ship is on-screen and if you have hit it.
Lines 3000-3099 The enemy plane is destroyed. All those commas have the
effect of overprinting the three lines containing the plane.
By using different BRIGHT and PAPER values in succession, a
flashing effect is achieved. This sort of thing can only be
done by experimentation.
Lines 4000-4030 More graphical pyrotechnics as your ship is destroyed.
Lines 4040-4199 One life is deducted, and if you have lost the lot you go
to the score feature. If your score is the hi-score, you
are asked to enter your initials. At 4130 to 4155 you are
asked if you want another game. RANDOMIZE USR 0 is called
a soft reset and has the effect of zapping out the entire
program from memory, plus all user-defined graphics.
Lines 6000-6070 This section prints out the instructions on the screen.
Lines 7000-7999 This routine loads in the data for the user-defined
graphics of spaceships, enemy planes and so on.
Lines 8000-8100 This plays a congratulatory tune and gives you a message if
you complete the game.
Lines 9000-9020 Sets up the background screen. Line 9999 saves the game if
you want to auto-run.