ASTEROIDS
By Eric H. Crisp
It's the end of the 21st century and the Earth has used up the last of its mineral resources.
To meet the demand, prospectors are sent out to the Asteroid belt to collect planetoids which contain the precious deposits.
Life in deep space is difficult enough, but competition between the prospectors makes it worse.
It's not unknown for an unscrupulous one to lay mines on some of the asteroids.
You play the part of one of the prospectors, collecting the red and green asteroids. The red ones will give you 10 points, the green ones 50.
You have three lives in which to amass as high a score as possible.
And you'll need all three because if you collide with an asteroid, or pick up a mine and can't defuse it, you explode into a cloud of interstellar dust.
It's up to you. Remember, the Earth needs those minerals.
Good luck!
Program Changes
The game can be made harder or easier by making some or all of the following changes:
Time allowed for defusing a mine: The total time allowed for this is given by the value of Z% in line 130.
The time allowed for inputing one letter is governed by the INKEY value in line 150. Increasing these values allows more time.
Asteroid speed: This is governed by the value of D%. The larger its value, the faster the asteroids move.
It is initialised on line 40 and is steadily increased through the game on line 330.
Asteroid collection: The first comparison on line 300 affects the accuracy with which asteroids must be collected.
Collection is made more difficult by decreasing the number that is compared with ABS(X%(I%)+16).
Number of asteroids: The maximum number that can appear at one time is governed by the range of I%. Its range is given by the FOR...NEXT loops that start on lines 670 and 930.
Note that the program has been written for five asteroids. If more are desired then the DIM statement on line 30 must be changed to allow larger arrays - that is, the numbers in the brackets must be changed.
Also note that more asteroids will slow the game downd ue to the extra processing time needed.
Lives: The number of lives is held in G% which is initialised on line 40.
Variables | |
A% | Score |
A$ | Combination input |
C% | Plotting colour |
D% | Level of difficulty. As game progresses it increases the possible speed of the asteroids |
DX%(I%) | Horizontal speed of an asteroid |
DY%(I%) | Vertical speed of an asteroid |
F% | Finished flag |
G% | Lives |
I% | Asteroid counter |
J% | Loop counter |
K,L | Multiplication factor for rotation calculations |
KEY$ | The three letter combination |
R% | Rotation direction of ship -1, 0 or 1 |
S% | Ship's speed - 0 or 1 |
T%(I%) | Asteroid type. 1 = red, 2 = green, 6 = mine |
X%(I%) | X coordinate of an asteroid |
Y%(I%) | Y coordinate of an asteroid |
Z% | Time for entering the three letter combination |
Procedures |
|
Booby | Tests for correct combination entered |
Crash | Ship explosion |
Hit | Tests whether an asteroid has crashed into the ship or been collected. The score adjusted. |
Initial | Initialises characters and dimensions arrays |
Instruct | Displays the instructions |
Moveast | Moves the asteroids |
Play | The main procedure |
Plot | Plots an asteroid |
Rocket | Displays the rocket exhaust |
Rotate | Calculates new positions and directions due to rotation |
Setup | Sets up the screen display for each new ship |
BUNNY BLITZ
Don't be fooled - this fast and furious game by Mark Smiddy is trickier than it looks...
Easter is almost here and with it the Electron User BUNNY BLITZ. It's a simple little game to learn, but one that's fiendish to play.
You have to dash around collecting Easter eggs that are scattered about the screen. The trouble is that once you start going you can't stop.
You gain points for every egg you collect but whenever you bump into a bunny points are lopped off your total.
Not only that, but you are fighting against the clock.
Clear a screen in time and you are faced with another screen containing even more bunnies. Such is life in the world of the microchip.
Variables | |
E% | Number of eggs on screen |
HI% | High score |
NC% | New character type of player |
OC% | Last X co-ordinate of player |
OY% | Last Y co-ordinate of player |
S% | Present score |
SK% | Present skill level |
X% | Present X co-ordinate of player |
Y% | Present Y co-ordinate of player |
XV% | Present X vector of player |
YV% | Present Y vector of player |
Procedures |
|
PROC_get_skill | Displays title header and control keys. Gets the skill level from the player. |
PROC_player | Reads the keyboard. Adjusts the player's X,Y vectors. Decides which way the player is facing. Replots the player. |
PROC_init | Sets up the user defined characters. Sets up the envelopes. Sets up the initial colour scheme. |
PROC_screen | Draws each screen full of bunnies and prints the word Score. |
PROC_prize | Draws all the eggs. |
CHESS TIMER
By Andrew Phillips
This program comprises both a move-counting Chess Clock and a "Blitz Chess" Buzzer.
CHESS CLOCK works just like the mechanical kind, recording the time each player spends thinking. It also records the number of moves made.
The program uses the computer's internal timer, thus ensuring a high degree of accuracy.
A number of move rates is available and an automatic alarm tells a player if he exceeds the time limit.
Move rates can easily be changed by altering the values at lines 290 to 340.
Pressing the Space bar stops a player's clock and starts his opponent's. Pressing S stops both clocks for adjournment.
The "Blitz Chess" Buzzer sounds intermittently at one of the selected intervals, which can be changed by altering the values at lines 150 to 180.
There is no screen display, so the monitor can be switched off.
DOG, DUCK AND GRAIN
Get the dog, duck and grain across the river - but this game by Pete Davidson isn't as simple as it looks. In fact, it's a ferry difficult task!
Remember the old paper and pencil puzzle "Dog, Duck and Grain"? Well, here's the Electron version to tease and test you.
You have to ferry the animals and the grain across the river. But the program is that once you get in the boat there's only enough room left to carry one of the three.
If you leave the dog behind with the duck, then the duck becomes the dog's dinner. If you leave the duck alone with the grain, then the grain soon becomes the duck's dinner.
And you've got to get them all across the river before you can have your dinner!
Can you do it before you're reduced to eating the duck yourself? How many does wll it take you to solve the Electron "Dog, Duck and Grain" puzzle?
Two variables (SIDE(0)) and SIDE(1)) contain a numbe from 0 to 7 representing the objects on the left hand side (0) and right hand side (1) of the river.
If they ae thought of as binary numbers, then the bits represent the grain, the duck and the dog.
For example, SIDE(0)=7 (111 in binary) means that all three are on the left.
SIDE(0)=5 (101) and SIDE(1)=2 (010) means the dog and grain are on the left, with the duck on the right.
By using the logical operators AND, OR and EOR it is possible to check what is on any side, and remove or put in objects.
Procedures | |
PROCINSTRUCTIONS | Prints out the instructions |
PROCINIT | Defines the characters, initialises SIDE(0) and SIDE(1) (the objects on each side), RESULT (0 unless you lose) and TRY (the number of times you cross the river). The procedure also draws the initial picture on the screen. |
PROCWHICH(p) | The parameter p is the value of SIDE(0) or SIDE(1) and this procedure selects the object you want to move and checks it is actually there. |
PROCCHECK(P) | Checks the combination of objects left on the side determined by P (0 is left and 1 is right) |
PROCMOVERIGHT | This procedure removes the selected object from the left (changes SIDE(0)) and puts it on the right. It calls PROCDISPLAY at appropriate times to show the positions of the objects on the screen. It also calls PROCSHIFT to show the boat moving. |
PROCMOVELEFT | Works like PROCMOVERIGHT to remove objects from the right bank and put them on the left bank |
PROCDISPLAY(p1,p2) | Writes the objects determined by p1 in column p2 on the screen. For example, PROCDISPLAY(7,0) writes all three on the left of the screen. |
PROCSHIFT(a,b) | Moves the boat from a to b |
PROCRESULTS | Prints out the results |
PELICAN
By Alan McLachlan
No, PELICAN isn't another bird to join January's animated duck, nor the ones in this month's "Sounds Exciting" column.
It's just a simple little program the simulates the use of a Pelican crossing.
When you run the rogram your Electron puts the signals on the TV screen and you have to tell it when it's safe to cross the road.
Happily,if you get it wrong you don't get run over. I wish it was the same in real life.
SPACE HIKE
Space Hike is an arcade type game loosely based on the arcade classic FROGGER but with some new and interesting graphics.
The object is to get four spacemen back to their home base at the top of the screen.
They have to avoid monsters on the bottom four rows, take a rest, and then hitch a ride on various spaceships in the next rows to jump home.
It's quite safe to land anywhere on a spaceship. You don't get killed if you are on the first or last block - unlike in many of the professional games. This makes it slightly easier for younger players.
You have three lives to accomplish your journey. When all four home bases are filled you move on to a harder level.
Level 10 is the most difficult, and if you get through it you are given suitable congratulations.
The levels become harder by blocking in the rest area from the edges and also by increasing the speed of the game.
Every time your score increases by 1,000 you get an extra life. Ten points are scored for each jump up.
When all your lives are used up the screen is cleared and the hi score, your score and the level are displayed.
You then have the option of another game, and also that of sound or silent running. This can be an advantage if you want to play in a crowded room.
If you choose silent running you lose a rather nice jingle every time your spaceman reaches home base and other appropriate sounds throughout the game.
Game Controls:
N - Left, M - Right, CTRL - Up, SHIFT - Down
Hints On Typing In:
Omit line 10 until all errors are found, as this disables the ESCAPE key
If you want to increase the speed omit line 360
If you want a harder game, add two extra lines:
192 PROCMOVESPACECRAFT(RO%):RO%=RO%:1:IF RO%=10 RO%=0
197 PROCSPLATCHECK
Variables | |
A%, B%, C% | Various loop counters |
D% | Level |
H% | Hi-score |
L% | Lives left |
M% | Which A$(N) to pick for PROCsplatcheck |
N% | Score / 1000 needed for an extra life |
O% | Amount of monsters on resting line |
P% | Pitch read from DATA for the tune |
R% | Number read from DATA into A%(N) for colour of nth row |
S% | Score |
V% | Used for holding VO% while computer clears the memory |
X% | X co-ordinate of man |
Y% | Y co-ordinate of man |
Z% | which A$(N) to pick for PROCspa(N) |
DU% | Duration or length read from DATA for tune |
RO% | Next road to be moved |
VO% | Volume of sound for game: -12 or 0 |
XS% | Direction of the spaceship you are on if you're on one!) |
AMOHOME% | Amount of men you have got to home base |
DIMs |
|
A$(N) | Colour of the nth row |
AMO%(N) | TRUE if you have got a man abck into home N |
Procedures |
|
PROCINIT | Initialises variables |
PROCSCREEN | Draws screen |
PROCMOVEYOU | Moves the man |
PROCMOVESPACRAFT(N) | Moves road N in the right direction |
PROCSPLATCHECK | Checks whether or not you are dead |
PROCDEAD | Kills you in a suitable way |
PROCEND | Displays score, hi-score and your level |
PROCWELLDONE | Congratulations you appropriately if you beat Level 10 |
PROCHOME | Checks whether you have jumped into an empty hole |
PROCDELETE | Fills in where you were last |
PROCSPA(N) | Prints A$(N) at the right position |
PROCMOVEYONSPA | Moves you on the spacecraft |