100 GOSUB1160 110 CLR:S=54272:LO=54296:GOSUB940 120 C=PEEK(197):D=PEEK(653) 125 Q$=STR$(Q2)+" ":IFQ2<=0THENQ$="0 " 130 PRINT" SC = ";L;" LIVES = ";WW;" EN = ";Q$ 140 IFQ2=<0THEN749 150 IF(C=20)AND(A+2+2*D<40)THEN280 160 IF(C=12)AND(A-2-2*D>-1)THEN300 170 IFC=23ORC=1ORC=60THENQ2=Q2-20:GOTO530 180 BZ=AZ+INT(55*RND(0))-30:T1=SGN(BZ-AZ) 200 IF (AZ-BZ) > (29-P1) THEN 630 210 IF BZ<30ORBZ>310 THEN 180 220 IF T1=1THENA1=AZ:A2=BZ:GOTO240 230 A1=BZ:A2=AZ 240 FORI=A1TOA2STEPT1*6 250 IF I<256 THEN POKEV+16,PEEK(V+16)AND254:POKEV,I:NEXT:AZ=BZ:GOTO120 260 POKEV+16,PEEK(V+16)OR1:POKEV,I-256:NEXT:AZ=BZ:GOTO120 270 M=5:GOTO120 275 REM MOVE BASE SHIP 280 IF D<>0THEN390 290 A=A+2:B1=BX+16:GOTO320 300 IF D<>0THEN460 310 A=A-2:B1=BX-16 320 Q2=Q2-5:T1=SGN(B1-BX):IFT1=1THENA1=BX:A2=B1:GOTO340 330 A1=B1:A2=BX 340 FORI=A1TOA2STEPT1*4 350 IF I<256 THEN POKEV+16,PEEK(V+16)AND253:POKEV+2,I:NEXT:BX=B1:GOTO370 360 POKEV+16,PEEK(V+16)OR2:POKEV+2,I-256:NEXT:BX=B1 370 IF PEEK(1904+A)<>32ANDPEEK(1905+A)<>32THEN180 380 W=W-1:GOSUB 733:GOTO 120 385 REM JUMP RIGHT 390 A=A+4:FORI=BXTOBX+16STEP2:Y=Y-2 400 IF I<256 THEN POKEV+16,PEEK(V+16)AND253:POKEV+2,I:POKEV+3,Y:NEXT:GOTO420 410 POKEV+16,PEEK(V+16)OR2:POKEV+2,I-256:POKEV+3,Y:NEXT 420 FORI=BX+16TOBX+32STEP2:Y=Y+2 430 IF I<256 THEN POKEV+16,PEEK(V+16)AND253:POKEV+2,I:POKEV+3,Y:NEXT:GOTO450 440 POKEV+16,PEEK(V+16)OR2:POKEV+2,I-256:POKEV+3,Y:NEXT 450 BX=BX+32:IF PEEK(1904+A)<>32ANDPEEK(1905+A)<>32THEN180 455 GOSUB 731:GOTO 120 458 REM JUMP LEFT 460 A=A-4:FORI=BXTOBX-16STEP-2:Y=Y-2 470 IF I<256 THEN POKEV+16,PEEK(V+16)AND253:POKEV+2,I:POKEV+3,Y:NEXT:GOTO490 480 POKEV+16,PEEK(V+16)OR2:POKEV+2,I-256:POKEV+3,Y:NEXT 490 FORI=BX-16TOBX-32STEP-2:Y=Y+2 500 IF I<256 THEN POKEV+16,PEEK(V+16)AND253:POKEV+2,I:POKEV+3,Y:NEXT:GOTO520 510 POKEV+16,PEEK(V+16)OR2:POKEV+2,I-256:POKEV+3,Y:NEXT 520 BX=BX-32:IF PEEK(1904+A)<>32ANDPEEK(1905+A)<>32THEN180 525 GOSUB 731:GOTO 120 530 A1=106:POKES+4,33 540 II=0:FORI=1784TO1144STEP-40:POKEI+A,A1:POKEI+A+S,1:POKES+1,II:II=II+3 550 IFPEEK(V+31)=1THEN CR=1:NEXT:GOTO570 560 NEXT 570 POKES+4,32:IF A1=32ANDCR<>1 THEN 180 580 IF CR=1 AND A1=32 THEN 600 590 A1=32:CR=0:GOTO540 600 POKEV+21,2:T1=INT((AZ-BX)/8) 610 FORI=1104+A+T1TO1104+A+T1+3:POKEI,42:POKEI+S,2:NEXTI:GOSUB740 615 FORI=1104+A+T1TO1104+A+T1+3:POKEI,32:POKEI+S,2:NEXTI:CR=0 620 L=L+50:Q2=Q2+45:POKEV+21,3:AZ=INT(RND(1)*200)+40:POKEV,AZ:GOTO 120 625 REM SHOOT AT BASE 630 POKES+4,33:II=120:A1=106:T1=INT(AZ/8)-2 640 FORI=1144TO1864STEP40:POKEI+T1,A1:POKEI+S+T1,1:POKES+1,II:II=II-3 650 IF PEEK(V+31)=2THENCR=1:NEXT:GOTO670 660 NEXT 670 POKES+4,32:IFA1=32THEN 690 680 A1=32:GOTO 640 690 IF CR=1 THEN GOSUB731:GOTO120 710 W=PEEK(1904+T1):IFW=102THENPOKE1904+T1,230:GOTO120 715 W=PEEK(1904+T1):IFW=230THENPOKE1904+T1,32:GOSUB740:GOTO120 720 W=PEEK(1944+T1):IFW=102THENPOKE1944+T1,32:GOSUB740:GOTO120 730 GOTO 800 731 REM BASE DESTROYED 733 POKEV+21,1:POKE1864+A,42:POKE1865+A,42:POKE1864+A+S,2:POKE1865+A+S,2 734 POKES+4,129:POKES+1,90 735 FORI=1TO300:NEXT:POKES+4,128:IF WW=1 THEN 800 736 WW=WW-1:POKE1864+A,32:POKE1865+A,32:POKEV+31,0:CR=0 737 A=0:POKEV+16,PEEK(V+16)AND253:POKEV+21,3 738 FORA=0TO32STEP2:IFPEEK(1904+A)<>102ORPEEK(1905+A)<>102THENNEXTA 739 BX=A*8+24:POKEV+2,BX:RETURN 740 POKES+4,129:POKES1,30:FORI=1TO50:NEXT:POKES+4,128:RETURN 749 PRINT"OUT OF ENERGY !!":FORX=1TO2500:NEXT 750 PRINT"[147]" 760 POKES4,0 800 POKE53269,0:PRINT" GAME OVER" 810 FORI=1TO1500:NEXT 820 PRINT"[147]" 830 POKEV+21,0:PRINT"[147]":B$=" BATTLE AGAIN ?":B1$=" (Y/N)" 840 FORI=1TOLEN(B$):PRINT"[145]"TAB(8)LEFT$(B$,I) 850 FORK=1TO125:NEXT:NEXT 860 PRINT:PRINT:PRINT 870 B1$=" (Y/N)" 880 FORI=1TOLEN(B1$):PRINT"[145]";TAB(8)LEFT$(B1$,I) 890 FORK=1TO125:NEXT:NEXT 900 FORV=1TO10:GETA$:NEXT 910 GETYN$:IFYN$=""THEN910 920 IFYN$="N"THENEND 930 GOTO110 940 PRINT"[147]DIFFICULTY LEVELS[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 950 PRINT"1-BEGINNER" 960 PRINT"2-ROOKIE" 970 PRINT"3-PRO" 980 PRINT"4-EXPERT" 990 PRINT"5-RANDOM" 995 PRINT" CHOOSE 1-5" 1000 GETP1$ 1020 IFP1$<>"1"ANDP1$<>"2"ANDP1$<>"3"ANDP1$<>"4"ANDP1$<>"5"THEN1000 1040 IFP1$="5"THENP1=RND(0)*6 1050 P1=VAL(P1$) 1060 FORI=STOLO:POKEI,0:NEXTI:POKELO,15:POKES+5,130:POKES+6,72 1070 V=53248:POKEV+21,7:POKE2040,13:POKE2041,14:POKE2042,14 1080 POKEV+39,3 1090 POKE V+28,1:POKEV+37,1:POKEV+38,5:POKEV+39,2:POKEV+40,1:POKEV+4,150 1100 POKE53280,0:POKE53281,0:W=3:PRINT"[147]" 1110 A=0:BX=24:B=A:M=1:AC=1:A1=1232:A2=1235:Q2=1000:CO=V:AZ=200:B1=BX:Y=205 1120 WW=3:FORX=1904TO1983:POKEX,102:POKEX+S,5:NEXTX 1130 FORX=1984TO2023:POKEX,99:POKEX+S,1:NEXT 1140 POKEV+16,0:POKEV,AZ:POKEV+1,60:POKEV+2,BX:POKEV+3,205 1150 RETURN 1160 POKE53281,0:POKE53280,0:A$="[156]J U M P " 1200 RESTORE:PRINT"[147] J"; 1210 FORK=0TO42:READQ:POKE832+K,Q:NEXT 1220 PRINT" U";:FORK=43TO85:READQ:POKE832+K,Q:NEXT 1230 PRINT" M";:FORK=86TO127:READQ:POKE832+K,Q:NEXT:PRINT" P" 1250 PRINT" READY TO BATTLE" 1260 PRINT" Y[146] / N[146]" 1280 GETY$:IFY$=""THEN1280 1290 IFY$="N"THENEND 1300 RETURN 1310 DATA000,000,000,000,000,000,000,000 1320 DATA000,000,000,000,001,085,064,006 1330 DATA190,144,026,190,164,085,085,085 1340 DATA085,085,085,080,020,005,085,085 1350 DATA085,085,085,085,031,235,244,007 1360 DATA235,208,001,085,064,005,000,080 1370 DATA020,000,020,080,000,005,000,000 1380 DATA000,000,000,000,000,000,000,254 1390 REM 1400 DATA000,000,000,001,000,000,001,000 1410 DATA000,001,000,000,003,128,000,003 1420 DATA128,000,003,128,000,007,192,000 1430 DATA015,224,000,031,240,000,127,252 1440 DATA000,227,142,000,227,142,000,127 1450 DATA252,000,063,248,000,096,012,000 1460 DATA220,118,000,159,242,000,220,118 1470 DATA000,096,012,000,063,248,000,255