ALLEY DRIVER (1K ZX-81)
by Said Hasson
from ZX Computing 2 (August-September 1982), page 72

In Alley Driver, written by Said Hasson of Worthing, you have to drive a car
down a constantly twisting track. Said explains: "The idea for the program is
not really original, I know, but I think the way I've done it in this game is.
Instead of scrolling the screen to give a racing car effect, as you explained
in your article on Moving Graphics in the last issue of ZX Computing, the car
(an inverse 'H') races down the screen. The effect, I feel, is slightly
smoother and faster than using 'scroll'.

After each section is completed, the screen clears and a new track appears. The
program supports a high score feature, and after each game will ask the player
if he or she wishes to have another game. Pressing "Y" will produce a new game.




BETWEEN THE STARS (16K ZX81)
by Roger MacIntyre
from ZX Computing 2, August/September 1982, pages 33-35

Roger MacIntyre from Ravenscourt Park has decided the delights of west London
are not enough for him. He prefers the space lanes, where he is responsible for
the security of a cube of space, measuring 10 x 10 x 10. The Terran Federation,
sparing no expense in the defence of earth, have provided him with a space ship
equipped with a ZX81 as its on-board computer. Roger needs a break on earth, so
now it is your task to guard the space lanes.

The printout shows you what the screen looks like when you play this game.
There are a lot of things demanding your attention. Your position within the
cube is given by the three co-ordinates under the line "SHIP IS CRUISING AT
CO-ORDINATES:". The first co-ordinate is your position north/ south (with lower
numbers to the south), the second is your position across the cube, ie
east/west, and the third is your position within the cube (forward/back). You
can see that the ability to visualise in three-dimensions is useful.

The alien craft is moving very slowly within the cube, but although you know,
at all times, its direction from you, you do not know how far away it is. You
have to hit it as many times as you can before the time counter decrements to
zero, and without colliding with the alien craft. Running out of energy will
also terminate the game. You will know when you are close enough to fire when
the computer reports that the alien ship is firing at you. Every hit decrements
your energy supply rather drastically.

The game is simple to play, despite the bewildering amount of input the program
is giving you. You just touch the key which refers to the direction you want to
move, N, S, E or W to move north, south, east or west, A to advance, R to
retreat and L to fire your laser at the alien ship. If, for example, you knew
the ship was to the north, you could just hold down the N key until you moved
onto the same north/south plane as the ship, then test for proximity by firing.

You'll find that the program will teach you how to play the game. Just keep in
mind that you have to get as close as possible to the alien ship to fire, and
that your task is to get as many on your 'tally' as possible before the game
ends.



BREAKING OUT (16K ZX-81)
by LG Scotford
from ZX Computing 2 (August-September 1982), page 52

The first issue of ZX COMPUTING included an article by Toni Baker designed to
act as an introduction to machine code. L C Scotford of Eastbourne, East Sussex
took up the challenge of developing a BREAKOUT program from the information in
Toni's article.

The program uses the full 24 lines of the screen; line 10 enables this. The
main problem was testing to see if the ball was lost. However, eventually the
following solution was found:

The very bottom line of the screen is filled with the character used for the
bricks. Line 210 then tests to see whether or not the ball is lost by finding
the current address of the ball. So, if the variable A is 1, showing that a
brick has been hit, and the current address of the ball is greater than the
starting position, then the ball is lost. If the position of the ball is less
than its starting address then it must have hit a genuine brick, so 1 is added
to the score.

The bat is made of three inverse spaces, since the ball will automatically
bounce off these. It can be moved right or left by keys 8 and 5 respectively.
If all the bricks are cleared then the player is given a bonus ball and a new
screen is set up.

The machine code remains unchanged and can be loaded into the REM statement
before the BASIC program is entered. The BASIC itself actually slows down the
ball to a playable rate without seriously cutting the speed.

The best score I have yet achieved is 136 but no doubt there are many who could
easily beat this.

[The magazine listing contains a few errors. These have been fixed at
follows:
- Location 16540 has been set 58 correcting an error in the hex bytes listed.
- Lines 70 and 130 changed to graphic A instead of graphic H since this is
  the code the machine code checks.
- An additional PRINT line has been added at line 355 otherwise the display
  is corrupted when restarting the game.
]




CHOMP (16K ZX81)
by Tim Rogers
from ZX Computing 2, August/September 1982, pages 90-91

Tim Rogers from Richmond turns his programming skill to create a Dodgem car'
type program called CHOMP.

You are a hungry snake on an oblong course filled with dots of food. By typing
in RUN you start the little creature chewing its way anti-clockwise round the
course leaving crumbs in its wake. You cannot stop it or reverse its direction,
but when you get to one of the four gaps you can change lanes by pressing one
of the four arrow keys corresponding to the direction you want to go in. For
example if you are heading north and want to change to a lane further on the
inside press the left arrow key (key 5). However, life is not that simple for
this hungry little snake as there is a rather nasty monster going in the
opposite direction (clock-wise round the course) which is determined to eat the
snake. It bumps round at the same speed as the snake but has less
manoeuvrability when it comes to changing lanes: Whereas the snake can change
up to four lanes per gap, the monster can only change one lane.

The monster is always out to get you and will try to be in the same lane as you
and thus cause a head-on collision and swallow you up. There will always be a
'barrel' somewhere on the course which the snake will swallow even more
readily, but beware, once eaten, a space will remain which the monster will
treat as a gap and, if necessary, use it to change lanes. Ordinary dots score
one point each when eaten; barrels score five. The snake can go across crumbs
where dots have already been eaten but it will not score points. Once all the
dots have been eaten the snake will begin to eat crumbs leaving behind dots,
and when all the crumbs have been eaten the snake will begin to eat dots again,
although you have to be very good indeed to get to this stage.

