10 REM DEFEND
20 REM à PAUL STANLEY 30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,6:WINDOW #1,1,40,1,25:PAPER #1,0:PEN #1,1:CLS #1 40 GOSUB 1360 50 HL=10:LI=2 60 HS=0 70 GOSUB 1200 80 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 90 GOSUB 1110:GOSUB 840 100 GOSUB 1080:SOUND 1,120,3 110 LOCATE 9,22:PRINT CHR$(18);:LOCATE 9,22:PEN 3:PRINT "FUEL:";:PEN 1:PRINT LEFT$(C$,10-HL);:PEN 3:LOCATE 14,1:PRINT CHR$(24);"HI:";CHR$(24);:PEN 1:PRINT HS;:PEN 3:LOCATE 16,Y+1:PRINT B$;:PEN 1 120 PLOT 272,48,3:DRAWR 160,0,3:DRAWR 0,14,3:DRAWR -160,0,3:DRAWR 0,-14,3:IF LI=2 THEN LOCATE 2,22:PRINT CHR$(233);CHR$(234); 130 PEN 2:LOCATE A+1,B+1:PRINT CHR$(232);:LOCATE A+1,B+2:PRINT A$;:PEN 1 140 LOCATE 1,1:PRINT CHR$(24);"CAPTURES: ";CHR$(24);:PEN 3:PRINT CAP;:PEN 2:LOCATE 22,1:PRINT CHR$(24);"SCORE:";CHR$(24);:PEN 1:PRINT SC; 150 IF RND<0.08 AND B<=LT THEN GOSUB 620 160 PEN 0:LOCATE A+1,B+1:PRINT CHR$(232);:LOCATE A+1,B+2:PRINT A$;:PEN 1 170 LOCATE A+1,B+3:CALL 360:LL=PEEK(367):IF LL=231 AND A$=" " THEN A$=CHR$(231):C=C+1:M=1:LOCATE A+1,B+3:PRINT " "; 180 IF M=1 THEN B=B-INT(RND*3):GOTO 210 190 LOCATE A+1,B+3:CALL 360:LL=PEEK(367):IF LL=32 THEN B=B+INT(RND*2) 200 LOCATE A+1,B:CALL 360:LL=PEEK(367):IF LL<>32 THEN M=1:C=C+1 210 IF B<1 THEN B=1 220 IF C=8 OR B>17 THEN CLS:GOSUB 840:GOTO 110 230 A=A-1 240 IF A=-1 THEN A=31:M=0:IF A$=CHR$(231) THEN CAP=CAP+1:FOR XS=-3 TO 6:SOUND 2,(XS+20),3:NEXT:A$=" " 250 PEN 0:LOCATE 16,Y+1:PRINT B$;:PEN 1 260 Y=Y-(INKEY(2)=0 AND Y<=LT)+(INKEY(0)=0 AND Y>1) 270 IF INKEY(47)=0 THEN IF B$=CHR$(233)+CHR$(234) THEN B$=CHR$(235)+CHR$(236):GOTO 290 280 IF INKEY(47)=0 THEN B$=CHR$(233)+CHR$(234) 290 PEN 3:LOCATE 16,Y+1:PRINT B$;:PEN 1 300 IF CAP=3 OR HL=10 THEN LOCATE 10,1:PRINT CAP;:GOTO 780 310 IF INKEY(9)=0 THEN GOSUB 330 320 GOTO 130 330 I=-119*(B$=CHR$(235)+CHR$(236))-136*(B$=CHR$(233)+CHR$(234)):J=(21-Y)*8+3 340 PLOT I*2+64,J*2+48,2 350 IF B$=CHR$(233)+CHR$(234) THEN SOUND 1,130,3:DRAWR 180,0,2:SOUND 1,90,3:PLOT I*2+64,J*2+48,0:DRAWR 180,0,0 360 IF B$=CHR$(235)+CHR$(236) THEN SOUND 1,130,3:DRAWR -180,0,2:SOUND 1,90,3:PLOT I*2+64,J*2+48,0:DRAWR -180,0,0 370 IF Y=B AND((B$=CHR$(233)+CHR$(234) AND A>16 AND A<29) OR(B$=CHR$(235)+CHR$(236) AND A<15 AND A>2)) THEN IF A$=CHR$(231) THEN GOTO 450 ELSE 390 380 RETURN 390 M=0:LOCATE A+1,B+1:PRINT CHR$(237);:SOUND 1,120,3:LOCATE A+1,B+1:PRINT CHR$(24);CHR$(237);CHR$(24); 400 LOCATE A+1,B+1:PRINT CHR$(237);:SOUND 1,120,3:LOCATE A+1,B+1:PRINT CHR$(24);CHR$(237);CHR$(24); 410 LOCATE A+1,B+1:PRINT CHR$(237);:SOUND 1,120,3:LOCATE A+1,B+1:PRINT CHR$(24);CHR$(237);CHR$(24);:LOCATE A+1,B+1:PRINT " ";:B=1+INT(RND*14):A=31 420 SC=SC+10 430 A$=" " 440 RETURN 450 SOUND 1,180,3:LOCATE A+1,B+1:PRINT CHR$(237);:SOUND 1,120,3:LOCATE A+1,B+1:PRINT CHR$(24);CHR$(237);CHR$(24);:LOCATE A+1,B+1:PRINT " "; 460 F=0:FOR D=B+1 TO 19 470 LOCATE A+1,D+1:PRINT CHR$(231);:SOUND 1,20*D,3 480 F=F+1 490 LOCATE A+1,D+1:PRINT " "; 500 LOCATE A+1,D+2:CALL 360:CL=PEEK(367):IF CL<>32 THEN 530 510 NEXT D 520 GOTO 570 530 O=RND:IF 0>0.35 AND F>9 THEN SC=SC+50*(SC>=50)+SC*(SC<50):FOR F=-30 TO 1:LOCATE A+1,D+2:PRINT CHR$(237);:SOUND 1,F+40,1:NEXT F:LOCATE A+1,D+2:PRINT " ";:GOTO 550 540 LOCATE A+1,D+2:PRINT CHR$(231); 550 IF O<=0.35 THEN 580 560 M=0 570 A$=" ":A=31:B=INT(RND*14)+1:RETURN 580 FOR F=1 TO 4 590 LOCATE A+1,D+2:PRINT CHR$(231);:SOUND 1,180,3:LOCATE A+1,D+2:PRINT " ";:SOUND 1,120,3:LOCATE A+1,D+2:PRINT CHR$(231);:SOUND 1,180,3:LOCATE A+1,D+2:PRINT " " ;:SOUND 1,120,3:NEXT 600 LOCATE A+1,D+2:PRINT CHR$(231); 610 LOCATE A-1,D:PRINT "I'M OK!";:LOCATE A+1,D+1:PRINT CHR$(149);:FOR F=0 TO 300: NEXT:LOCATE A-1,D:PRINT " ":LOCATE A+1,D+1:PRINT " ";:GOTO 560 620 IF A>15 THEN DIR=-80:STX=A*8-1 630 IF A<=15 THEN DIR=80:STX=A*8+8 640 PLOT STX*2+64,(21-B)*16+51,3:SOUND 1,180,3:DRAWR 2*DIR,0,3 650 PLOT STX*2+64,(21-B)*16+51,0:SOUND 1,180,3:DRAWR 2*DIR,0,0 660 IF B=Y THEN IF (A<27 AND DIR=-80) OR (A>4 AND DIR=80) THEN GOTO 680 670 RETURN 680 LOCATE 16,Y+1:PRINT " ";:A=15 690 PLOT 304,(21-Y)*16+51:DRAWR 14,0 700 Y=-Y*(Y>=3)-3*(Y<3) 710 FOR V=1 TO 6 720 LOCATE A+V+1,Y+V/2+1:PRINT CHR$(233);:LOCATE A+V+1,Y-V/2+1:PRINT CHR$(234);:LOCATE A-V+1,Y+V/2+1:PRINT CHR$(235);:LOCATE A-V+1,Y-V/2+1:PRINT CHR$(236); 730 SOUND 1,80,3 740 LOCATE A+V+1,Y+V/2+1:PRINT " ";:LOCATE A+V+1,Y-V/2+1:PRINT " ";:LOCATE A-V+1,Y +V/2+1:PRINT " ";:LOCATE A-V+1,Y-V/2+1:PRINT " "; 750 NEXT V 760 LI=LI-1 770 IF LI>0 THEN CLS: GOSUB 840:GOTO 110 780 FOR FF=-5 TO 5:FOR GG=5 TO 10:SOUND 2,FF+10*(15-GG),3:SOUND 1,GG*2,3:NEXT GG ,FF 790 PEN 2:LOCATE 8,11:PRINT CHR$(24);"G A M E O V E R";CHR$(24);:PEN 1:LOCATE 1,22:PEN 3:PRINT CHR$(24);" PRESS ANYKEY TO TRY AGAIN ";CHR$(24);:PEN 1 800 IF SC>HS THEN HS=SC 810 IF INKEY$<>""THEN 810 820 IF INKEY$="" THEN 830 ELSE CLS:GOTO 90 830 GOTO 810 840 HL=HL+2:Y=50:X=0 850 PLOT X*2+64,Y*2+48,2 860 A=INT(RND*20):B=INT(RND*20-RND*20) 870 X=X+A:Y=Y+B 880 IF X>251 THEN 920 890 IF Y<10 OR Y>60 THEN X=X-A:Y=Y-B:GOTO 860 900 DRAWR A*2,B*2,2 910 GOTO 860 920 FOR X=0 TO 24 STEP 3 930 A=INT(RND*6+X) 940 F=20 950 FOR B=4 TO 21 960 LOCATE A+1,B+1:CALL 360:CL=PEEK(367) :IF CL<>32 THEN LOCATE A+1,B+1:PRINT CHR$(231);:B=B+2 970 NEXT B,X 980 FOR F=11 TO 17:FOR Y=0 TO 31:LOCATE Y+1,F+1:CALL 360:CL=PEEK(367):IF CL<>32 THEN LT=F-1:GOTO 1000 990 NEXT Y,F 1000 Y=5:C=0 1010 B$=CHR$(233)+CHR$(234) 1020 A=31:B=1 1030 A$=" ":C$=STRING$(10,143) 1040 M=0 1050 LOCATE 2,22:PRINT " "; 1060 IF LI=2 THEN LOCATE 2,22:PRINT CHR$(233);CHR$(234); 1070 RETURN 1080 SC=0:CAP=0:C=0 1090 HL=0:LI=2 1100 RETURN 1110 SYMBOL AFTER 230 1120 SYMBOL 231,28,28,8,62,8,8,20,34 1130 SYMBOL 232,0,24,60,66,255,126,66,102 1140 SYMBOL 233,0,0,199,204,255,255,3,0 1150 SYMBOL 234,0,0,240,24,255,252,224,0 1160 SYMBOL 235,0,0,15,24,255,63,7,0 1170 SYMBOL 236,0,0,227,51,255,255,192,0 1180 SYMBOL 237,196,9,176,6,208,74,145,10 1190 RETURN 1200 PEN 3:PRINT CHR$(24);" D E F E N D ";CHR$(24);:PEN 1 1210 LOCATE 1,4 1220 PEN 2:PRINT "A fleet of aliens has managed to get past defensive lines on Earth. One by one they fly in with the sole intent of picking up Humanoids which have climbed to the top of the hills to see what is happening.":PEN 1 1230 PEN 3:PRINT:PRINT "Your job is to prevent the fleet from capturing the Humanoids. You have a powerful laser with which to shoot down the aliens":PEN 1 1240 PEN 2:PRINT:PRINT:PRINT:PRINT CHR$(24);" UP ARROW...UP DOWN ARROW...DOWN ";CHR$(24);:PEN 1 1250 PEN 3:PRINT CHR$(24);"SPACEBAR..CHANGE DIRECTION FIRE...COPY";CHR$(24);:PEN 1 1260 LOCATE 8,23:PRINT CHR$(24);"PRESS ANY KEY TO CONTINUE.";CHR$(24);:PEN 1 1270 IF INKEY$<>"" THEN 1270 1280 IF INKEY$="" THEN 1280 ELSE CLS 1290 PEN 3:PRINT CHR$(24);" D E F E N D ";CHR$(24);:PEN 1 1300 PEN 2:LOCATE 1,5:PRINT "You have been defeated when 3 humanoids have been captured. It is alright to shoot at an alien whichis clutching a Humanoid as long as he does not fall too far (IF HE DOES YOU FORFEIT 50 POINTS.)":PEN 1 1310 PRINT: PRINT:PRINT "Don't underestimate your enemy invader, he may have a trick up his sleeve...... Every so often the computer will take you to a new location at the expenseof some of your fuel which,if zero, willend the game." 1320 PEN 3:PRINT:PRINT:PRINT CHR$(24);" PRESS ANY KEY TO CONTINUE ";CHR$(24);:PEN 1 1330 IF INKEY$<>"" THEN 1330 1340 IF INKEY$="" THEN 1340 ELSE CLS 1350 RETURN 1360 RESTORE 1370:FOR XX=360 TO 366:READ ZZ:POKE XX,ZZ:NEXT:RESTORE:RETURN 1370 DATA 205,96,187,50,111,1,201 1380 FOR SS=231 TO 241:PRINT CHR$(SS);" ";:NEXT |