CASIO DIGIT INVADERS -------------------- Written by Andy 'Uglifruit' Jenkinson CSS Crap Games Competition 2020 I had a CASIO MG-880 back in about 1981. It was the coolest calculator on the market - it could play tunes (diatonically spanning nearly an octave and a half!) on its piezoelectric speaker. But the cool thing was the game DIGIT INVADERS. My brother's calculator didn't have a game (but did also play tunes). And this game rocked. And I was good at it. I remember the day at Nanny's house when I first back to level one again, after completing all 9 waves, at both starting positions. I was at one with the machine. Tron's Kevin Flynn had nothing on me... I was like D.A.R.Y.L. playing Pole Position! Anyway, I decided to have a pop at recreating the game in BASIC, and did *far too much* research into the history of the game, the game logic, and the different places it has appeared. (http://www.liquidcrystal.co.nz/ is a rabbithole of a website!) The recreation "PA Labs" have done for the Android platform, plus watching lots of YOUTUBE videos of people playing the original hardware also helped me tweak some of the timings, those this is less responsive than the original. Or I've lost my touch in the past 35 years. This is written using BASIC, and I've used and - for the first time ever (!) - I've used the command LOAD "name" DATA k$() to load a character array separate from the program. Who knew it could be so useful. It is questionable whether this actually saves time over having it in one load and set up as part of the BASIC program when it runs. What it does mean is you have to be careful not to clear your variables when you BREAK into the program. Have 'fun'. Andy. FEATURES: Two keys ('o' AND 'p'). A reasonably nice font I made using my font designer. * DIGIT INVADERS also seems sometimes to be known as DIGITAL INVADERS and DIGI INVADERS. INSTRUCTIONS ------------ The aim is to score the most amount of points by destroying the invaders approaching from the right. Use the AIM button to match the leftmost digit on the display with any of the approaching invaders. Press the FIRE button to destroy the invader. If the sum of the shot down invaders is a multiple of 10, the next invader will be a mothership unless the stage is completed. The defence lines next to the Aim Digit indicate the number of lives the player has left. There are 2 levels and each level has 9 stages. In each stage you must shoot down all 16 invaders with 30 shots or less. The speed of the invaders increases with each successive stage. In level 2 the invaders start attacking from one position closer. After completing level 2 the game will return to level 1. When the game is over, the display shows the stage that the player reached and the score. SCORING ------- The high score is shown at the start of the game. The points awarded for shooting down an invader depend on the invader's position. Starting from the rightmost position, the points are as follows: Level 1 60, 50, 40, 30, 20, 10 Level 2 100, 80, 60, 40, 20 An extra 300 points is awarded for shooting down a monthership. CHEATING -------- BREAK into program, GO TO 450 restarts the current WAVE, without resetting anything else. And variables are partially documented in the source BAS file. UPDATE LOG ---------- V3 - Corrected spelling in data array.