In theory the game can go on forever but because of the barrels. Tim Rogers
thinks that the highest possible score you could get is 44256 (5 x 208 + 2082).
His record is about 450 or so which, with a little practice, could easily be
beaten.




FOUR IN A ROW (16K ZX81)
from ZX Computing 2, August/September 1982, page 106

The ZX81 gets its thinking cap on to challenge a mere human in its own version
of 'Four in a Row', or 'Connect Four'.

A playing board like that shown in the sample printout is displayed on the
screen. You are the letter "H", the computer is the letter "C". You enter the
number at the bottom of the row in which you wish to appear, and your piece
will be printed there. The program is fairly slow, and has been designed to be
run in the FAST mode. If you'd prefer to run it in SLOW, and the board printout
(from line 100) looks good in action in SLOW, delete lines 8 and 1006.

There is no mechanism to know when the game is over, nor who has won. You may
like to add one once you understand how the program works.




GANEYMEDE II
by Nick Wilson
from ZX Computing Aug/Sep.1982

COLLECTING XYLENIUM CRYSTALS

From darkest Harlescott in Shrewsbury, 15-year-old Nick
Wilson sends us to the planet Ganeymede II, to gather
Xylenium crystals. Monsters and matter transporters are just
two of the hurdles which stand in the way of your gathering
intergalactic wealth.


In this game for a 16K ZX81 (which will run quite happily,
with a few minor changes, on a ZX Spectrum), you are aboard
space flight 12/03 to the planet Ganeymede II. Your mission
there is to collect as many Xylenium crystals as you can
find, and bring them back to good old Terra Firma. For each
crystal you bring back, you'll be paid 1,000,000.

The planet consists of an underground maze of rooms through
which you can move at will. You'll get reports during your
journey, telling you about the contents of various rooms,
and from time to time - if you're lucky - you'll be shown a
map of the planet surface, and where you are on it. Most of
the rooms are empty, but others contain things to slow you
down (or even kill you). Hazards on your journey include
locked rooms, monsters, matter transporters (which move you
all over the place, quite randomly) and bottomless pits (and
the great display which appears on your TV screen if you
fall down a pit almost makes it worth ending the game in
that way). Right now, gird your loins and enter the
underground caverns of Ganeymede II.

Provision is made within the program for a SAVE of all
variables, so when the program is LOADed and run it will
continue from exactly where it left off. When typed in, the
program should be saved by GOTO 9998, and then when loaded
again it will execute itself (which sounds very painful!).


--
Another Fine Product transcribed by:
Jim Grimwood (jg27paw4@globalnet.co.uk), Weardale, England
--




MATCHSTICKS (16K ZX81)
from ZX Computing 2, August/September 1982, page 104

Brain-teasers have been sources of popular computer games from the days when
the only computer game time was that stolen from companies which owned large
mainframes. NIM, and variations on the 'he who picks up the last one, loses'
theme, was one widely programmed game, we've got a version of it here, listed
for the ZX81. Board games also proved good sources of ideas for computer games.
The popular FOUR IN A ROW comes to you now for the 16K ZX81.

The computer plays the human in a variation of the old 'player who picks up the
last one loses' game. This game, Matchsticks, is based on one which was played
in the film 'Last Year at Marienbad'. There are a certain number of matches at
the start of the game, determined by the program, and there is a limit to how
many you can pick up at a time. You and the computer take it in turns to take
away as many matches as you choose, up to the maximum allowed.

The player who takes the last match loses in this game. The computer is not
programmed to be infallible, so you have some chance of winning.




SEA RAIDER (16K ZX81)
by Martin Frobisher, Chalfont St Giles, Buckinghamshire
from ZX Computing 2, August/September 1982, page 115

Our third program from Martin in this issue is called SEA RAIDER.... and it is
more difficult to play than might be thought at first. It needs more than 1K.
In SEA RAIDER, you have to try to destroy a battleship by bombing it with your
plane as you fly over. To make this more difficult, you fly twice as fast as
the ship, and from time to time, are buffeted by winds, increasing your speed
even more.

You have 20 bombs in this version of the game, but you can easily change this
by changing the value assigned to M in line 10. You fire by pressing "F". You
do not see anything fall from the plane, but if you hit it, you are rewarded by
a rather odd explosion on the ship, which is immediately miraculously, restored
and continues on its tireless trip from left to right.

There is a time limit of 300 seconds, and this is reduced steadily while the
game is progressing, although you only see a new 'reduced' figure every so
often. The game ends when you run out of bombs or out of time. The maximum
possible score is 5340 but it is practically impossible to get this within time.

[There is a bug in the program that can result in the wing of the plane being
left on the right hand side of the screen. This is fixed by adjusting the
second column coordinate in line 115 to be as follows:

   115 IF A>26 THEN PRINT AT 5,A-3;"    ";AT 6,A-2;"     "
]





SPECTRAL HANGMAN (16K ZX-81)
by K Mahogany
from ZX Computing 2 (August-September 1982), page 26

"Spectral Hangman" is straight forward. The computer chooses a word from its
list - kept in a series of LET lines - and then gives you a limited number of
guesses (based on the length of the word) to get it right. The vocabulary for
the program can easily be extended.



TILE CRAZY (16K ZX-81)
by K Mahogany
from ZX Computing 2 (August-September 1982), pages 26-27

'Tile Crazy' produces a 4 x 4 square, containing the letters A to L in a random
order. Your task is to put them back in alphabetical order, moving tiles into
adjacent empty squares. If you want to change the starting order, alter A$ (see
line 345).




