0 CLS0:CLEAR600:M=16384:J=16624:FORI=1TO8:READR:Z=J:FORC=0TO7:S(I,C)=Z:Z=Z+R:P(I)=127+16*I:NEXTC,I:A$=CHR$(92):P=J:E=0:GOTO2
1 PRINTM$;:Z=((PEEK(17024)AND1)*256+PEEK(17025))-1+M:FORC=Z-LEN(M$)+1TOZ:POKEC,PEEK(C)-64:NEXT:RETURN:DATA-33,-32,-31,1,33
2 C$=A$+A$+A$:M$="   /-"+A$+"     //-"+A$+A$+"   ///-"+C$+" ///   "+C$+"!!!   !!!"+C$+"   /// "+C$+"-/// ":L=1:I=0:J=0:GOSUB9
3 B$=M$+"  "+A$+A$+"-//     "+A$+"-/   ":FORO=0TO8:?@(O+3)*F+12,;:M$=MID$(B$,(O*9)+1,9):GOSUB1:NEXT:POKEP,106:POKES(L,1),42
4 C$=INKEY$:IFC$<>""THENPOKES(L,1),F:L=L+(C$="A"ANDL>1)-(C$="S"ANDL<8):POKES(L,1),42:IFC$=" "THENI=L:J=1:O=PEEK(S(I,J))
5 IFITHENPOKES(I,J),O:J=J+1:C=S(I,J):O=PEEK(C):POKEC,G:Z=1.1:POKEC,O:IFPEEK(S(I,J+1))>=WORJ=7THENC=I:I=0:IFJ<>7THENPOKES(C,J),G
6 Q=Q+1:ON-(RND(V)>1)GOTO4:E=RND(8):POKES(E,I(E)),F:I(E)=I(E)-1:H=PEEK(S(E,I(E))):POKES(E,I(E)),W:IFH=FTHEN4
7 POKES(E,I(E)),F:SOUND1,1:S=S+1:PRINT@480,"score";:M$=STR$(S):GOSUB1:I(E)=6+RND(2):ON-(H<>106ANDQ<T)GOTO4:Q=0:V=V+(V>8)
8 W=P(V-8):ON-(H<>106)GOTO4:HS=((S>HS)*-S)+((S<=HS)*-HS):?@0,"HIGH"HS,"PLAY AGAIN";:INPUTM$:S=0:ON-(M$="Y")GOTO2:END
9 F=32:FORO=MTOM+511:POKEO,F:NEXT:FORH=1TO8:I(H)=8:S(H,8)=S(H,7):NEXT:V=16:G=43:W=255:P(0)=128:Q=0:T=999:RETURN:DATA32,31,-1
10 REM 0 INITIALIZATION
11 REM 1 REVERSE PRINT ROUTINE
12 REM 2 DEFINE SHIELD GRAPHIC STRING
13 REM 3 PRINT SHIELD GRAPHIC STRING AND SHIP
14 REM 4 TOP MAIN LOOP/KEY INPUT
15 REM 5 PLAYER FIRE ROUTINE
16 REM 6 MOVE & CHECK ATTACKERS
17 REM 7 ATTACKER HIT, INCREMENT SCORE
18 REM 8 GAME OVER? JUMP TO TOP MAIN LOOP OR NEW GAME?
19 REM 9 RE-INITIALIZATION FOR NEW GAME AND DATA
20 REM USE 'A' AND 'S' TO
21 REM ROTATE CANNON
22 REM 'SPACE' TO FIRE
23 REM PROTECT YOUR CENTRE
24 REM BASE FROM 8 WAVES
25 REM OF ALIEN ATTACKERS
