Rows of invaders appear at random positions and step down the screen. You move your base left and right with 5 and 8 and fire with 0. Each hit removes one invader and scatters the rest; a cleared wave is replaced by a new one of five. When the invaders reach the bottom the game shows how many you destroyed and offers another game.
The program is the type-in from SYNC v2 n4 (1982) (see the article Micro Invaders). Bob Swoger’s copy was transferred from the TS1000 to the TS2068 with Upload 2000.
Program Analysis
Invader columns are held in A(5); each pass of the loop at 90–170 prints them, moves the base and the missile, pauses and clears the screen, so the display is redrawn every step.
This copy came from a Larken disk. The play-again test now accepts Y (the transferred listing compared the key with “6”). Tested in ZEsarUX on a stock TS2068.
Source Code
1 REM ::MICRO::INVADERS::
5
10 LET G=0
15 LET G=G+5
20 LET B=15
25 LET N=5
30 LET L=0
35 DIM A(5)
40 GO TO 60
45 CLS
50 LET N=N-1
55 IF N=0 THEN GO TO 15
60 LET A=20
65 LET C=0
70 IF L=20 THEN GO TO 200
75 FOR M=1 TO N
80 LET A(M)=INT (RND*18+7)
85 NEXT M
90 FOR I=1 TO 10: REM THERE WAS A ":" HERE, NOT 10
95 FOR M=1 TO N
100 PRINT AT L,A(M);".''."
105 IF A=L AND B=A(M) THEN GO TO 45
110 NEXT M
115 IF INKEY$="0" THEN LET C=1
120 IF C=1 THEN GO TO 140
130 LET B=B+(INKEY$="8")-(INKEY$="5")
135 GO TO 145
140 LET A=A-2
145 PRINT AT A,B;".:. "
150 IF A<L THEN LET C=0
155 IF A<L THEN LET A=20
160 PAUSE 25
162 POKE 23672,255
165 CLS
170 NEXT I
175 LET L=L+4
180 GO TO 70
200 PRINT AT 20,20;G-N;" INVADERS"
210 PRINT TAB 5;"::PLAY::AGAIN::?::(Y/N)::"
212
215 IF INKEY$="" THEN GO TO 215
220 IF INKEY$="Y" OR INKEY$="y" THEN GO TO 5
9992 SAVE "uINVDR.B1" LINE 1
9998 REM was LKDOS-onlyNote: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

