Appears on
Assembled by Tim Ward from many sources. Contains programs 10122 – 10175.
Source Code
1 REM * CLIVE INVADERS * 2 GOSUB 9038 3 IF INKEY$="Y" THEN GOTO 9000 4 IF INKEY$="N" THEN GOTO 6 5 GOTO 3 6 LET S1=0 7 LET S2=0 8 CLS 10 FOR A=0 TO 21 20 PRINT "% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % " 30 NEXT A 34 PRINT AT 21,1;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.." 35 PRINT AT 0,0;"% %S%C%O%R%E% ";S1;"% % % % %H%I% %S%C%O%R%E% ";S2 36 PRINT AT 1,0;"% " 45 LET G$="% % % % % % " 50 LET A$="% \:' \ '% % " 60 LET B$="% \' \' \ :% " 70 LET C$="% \:.\ '\ .% % " 80 LET D$="% \'.% \:.\':% " 85 LET H=0 90 LET A=1 100 LET B=INT (RND*25)+1 110 LET E$="% % % \:'\ '% % % " 120 LET F$="% % \:' \ '% % " 130 LET C=20 140 LET D=15 150 LET E=0 160 LET F=0 165 SLOW 170 IF INKEY$="D" THEN LET D=D+2 180 IF INKEY$="A" THEN LET D=D-2 190 IF INKEY$="L" THEN GOSUB 1000 195 LET H=INT (RND*3) 200 IF D<1 THEN LET D=1 205 IF H=2 THEN LET H=-1 210 IF D>=25 THEN LET D=25 211 IF B<=1 THEN LET B=1 212 IF B>=25 THEN LET B=25 220 PRINT AT A,B;G$ 230 PRINT AT A+1,B;A$ 240 PRINT AT A+2,B;B$ 250 PRINT AT A+3,B;C$ 260 PRINT AT A+4,B;D$ 265 PRINT AT A+5,B;G$ 270 PRINT AT C,D;F$ 280 PRINT AT C-1,D;E$ 281 IF E>=5 THEN GOSUB 4000 283 IF F=1 THEN GOSUB 5000 284 IF F=2 THEN GOSUB 5500 290 IF A+5=C THEN GOTO 2000 295 LET Z1=INT (RND*10)+1 300 LET A=A+1 305 IF Z1=10 THEN LET A=A-2 310 LET B=B+H 315 LET F=F+1 318 LET E=E+0.2 319 IF Z1=10 THEN GOTO 230 320 GOTO 170 1000 PRINT AT C,D;F$ 1002 PRINT AT C-1,D;E$ 1005 LET J=D+4 1010 FOR I=17 TO A+4 STEP -1 1020 PRINT AT I,J;"\ :" 1030 NEXT I 1040 IF J=B+1 THEN GOTO 1100 1050 IF J=B+2 THEN GOTO 1100 1060 IF J=B+3 THEN GOTO 1100 1070 IF J=B+4 THEN GOTO 1100 1090 FOR I=A+4 TO 18 STEP 1 1095 PRINT AT I,J;"% " 1096 NEXT I 1098 RETURN 1100 PRINT AT A+1,B;G$ 1105 PRINT AT A,B;G$ 1110 PRINT AT A+2,B;G$ 1120 PRINT AT A+3,B;G$ 1130 PRINT AT A+4,B;G$ 1150 FOR I=A+5 TO 17 STEP 1 1160 PRINT AT I,J;"% " 1170 NEXT I 1180 LET A=1+INT (RND*4)+1 1185 LET B=INT (RND*25) 1190 LET E=E+.5 1195 LET S1=S1+15 1196 PRINT AT 0,7;S1 1200 RETURN 2000 PRINT AT C,D;"% % % % % % % " 2010 PRINT AT C-1,D;"% % % % % % " 2020 PRINT AT 1,0;"% %G%A%M%E% %O%V%E%R% %,%A%N%O%T%H%E%R% %G%O%?% %(%Y%/%N%)% " 2025 IF S1>S2 THEN GOTO 2030 2026 GOTO 2035 2030 LET S2=S1 2032 PRINT AT 0,20;S2 2035 LET S1=0 2045 IF INKEY$="N" THEN GOTO 7000 2046 IF INKEY$="Y" THEN GOTO 8 2047 GOTO 2045 4000 FOR J=A+5 TO 20 4005 PRINT AT J,B+2;"\: " 4010 NEXT J 4015 IF B+3=D+6 THEN GOTO 6000 4020 IF B+3=D+3 THEN GOTO 6000 4025 IF B+3=D+4 THEN GOTO 6000 4030 IF B+3=D+5 THEN GOTO 6000 4035 FOR J=A+5 TO 20 4036 PRINT AT J,B+2;"% " 4037 NEXT J 4040 LET E=E-INT (RND*5)+1 4050 RETURN 5000 LET D$="% \:.\':\'.% % " 5010 RETURN 5500 LET D$="% \'.% \:.\':% " 5505 LET F=0 5510 RETURN 6000 PRINT AT C,D;"% % % % % % " 6010 PRINT AT C-1,D;"% % % % % % " 6020 FOR J=A+5 TO 20 6030 PRINT AT J,B+2;"% " 6040 NEXT J 6050 GOTO 2020 7000 PRINT AT 19,0;"% % % % %T%H%E% %C%L%I%V%E% %I%N%V%A%D%E%R%S% %R%U%L%E% % " 7005 LET F=1 7006 IF A=15 THEN LET A=14 7010 PRINT AT A+1,B;A$ 7015 PRINT AT A+2,B;B$ 7020 PRINT AT A+3,B;C$ 7021 PRINT AT A+4,B;D$ 7025 IF F=1 THEN GOSUB 5000 7026 IF F=2 THEN GOSUB 5500 7027 LET F=F+1 7028 GOTO 7010 9000 CLS 9001 PRINT AT 0,0;" % %*%*%*% %C%L%I%V%E% %I%N%V%A%D%E%R%S% %*%*%*% " 9010 PRINT AT 2,0;"TO MOVE THE BASE LEFT, PRESS A AND TO MOVE IT RIGHT, PRESS D TO FIRE, PRESS L GOOD LUCK -----------" 9020 FOR W=1 TO 100 9021 NEXT W 9030 GOTO 6 9050 PRINT AT 1,0;"DO YOU WANT INSTRUCTIONS (Y/N)?" 9060 PRINT AT 0,0;" % %*%*%*% %C%L%I%V%E% %I%N%V%A%D%E%R%S% %*%*%* " 9065 RETURN 9070 SAVE "1015%7" 9080 RUN