5 REM...LUFTW.ECB Last Revised 03-27-83 R.E.H. 10 REM...LUFTWAFFE AIR WAR GAME #1 15 REM... by RALPH HOPKINS EAGAN,MN 1/1/77 20 DIM A(30),B(30),C(12),D(30),F(30),G(30),H(30),I(30) 21 DIM J(10),K(10),N(10),O(101),Q(101),R(21),M(30),L(21) 22 DIM S(21),T(21),U(21),V(30),W(21),X(30),Y(30),Z(101) 25 DIM A$(93),B$(37),B1$(15),B2$(25),B3$(22),B4$(25),B9$(330) 26 DIM D$(51),M1$(25),N3$(11),N8$(25),T4$(13),T6$(11) 27 DIM L$(100),M$(32),Q$(330),R$(90),S$(90),S1$(30) 30 DEF FNR(R0)=INT(RND(0)*R0) 31 LET S1=FNR(5)+5: IF S1=8 AND RND(0)>.4 THEN LET S1=9 33 LET S2=INT(FNR(3.3)+3) 35 LET S3=INT((FNR(4.7)+.6)+4) 37 LET S9=FNR(5)+4: PRINT "&K&J&J&J" 40 PRINT ,"# * # ... + + + + + + + + + + ... # * #" 42 PRINT ," * * ... ... * *" 45 PRINT ," <+> ... L U F T W A F F E ... <+>" 47 PRINT ," * * ... ... * *" 50 PRINT ,"# * # ... + + + + + + + + + + ... # * #" 60 LET A$=" ",B$="X-1--2--3--4--5--6--7--8--9--10-X==X " 70 LET B1$="*+* B A M M *+*": PRINT "&J&J" 75 LET B2$="*** B A W W O O O M ***" 80 LET B3$="<<<< B O O O M M >>>>" 85 LET B4$="++++ W H A M M O O ++++" 90 LET C$=A$,P$=A$,P1$=A$,E$="German ",F$="Allied " 95 LET D$="(*)---<1>-<2>-<3>-<4>-<5>-<6>-<7>-<8>-<9>-<10>--(*)" 100 LET L$="TANKSTANKSARMTSARMTS[OIL][OIL]RCKTSRCKTSRCKTSRADAR" 105 LET L$=L$+"BEARGHANGRHANGRHANGRHANGRHANGRHANGRHANGRHANGR (- " 110 LET M$="-=< YOU ARE OUT OF ROCKETS.. >=-" 120 LET M1$=" EXPLODED IN FLAMES !!!&J" 130 LET Q$=" ",Q$=Q$+Q$ 135 LET Q$=Q$+Q$+Q$+Q$+Q$,B9$=Q$ 140 LET R$="*1**2**3**4**5**6**7**8**9**10*11*12*13*14*15*16*17*19*20*" 150 LET S$="+1++2++3++4++5++6++7++8++9+ =1==2==3==4==5==6==7=" 155 LET S$=S$+"=8==9= ^1^^2^^3^^4^^5^^6^^7^^8^^9^ " 157 LET S1$="#1##2##3##4##5##6##7##8##9# " 160 DATA 6,10,14,18,22,26,30,34,38,42 165 FOR Q=1 TO 10: READ N(Q): NEXT Q 170 FOR Q=1 TO 100: LET O(Q)=0: NEXT Q 180 PRINT " ~ Symbols = OCEAN. 'BLANK' areas = dry land." 190 PRINT " Each plane is numbered. P47's are =1=, =2=, =3= etc." 195 PRINT E$;"ME-110's are +1+ +2+ etc. ME-109's are #1# #2# etc." 200 DATA 0,0,0,0,0,0,0,0,0,0,2,1,7,6,4,4,0,0,0,0,1,2,2,1,7,6,7,6,4 210 DATA 0,0,0,0,0,0,0,0,0,0,8,8,8,8,7,6,0,0,0,0,5,5,4,4,5,5,4,4,5 220 DATA 2,5,2,4,4,7,1,2,3,0,8,2,5,2,5,7,2,4,7 230 DATA 6,3,7,8,6,5,4,3,2,1,9,4,4,6,7,6,9,6,8 240 DATA 7,7,2,2,2,2,7,7,7,7,7,7,7,7,7,7,7,7,7 245 DATA 4,4,5,5,2,2,4,4,4,2,4,6,6,6,6,6,6,6,6 250 DATA 0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1,0,1 260 DATA 0,2,3,2,2,1,3,2,0,0,1,6,0,0 270 FOR X=1 TO 29: READ Y(X): NEXT X 275 FOR X=1 TO 29: READ X(X): NEXT X 280 FOR X=1 TO 19: READ S(X): NEXT X 285 FOR X=1 TO 19: READ T(X): NEXT X 287 FOR X=1 TO 19: READ U(X): NEXT X 288 FOR X=1 TO 19: READ W(X): NEXT X 290 FOR X=1 TO 9: READ J(X),K(X): NEXT X 295 READ S0,S4,S5,S6,S7,S8,W,M,N2,N3,C0,W0,P7,P9 300 LET Z=FNR(100) 301 FOR X=11 TO S9+11: LET R(X)=100+Z+X: NEXT X 302 FOR X=1 TO 11: LET R(X)=R(X)+Z+X: NEXT X 303 FOR X=1 TO 4: LET R(X)=R(X)+FNR(100)+50: NEXT X 306 FOR X=1 TO S1: LET D(X)=140: NEXT X 310 FOR X=11 TO S2+10 311 LET A(X)=1,D(X)=120,F(X)=1500,G(X)=1200,B(X)=6 312 NEXT X 315 FOR X=21 TO S3+20 316 LET A(X)=1,D(X)=100,F(X)=2000,G(X)=700,B(X)=500 317 NEXT X 320 LET V=FNR(7) 322 IF V<3 THEN LET H=4-V ELSE LET H=1 325 FOR X=11 TO 29: LET V(X)=V,H(X)=H: NEXT X 330 LET S(10)=FNR(6)+2,T(10)=FNR(7)+3 340 IF V<3 THEN LET I=8 ELSE LET I=1 345 FOR X=11 TO S3+20: LET I(X)=I: NEXT X 350 DATA "***"," *","* ",">A<","RADAR","NONE ","YES","Y","((*))" 355 READ D1$,D2$,D3$,D4$,D5$,D6$,D7$,D8$,D9$ 360 DATA " HEADING:","RED","YELLOW"," is flying ","CRASHED !"," LANDED..." 365 DATA " Left ","Quadrant ","by ANTI-AIRCRAFT fire ","+CLOUDS+" 370 DATA "* SHOT DOWN *"," TARGET "," DESTROYED "," MISSED !!!" 375 DATA "*BOMBED*"," HITS on ","X"," for "," in "," . "," TO " 385 READ H$,N1$,N2$,N3$,N4$,N5$,N6$,N7$,N8$ 390 READ T3$,T4$,T5$,T6$,T7$,T8$,T9$,X$,X1$,X2$,X3$,X4$ 395 FOR X=1 TO S3+20: LET M(X)=D(X): NEXT X 396 FOR X=1 TO S9+11: LET L(X)=R(X): NEXT X 400 FOR X=1 TO 6: REM...Relocate 1st 6 targets 410 IF RND(0)>.7 THEN LET S(X)=S(X)+1 415 IF RND(0)<.2 THEN LET S(X)=S(X)-1 420 IF RND(0)>.9 OR RND(0)<.07 THEN LET T(X)=T(X)+1 430 NEXT X 440 LET Z1=RND(0) 450 FOR X=12 TO S9+11: REM...RE-LOC. ALL BUT LAST AIRFLD. 455 IF Z1>.8 THEN LET S(X)=S(X)+1 460 IF RND(0)>.75 THEN LET T(X)=T(X)+1 465 IF Z1<.2 THEN LET S(X)=S(X)-1 467 NEXT X 470 LET L9=INT(RND(0)*(S9-1))+12 475 FOR P=1 TO S1 480 LET A(P)=.5 485 IF S1>6 THEN LET L9=FNR(S9)+12 487 GOSUB 900 490 NEXT P 495 GOTO 600 500 REM...COURSE CALCULATOR 510 LET Y=Y1-Y2,X=X1-X2 520 IF X=0 THEN 530 ELSE LET Z=Y/X 525 IF Z<=1 THEN 540 530 IF Y>0 THEN LET C0=3 ELSE LET C0=7 535 IF X=0 THEN 590 ELSE LET Z=(X/Y) 539 GOTO 580 540 IF Z>-1 THEN 550 542 IF Y>0 THEN LET C0=2 ELSE LET C0=6 545 IF Z=-1 THEN 590 ELSE LET Z=1-ABS(X/Y) 549 GOTO 580 550 IF Z<=0 OR Z>1 THEN 560 552 IF Y>0 THEN LET C0=4 ELSE LET C0=8 555 IF Z=1 THEN 590 ELSE LET Z=1-ABS(Z) 559 GOTO 580 560 IF Z<=-1 OR Z>0 THEN LET Z=X/Y 570 IF X<0 THEN LET C0=1 ELSE LET C0=5 580 LET C0=C0+ABS(Z) 590 LET I1=(X1-X2)*(X1-X2),I2=(Y1-Y2)*(Y1-Y2) 591 LET D0=SQR(I1+I2) 595 RETURN 600 PRINT "&K&J You are the ";F$;"WING COMMADER controlling" 610 PRINT " two squadrons on a BOMBING RAID against the" 620 PRINT " LUFTWAFFE over France.&J&J You are commanding:" 630 PRINT S2;" rocket armed P-47 'thunderbolts' (=1=)" 640 PRINT " escorting ";S3;" P-38 fighter bombers (^1^).&J" 645 PRINT "&J YOU HAVE BEEN ASSIGNED" 650 LET R0=INT(FNR(12.7)+1.5) 660 LET X=(R0*5)-4,P$=L$(X,X+4) 670 PRINT " TO DESTROY ALL THE ";P$;" TARGETS TO WIN..!!!" 680 PRINT : LET P=11 690 PRINT " '-1' Gives COMMAND options , '0' ABORTS MOST INPUTS" 695 GOTO 5000 700 LET N$="GREEN" 710 FOR X=1 TO S1 720 IF A(X)=1 THEN LET V=V(P)-V(X),H=H(P)-H(X) ELSE 770 740 IF V>-2 AND V<2 AND H>-2 AND H<2 THEN LET N$=N2$ 750 IF V=0 AND H=0 THEN LET N$=N1$: EXIT 795 770 NEXT X 795 RETURN 800 LET Q1=V(P),Q2=H(P) 820 GOSUB 2000 895 RETURN 900 IF A(P)=.5 THEN LET V(P)=S(L9) ELSE 995 910 LET H(P)=T(L9),Y(P)=P+8-S1 950 LET X(P)=8,I(P)=3,F(P)=1500,G(P)=1200 960 LET B(P)=4,A(P)=.3 980 IF D(P)<50 THEN LET D(P)=D(P)+FNR(10)+P 995 RETURN 1000 FOR B=P TO D2 1005 IF N2=P AND B>P THEN 1080 1010 IF A(B)<1 THEN 1080 1020 LET I(B)=C0: GOSUB 1600 1030 LET Y1=Y(B),X1=X(B) 1040 LET Z=(Y1*30)+(X1*3)-2 1045 IF F(B)>0 THEN LET Q$(Z,Z+2)=A$ 1050 LET F(B)=F(B)-INT(W0*10) 1055 IF F(B)>0 THEN GOSUB 1500 1060 IF F(B)<0 THEN LET I=(B*3)-2 ELSE 1080 1065 PRINT "&J&J";S$(I,I+2);" CRASHED !!!" 1070 LET A(B)=.1 1080 NEXT B 1090 IF M>1 AND N2=0 THEN LET P=D2+1 1095 RETURN 1100 LET I1=(V1-V2)*(V1-V2),I2=(H1-H2)*(H1-H2) 1110 LET I0=SQR(I1+I2)*10 1120 RETURN 1200 LET Y2=Y(E),X2=X(E),Y1=Y(P),X1=X(P): RETURN 1250 LET Y1=Y(P),X1=X(P),Y2=U(E),X2=W(E): RETURN 1300 LET Y1=Y(D)+Y,X1=X(D)+X,Y2=Y1+Y,X2=X1+X: RETURN 1400 IF T0=1 THEN LET Z=(E*3)-2 ELSE LET Z=(E*5)-4 1405 IF T0=1 THEN LET P1$=S$(Z,Z+2) ELSE LET P1$=L$(Z,Z+4) 1410 IF RND(0)>.07 THEN 1450 ELSE PRINT 1415 IF T0=2 AND E>2 AND E<7 THEN 1420 ELSE 1450 1420 IF T0=1 THEN LET A(E)=.1,D(E)=0 ELSE LET R(E)=0 1425 IF J=4 AND T0=1 AND RND(0)>.75 THEN 1450 1430 PRINT A$,B3$;"&J&J" 1440 PRINT A$,P1$;" EXPLODED in FLAMES !!!" 1450 IF T0=1 AND D(E)<=0 AND A(E)>.1 THEN PRINT A$,P1$;T4$ 1460 IF T0=1 AND D(E)<=0 THEN LET A(E)=.1,D(E)=-1 1470 IF T0=2 THEN IF R(E)<0 THEN PRINT A$;P1$;T5$;E;T6$ 1480 IF T0=2 THEN IF R(E)<0 THEN LET R(E)=0 1495 RETURN 1500 LET Y3=(V(B)*10)+Y1+(Y*W0),Z=ABS(INT(Y3/10)) 1510 LET X3=(H(B)*10)+X1+(X*W0) 1520 IF Z>=0 AND Z<=9 THEN LET V(B)=Z 1525 IF X3=10 THEN 1540 ELSE LET Z=ABS(INT(X3/10)) 1530 IF Z>=1 AND Z<=10 THEN LET H(B)=Z 1540 LET Y(B)=ABS(INT(Y3-V(B)*10)) 1545 LET X(B)=ABS(INT(X3-H(B)*10)) 1550 IF X(B)=0 THEN LET X(B)=10,H(B)=H(B)-1 1560 IF V(B)<0 THEN LET V(B)=0 1565 IF H(B)<1 THEN LET H(B)=1 1570 IF V(B)>9 THEN LET V(B)=9 1575 IF H(B)>10 THEN LET H(B)=10 1580 IF Y(B)<0 THEN LET Y(B)=0 1585 IF X(B)<1 THEN LET X(B)=1 1590 IF Y(B)>9 THEN LET Y(B)=9 1592 IF X(B)>10 THEN LET X(B)=10 1595 RETURN 1600 IF C0<1 OR C0>=9 THEN LET C0=1 1620 LET Y=J(C0)+(J(C0+1)-J(C0))*(C0-INT(C0)) 1630 LET X=K(C0)+(K(C0+1)-K(C0))*(C0-INT(C0)) 1695 RETURN 1800 FOR F=1 TO S9+11 1810 IF S(F)=V(P) AND T(F)=H(P) THEN LET T0=1 ELSE 1890 1820 IF A(P)=1 THEN LET E=P ELSE 1890 1830 LET H0=FNR(13)+INT(W0+W0)-FNR(5) 1835 IF R(F)<=0 AND H0>1 THEN LET H0=INT(H0/2) 1840 IF H0>0 THEN LET D(P)=D(P)-H0 ELSE 1890 1850 IF A(P)>.1 THEN GOSUB 1400 ELSE 1890 1860 PRINT A$;H0;" ANTI-AIRCRAFT hits on ";P1$ 1870 IF A(P)=.1 THEN PRINT A$;P1$;T4$;X2$;N7$;S(F);T(F) 1880 EXIT 1895 1890 NEXT F 1895 RETURN 2000 LET Q$=B9$ 2100 FOR X=1 TO S9+11 2110 IF Q1=S(X) AND Q2=T(X) THEN 2120 ELSE 2690 2120 LET Q=INT((U(X)*30)+(W(X)*3)-3),I=(X*5)-4 2125 IF R(X)<=0 THEN LET Q$(Q,Q+5)="((*)) " 2130 IF R(X)>0 THEN LET Q$(Q,Q+4)=L$(I,I+4) 2140 LET Z$="*0": IF X>9 THEN LET Z$="1#" 2145 LET Z=X: IF Z>9 THEN LET Z=X-10 2147 LET Z=Z+48,Z$(2,2)=CHR(Z) 2150 IF X<3 THEN LET Q$(127,129)=">A<" ELSE 2200 2160 LET Q$(189,193)=":|#|:",Q$(226,228)=">A<" 2170 LET Q$(218,218)="/": REM....TANKS 2175 LET Q$(224,224)="\" 2180 LET Q$(248,254)="---#---" 2190 LET Q$(191,191)=Z$(2,2),Q$(251,251)=Z$(2,2) 2200 IF X>2 AND X<5 THEN LET Q$(57,59)=">A<" ELSE 2300 2210 LET Q$(42,46)="**#**" 2220 LET Q$(71,71)="(": REM....ARMTS 2225 LET Q$(77,77)=")" 2230 LET Q$(97,106)=">A< **#**" 2240 LET Q$(43,44)=Z$,Q$(103,104)=Z$ 2300 IF X>4 AND X<7 THEN LET Q$(1,9)=">A< >A<" ELSE 2400 2310 LET Q$(33,37)=".:#:." 2330 LET Q$(93,97)="[###]": REM...[OIL] 2340 LET Q$(121,129)=">A< >A<" 2350 LET Q$(35,35)=Z$(2,2),Q$(95,95)=Z$(2,2) 2400 IF X>11 THEN LET Q$(20,26)="*-----*" ELSE 2500: REM...AIRFLD 2410 LET Q$(50,60)="* * >A<",Q$(80,86)="* *" 2420 LET Q$(110,116)="* *" 2430 LET Q$(136,146)=">A< * *": REM...HANGR 2440 LET Q$(170,176)="* *" 2450 LET Q$(196,206)="*1#** *" 2460 LET Q$(236,240)="* >A<" 2470 LET Q$(256,266)="*1#** *" 2480 LET Q$(286,300)="GERMAN AIRFIELD" 2490 LET Q$(198,198)=Z$(2,2),Q$(258,258)=Z$(2,2) 2500 IF X>6 AND X<10 THEN LET Q$(259,261)=">A<" ELSE 2600 2510 LET Q$(73,75)=">A<",Q$(244,246)=">A<" 2520 LET Q$(184,193)="-===-**#**" 2530 LET Q$(218,218)="(",Q$(224,224)=")": REM...RCKTS 2540 LET Q$(249,253)="**#**" 2550 LET Q$(190,191)=Z$,Q$(250,251)=Z$ 2560 IF R(X)>0 THEN LET Q$(155,157)="/ \",Q$(156,156)=CHR(7) 2565 IF R(X)>0 THEN LET Q$(126,126)=CHR(16),Q$(96,96)=CHR(22) 2570 IF R(X)>0 THEN LET Q$(66,66)=CHR(25) 2580 IF R(X)<=0 THEN LET Q$(155,159)="\#* \",Q$(158,158)=CHR(7) 2585 IF R(X)<=0 THEN LET Q$(126,128)="/|*",Q$(97,97)=CHR(4) 2600 IF X=11 THEN LET Q$(73,75)=">A<" ELSE 2650 2610 LET Q$(127,129)=">A<" 2620 LET Q$(189,193)="*#11*" 2630 LET Q$(218,218)="{",Q$(224,224)="}": REM....BEARG 2640 LET Q$(244,254)=">A< ..#11.." 2650 IF X=10 THEN LET Q$(184,185)="=)" ELSE 2690 2660 LET Q$(213,217)="RADAR" 2670 LET Q$(243,246)="*10**" 2690 NEXT X 2700 IF Q2=1 AND Q1<7 OR Q2=2 AND Q1<3 THEN 2750 2710 IF Q2=3 AND Q1<2 OR Q2=4 AND Q1=0 THEN 2750 ELSE 2800 2750 FOR X=1 TO 300 STEP 3: LET Q$(X,X+2)=" ~ ": NEXT X 2800 LET O((Q1*10)+Q2)=0 2810 FOR X=1 TO S3+20 2820 IF A(X)=.1 AND V(X)=Q1 AND H(X)=Q2 THEN 2830 ELSE 2845 2830 LET Q=(Y(X)*30)+(X(X)*3)-2,I=(X*3)-2 2840 LET Q$(Q,Q+2)="(*)" 2845 NEXT X 2850 FOR X=1 TO S3+20 2860 IF A(X)>.1 AND V(X)=Q1 AND H(X)=Q2 THEN 2870 ELSE 2885 2870 LET Q=(Y(X)*30)+(X(X)*3)-2,I=(X*3)-2 2880 LET Q$(Q,Q+2)=S$(I,I+2) 2885 NEXT X 2890 RETURN 2900 IF Q1=0 THEN PRINT "X-1--MAP EDGE-6--7--MAP EDGE-10-XXX" 2901 IF Q1<>0 THEN PRINT B$ 2905 IF Q1<0 OR Q1>9 OR Q2<1 OR Q2>10 THEN LET Q1=0,Q2=1 2908 GOSUB 700 2910 FOR Q=1 TO 300 STEP 30 2920 IF Q<331 THEN PRINT "X";Q$(Q,Q+29); 2930 IF Q=1 THEN PRINT " X 0 Quadrant(";V(P);" -";H(P);" )" 2935 IF Q=31 THEN PRINT " X 1 Sector (";Y(P);" -";X(P);" )" 2940 IF Q=61 THEN PRINT " X 2 CONDITION: ";N$ 2945 IF Q=91 THEN PRINT " X 3" 2950 IF Q=121 THEN PRINT " X 4 PLANE MOVING NEXT:" 2955 IF Q=151 THEN PRINT " X 5 --> ";P$ 2960 IF Q=181 THEN PRINT " X 6 Present heading: ";I(P) 2975 IF Q=211 THEN PRINT " X 7 Ammo left: ";G(P);" shells" 2980 IF Q=241 THEN PRINT " X 8 Fuel left:";F(P);" gal." 2985 IF Q=271 AND M=2 THEN PRINT " X 9 Rockets ";B(P) 2990 IF Q=271 AND M=3 THEN PRINT " X 9 # BOMBS # ";B(P);" LBS." 2992 NEXT Q 2995 IF C<8 THEN PRINT B$; ELSE PRINT B$ 2997 IF C<8 THEN INPUT " NEXT CMD ",C 2999 RETURN 3000 FOR K=P TO 30 3010 IF A(K)>.2 THEN LET P=K: EXIT 3060 ELSE 3030 3030 NEXT K 3040 IF K>S3+20 THEN LET P=1,P7=0: GOTO 3000 3060 IF P<20 THEN LET M=2 ELSE LET M=3 3070 IF P<10 THEN LET M=1 3095 RETURN 3100 LET Q1=V(D),Q2=H(D) 3110 GOSUB 2000 3120 LET C0=INT(I(D)) 3130 GOSUB 1600 3150 GOSUB 1300 3160 LET A7=(X1*3)+(Y1*30)-2,T1$=T3$ 3170 LET A8=(X2*3)+(Y2*30)-2,T2$=T3$ 3180 IF A7>0 AND A7<299 THEN LET T1$=Q$(A7,A7+2) 3190 IF A8>0 AND A8<299 THEN LET T2$=Q$(A8,A8+2) 3195 RETURN 3300 PRINT "&J",B1$,"&J",A$,H0;T9$; 3305 IF T0=1 THEN LET I=(E*3)-2 ELSE LET I=(E*5)-4 3310 IF T0=1 THEN PRINT S$(I,I+2) ELSE PRINT L$(I,I+4);E 3320 IF T0=1 THEN LET D(E)=D(E)-H0 ELSE LET R(E)=R(E)-H0 3330 GOSUB 1400 3395 GOTO 5000 3500 FOR I=1 TO S9+11 3510 IF S(I)=V(P) AND T(I)=H(P) THEN 3520 ELSE 3560 3520 IF U(I)=Y(P) AND W(I)=X(P) THEN 3530 ELSE 3560 3530 PRINT A$;P$,"YOU ARE OVER TARGET ";I,L$((I*5)-4,I*5) 3550 EXIT 3595 3560 NEXT I 3580 PRINT A$;P$,"YOU HAVE TO GET OVER THE TARGET SYMBOL TO BOMB IT." 3595 RETURN 3700 LET V=0,H=0,U=0,W=0: REM...4 MAP 3710 FOR Q=1 TO 100: LET Z(Q)=O(Q): NEXT Q 3720 FOR Q=1 TO S3+20 3740 IF A(Q)=1 THEN LET Z=(V(Q)*10)+H(Q) ELSE 3760 3750 IF Q>10 THEN LET Z(Z)=Z(Z)+1: REM...YOUR PLANE COUNT 3760 IF Q<21 THEN LET Z=(S(Q)*10)+T(Q) ELSE 3790 3770 IF R(Q)>0 THEN LET Z(Z)=Z(Z)+100: REM...CNT TARGETS 3790 NEXT Q 3795 RETURN 3800 PRINT ,"You have these planes:" 3810 FOR X=P TO D2 3820 IF A(X)=1 THEN PRINT S$((X*3)-2,X*3);A$; 3830 NEXT X 3840 PRINT : LET Z=(M*10)-10: RETURN 3900 GOSUB 800 3905 GOSUB 1600 3910 LET Y1=Y(P),Y2=Y1,X1=X(P),X2=X1 3920 IF M>1 THEN PRINT ,"ROCKET TRAIL" 3925 IF M=1 THEN PRINT ,P$;" Firing ROCKET at ";S$((F*3)-2,F*3) 3930 LET Y2=Y2+Y,X2=X2+X 3940 IF Y2<0 OR Y2>9 OR X2<1 OR X2>10 THEN PRINT A$,P$;T7$ 3945 IF Y2<0 OR Y2>9 OR X2<1 OR X2>10 THEN 3999 ELSE PRINT A$,Y2;X3$;X2 3950 IF T0=1 THEN 3980 3955 IF T0<>2 THEN RETURN 3960 FOR F=1 TO S9+11: REM...LOOK 4 TARGETS 2 HIT 3961 IF R(F)<=0 THEN 3978 3963 IF V(P)=S(F) AND H(P)=T(F) THEN LET F0=(F*5)-4 ELSE 3978 3965 IF U(F)=INT(Y2) AND W(F)=INT(X2) THEN 3970 3966 IF U(F)=INT(Y2) AND W(F)+1=INT(X2) THEN 3970 ELSE 3978 3970 PRINT TAB(8);B3$;"&J": LET Z$=L$(F0,F0+4) 3971 IF Z$="[OIL]" THEN LET H0=100 ELSE LET H0=0 3972 LET H0=H0+FNR(50)+FNR(25)+5 3973 PRINT H0;" Unit hit on ";Z$;T5$;F;" at Sector ";Y2;X2 3974 IF Z$="[OIL]" THEN IF R(F)<0 THEN PRINT "&J",B4$;"&J";Z$;M1$ 3975 IF H0>0 THEN LET R(F)=R(F)-H0 3976 IF R(F)<=0 THEN PRINT "&J",Z$;T5$;F;T6$;"&J" 3977 EXIT 3999 3978 NEXT F 3979 GOTO 3930 3980 FOR E=1 TO S3+20: REM...LOOK 4 PLANES 2 HIT 3982 IF A(E)<.3 OR E=P THEN 3997 3983 IF M=1 AND E<11 THEN 3997 3985 IF V(P)=V(E) AND H(P)=H(E) THEN LET H0=(E*3)-2 ELSE 3997 3987 IF Y(E)=INT(Y2) AND X(E)=INT(X2) THEN LET Z$=S$(H0,H0+2) ELSE 3997 3990 PRINT TAB(8);B3$;"&J": LET A(E)=.1,D(E)=-1 3992 IF RND(0)>.4 THEN 3995 ELSE PRINT "&J",B2$;"&J" 3993 PRINT A$;Z$;" is an EXPLODING BALL of FIRE !!!&J" 3995 PRINT TAB(7);Z$;" DESTROYED at Sector ";Y2;X2 3996 EXIT 3999 3997 NEXT E 3998 GOTO 3930 3999 RETURN 4000 GOSUB 3800 4005 PRINT A$;"You can move from plane ";P-Z;" to ";D2-Z 4010 PRINT " or any number in between. ('0' Moves ALL planes)&J" 4015 INPUT " Input the 'LAST' plane to move ---=>",X0 4017 IF X0=0 THEN 4025 4020 IF X0D2-Z THEN 4000 ELSE LET D2=X0+Z 4025 IF X0=P-Z THEN LET N2=P ELSE LET N2=0 4026 PRINT 4030 PRINT A$;P$;" NEW heading? [1-8] ('0' MEANS KEEP SAME HEADING)"; 4035 INPUT "---=>",C0 4040 IF C0>=0 AND C0<9 THEN PRINT ELSE 4000 4045 IF C0=0 THEN LET C0=I(P) 4050 PRINT P$;"...SPEED ?; or no. of spaces to move(1-6)---=>"; 4055 INPUT W0 4060 IF W0=0 THEN 5400 4065 IF W0<1 OR W0>6 THEN 4040 4070 LET P1$=P$: GOSUB 1000 4075 IF P>10 THEN GOSUB 1800 4080 IF N2>0 THEN LET P=P+1 4090 IF W0>N5 THEN LET N5=W0 4095 GOTO 5000 4100 GOSUB 800 4110 GOSUB 2900 4195 GOTO 5530 4200 FOR D=P TO D2 4210 IF A(D)=1 THEN GOSUB 3100 ELSE 4240 4220 LET P$=S$((D*3)-2,D*3) 4230 PRINT A$;P$;H$;I(D);" Possible TARGETS(?)---=>";T1$;T2$ 4240 NEXT D 4290 PRINT 4295 GOTO 5400 4300 IF G(P)<=0 THEN PRINT A$,P$;" ** YOU ARE OUT OF AMMO **" 4305 IF G(P)<=0 THEN 5500 ELSE LET Z=FNR(180)+20 4310 IF P3=P THEN 4490 ELSE LET P3=P,D=P 4315 PRINT " RAT-A-TAT-TAT-TAT",Z;" Shells shot by ";P$;"&J" 4320 LET H0=FNR(Z)-FNR(35) 4325 LET G(P)=G(P)-Z,F(P)=F(P)-10 4330 IF H0>0 THEN LET C0=I(P) ELSE PRINT A$,P$;T7$ 4335 IF H0>0 THEN GOSUB 1600 ELSE 5500 4340 GOSUB 1300 4350 FOR E=1 TO S9+11 4355 IF V(P)=S(E) AND H(P)=T(E) THEN LET T0=2 ELSE 4368 4360 IF U(E)=Y1 AND W(E)=X1 THEN EXIT 3300 4361 IF U(E)=Y1 AND W(E)+1=X1 THEN EXIT 3300 4365 IF U(E)=Y2 AND W(E)=X2 THEN EXIT 3300 4366 IF U(E)=Y2 AND W(E)+1=X2 THEN EXIT 3300 4368 NEXT E 4370 FOR E=1 TO S3+20 4373 IF A(E)>=.3 AND V(P)=V(E) AND H(P)=H(E) THEN LET T0=1 ELSE 4385 4375 IF Y(E)=Y1 AND X(E)=X1 THEN EXIT 3300 4380 IF Y(E)=Y2 AND X(E)=X2 THEN EXIT 3300 4385 NEXT E 4390 PRINT "&J","*** NO POSSIBLE TARGETS ***&J&J" 4395 GOTO 5500 4400 IF M=3 THEN PRINT A$,P$;" YOUR CARRYING BOMBS - NO ROCKETS" 4410 IF M=2 AND B(P)<=0 THEN PRINT A$,P$;A8$ 4420 IF M=3 OR B(P)<=0 THEN 5500 4425 IF P4=P THEN 4490 ELSE LET T0=0 4430 PRINT " Choose target: (0)ABORT (1)PLANE (2)TARGET "; 4439 IF G(P)<=0 THEN 4390 4440 INPUT "---=>",T0 4450 IF T0=0 THEN 5500 ELSE PRINT 4460 LET C0=I(P),P4=P 4470 IF T0=1 OR T0=2 THEN GOSUB 3900 ELSE 4420 4480 LET B(P)=B(P)-1,F(P)=F(P)-10 4485 GOTO 5000 4490 PRINT ,"*** YOU SHOT ALLREADY - TRY AGAIN NEXT TURN ***&J" 4495 GOTO 5500 4500 IF M=3 AND B(P)=0 THEN PRINT P$;" *** YOU ARE OUT OF BOMBS ***" 4505 IF M=2 OR B(P)=0 THEN 5500 4510 PRINT A$;P$;" is bombing next with BOMB LOAD of ";B(P),"&J&J" 4515 GOSUB 3500 4520 PRINT " Do you want to DROP THE BOMBS? (Y or N)---=>"; 4525 INPUT (1,0)I$: LET I$=I$+"Y" 4530 IF I$(1,1)="N" THEN 5500 4535 LET Z=FNR(250)+250,B(P)=0,Z$="&J&[&E&G" 4540 PRINT TAB(8);P$;" ";Z$;" ";Z$;" ";Z$;" ";Z$;Z$;Z$;Z$;Z$;Z$ 4550 PRINT ,B2$ 4560 IF V(P)=S(I) AND H(P)=T(I) AND Y(P)=U(I) AND X(P)=W(I) THEN 4570 4565 GOTO 5500 4570 LET R(I)=R(I)-Z 4580 IF R(I)<=0 THEN PRINT A$;T5$;I;T6$ ELSE PRINT A$,T5$;I;T7$ 4595 GOTO 5000 4600 PRINT ,"*** REPORT FOR SQUADRON ";M-1;" ***&J" 4610 FOR X=D1 TO D2 4620 LET Z=(X*3)-2,Z$=S$(Z,Z+2) 4630 IF A(X)<=.1 THEN PRINT A$;Z$;A$;T4$: GOTO 4680 4640 PRINT Z$;" Course: ";I(X); 4650 PRINT " in Quadrant ";V(X);H(X); 4660 PRINT " at Sector ";Y(X);X(X) 4680 NEXT X 4690 PRINT 4695 GOTO 5500 4700 PRINT 4710 PRINT ,"OPTION 0 = LOOK AT TARGET MAP" 4720 PRINT ,"OPTION 1 = SEE HOW MANY TARGETS/PLANES ARE LEFT" 4730 PRINT ,"OPTION 2 = GET TARGET QUADRANT LOCATIONS" 4740 PRINT ,"OPTION 3 = LOOK FOR ";E$;"PLANES AND REPORT" 4750 PRINT ,"OPTION 4 = LOOK FOR TARGET DAMAGE AND REPORT" 4760 PRINT ,"OPTION 5 = AIRCRAFT DAMAGE REPORT&J" 4770 INPUT "<***> WHICH OPTION COMMANDER ? (0-5) ---=>",C 4780 IF C<0 OR C>5 THEN 5500 ELSE LET C=INT(C): PRINT 4790 ON C+1 GOTO 8000,8100,8200,8300,8400,8500 4795 GOTO 5500 4800 GOSUB 3800 4805 PRINT " Choose flight formation: (1)STACK (2)STRAIGHT LINE"; 4810 INPUT "---=>",C 4812 IF C=0 THEN 5500 ELSE LET C0=I(P) 4815 IF C<1 OR C>2 THEN 4800 ELSE LET V1=V(P) 4820 FOR E=P TO D2 4825 IF V(E)=V(P) AND H(E)=H(P) THEN LET Z=P ELSE EXIT 4850 4830 IF A(E)=1 THEN LET Y(E)=Y(P) ELSE 4845 4840 LET X(E)=X(P),I(E)=I(P) 4845 NEXT E 4850 IF C=1 THEN 4890 ELSE LET H1=H(P) 4855 FOR P=Z TO D2 4860 IF A(P)=1 THEN LET W0=D2-P ELSE 4885 4870 IF V1=V(P) AND H1=H(P) THEN LET N2=P ELSE EXIT 4892 4880 GOSUB 1000 4885 NEXT P 4890 IF M=2 THEN LET P=19 ELSE LET P=1 4892 LET W0=6 4895 GOTO 4075 4900 LET N2=0,C0=I(P): GOTO 4070 5000 PRINT : LET R1=0 5010 FOR X=1 TO 12: LET C(X)=0: NEXT X 5100 FOR X=1 TO S3+20 5110 IF X<10 AND A(X)>.1 AND P9=0 THEN LET C(1)=C(1)+1 5115 IF X<10 AND A(X)>.1 AND P9>0 THEN GOSUB 8900 5120 IF X>10 AND X<20 AND A(X)>.1 THEN LET C(2)=C(2)+1 5130 IF X>20 AND A(X)>.1 THEN LET C(3)=C(3)+1 5135 IF X>20 AND B(X)>0 THEN LET C(11)=C(11)+1 5138 IF X>20 THEN 5180 5140 IF X<3 AND R(X)>0 THEN LET C(7)=C(7)+1 5150 IF X>2 AND X<5 AND R(X)>0 THEN LET C(6)=C(6)+1 5160 IF X>4 AND X<7 AND R(X)>0 THEN LET C(4)=C(4)+1 5170 IF X>6 AND X<10 AND R(X)>0 THEN LET C(5)=C(5)+1 5180 IF X=10 AND R(10)>0 THEN LET C(8)=C(8)+1 5185 IF X=11 AND R(11)>0 THEN LET C(10)=C(10)+1 5188 IF X>20 THEN 5195 5190 IF X>11 AND R(X)>0 THEN LET C(9)=C(9)+1 5193 IF R(X)>0 AND R1=0 THEN LET I=(R0*5),E=(X*5) ELSE 5195 5194 IF L$(E-4,E)=L$(I-4,I) THEN LET R1=X 5195 NEXT X 5200 LET T=C(4)+C(5)+C(6)+C(7)+C(8)+C(9) 5210 IF C(4)=0 OR C(5)=0 OR C(6)=0 OR C(7)=0 THEN LET W=2 5220 IF C(8)=0 OR C(9)=0 OR C(11)=0 THEN LET W=2 5230 IF C(2)=0 AND C(3)=0 OR C(2)=0 AND C(11)=0 THEN LET W=1 5400 IF W=1 OR W=2 OR W>3 THEN 9000 ELSE GOSUB 3000 5410 LET Z=(P*3)-2,P$=S$(Z,Z+2) 5430 IF A(P)<=.1 THEN GOSUB 3000 5440 IF P$=D6$ THEN GOSUB 3000 5450 IF M=2 THEN LET D1=11 ELSE LET D1=21 5460 IF M=2 THEN LET D2=S2+10 ELSE LET D2=S3+20 5470 IF I(P)=0 THEN LET I(P)=1.1 5500 IF M=1 THEN 6000 5510 IF M=2 THEN PRINT "< ";F$;"P-47 turn >, ";P$; 5515 IF M=3 THEN PRINT "[ ";F$;"P-38 turn ], ";P$; 5520 IF M>1 THEN INPUT " NEXT COMMAND? (0-9)",C 5525 LET E0=P: IF C(1)=S1 THEN LET P3=0,P4=0 5526 IF C=10 THEN 8800 5530 IF C<0 OR C>9 THEN 5800 ELSE PRINT 5540 IF C<2 THEN PRINT ELSE GOSUB 5900 5550 ON C+1 GOTO 4000,4100,4200,4300,4400,4500,4600,4700,4800,4900 5800 PRINT 5810 FOR C=0 TO 9 5820 GOSUB 5900 5830 NEXT C 5850 PRINT : GOTO 5500 5900 PRINT "*COMMAND* ";C;" *** ---"; 5905 IF C=0 THEN PRINT " MOVE PLANES" 5910 IF C=1 THEN PRINT " PLANES'S QUADRANT SCAN" 5920 IF C=2 THEN PRINT " POSSIBLE SHOOTING TARGETS" 5930 IF C=3 THEN PRINT " . . . SHOOTING . . ." 5940 IF C=4 THEN PRINT " <=-- ROCKET FIRING --=>" 5950 IF C=5 THEN PRINT " *#* BOMBING *#*" 5960 IF C=6 THEN PRINT " PLANE HEADINGS AND LOCATIONS" 5970 IF C=7 THEN PRINT " COMMANDER BRIEFING (6 OPTIONS)" 5980 IF C=8 THEN PRINT " SPECIAL MOVEMENT OPTIONS" 5990 IF C=9 THEN PRINT " MOVE ALL PLANES ON PRESENT HEADING" 5995 RETURN 6000 PRINT "&J","* ";E$;"planes MOVING";N5;" now *&J" 6010 IF C(1)<4 AND P9=0 THEN LET P9=1 ELSE 6090 6020 FOR P=1 TO 9 6030 IF A(P)>.1 THEN 6080 ELSE LET A(P)=1,H(P)=9 6040 LET I=(P*3)-2,S$(I,I+2)=S1$(I,I+2),S0=S0+1 6050 LET B(P)=-1,F(P)=1200,G(P)=1200,D(P)=90 6080 NEXT P 6090 LET P=0 6100 LET P=P+1 6110 IF A(P)=1 OR A(P)=.3 THEN LET F0=0 ELSE 6890 6130 LET W0=1,D3=1E3,D4=100 6140 LET X=(P*3)-2,P$=S$(X,X+2) 6200 IF A(P)=.3 AND RND(0)>.7 THEN GOSUB 7500 6210 IF A(P)=1 AND F(P)<200 THEN GOSUB 7500 6220 IF F0>=2 THEN 6890 6230 IF A(P)=.3 THEN 6890 6240 LET V1=V(P),H1=H(P),Y1=Y(P),X1=X(P) 6250 FOR F=11 TO S3+20 6255 IF A(F)<1 THEN 6275 6260 IF ABS(H1-H(F))>1 THEN 6275 6265 IF ABS(V1-V(F))>1 THEN 6275 6270 LET F0=F: EXIT 6295 6275 NEXT F 6280 IF F0<10 THEN GOSUB 7100 6285 LET Y=V1-V(E0),X=H1-H(E0): GOSUB 520 6290 IF C0<1 OR C0>8 THEN LET C0=1 ELSE LET C0=INT(C0) 6293 LET W0=N5,N2=P,D2=P: GOSUB 1000: GOTO 6890 6295 LET Z0=0 6300 LET Z0=Z0+1 6310 FOR F=11 TO S3+20 6320 IF F0=1 THEN EXIT 6400 6330 IF V(P)=V(F) AND H(P)=H(F) AND A(F)=1 THEN LET C0=I(P) ELSE 6390 6340 GOSUB 7300: REM...SHOOT 6350 GOSUB 7400: REM...ROCKETS 6390 NEXT F 6400 LET D3=1E3,D4=1E3 6410 IF F0=1 THEN LET A0=0: GOTO 6800 6420 IF F(P)<300 THEN GOSUB 7200 6430 IF F(P)>=300 THEN GOSUB 7100 6500 LET X=0,Y=0 6510 IF D3=D4 THEN LET V=V(P)-S(E),H=H(P)-T(E) 6540 IF H<>0 AND V<>0 THEN GOSUB 7000: GOTO 6800 6600 IF D31 AND A0<=4 THEN LET A1=1 6650 IF A0>=-4 AND A0<-1 THEN LET A1=-1 6660 IF ABS(A0)>1 THEN LET A0=A1*1 6665 IF RND(0)>.91 THEN LET A0=A0*(-1) 6670 LET I(P)=I(P)+(A0) 6680 IF I(P)<1 THEN LET I(P)=I(P)+8 6690 IF I(P)>8 THEN LET I(P)=I(P)-8 6800 LET N2=P,D2=P,C0=I(P): REM...MOVE ROUTINE 6830 GOSUB 1000 6880 IF Z00 AND H<0 THEN LET I(P)=2 7030 IF V>0 AND H=0 THEN LET I(P)=3 7040 IF V>0 AND H>0 THEN LET I(P)=4 7050 IF V=0 AND H>0 THEN LET I(P)=5 7060 IF V<0 AND H>0 THEN LET I(P)=6 7070 IF V<0 AND H=0 THEN LET I(P)=7 7080 IF V<0 AND H<0 THEN LET I(P)=8 7095 RETURN 7100 FOR E=11 TO S3+20: REM....DIST. 2 NEAREST PLANE 7110 IF A(E)<1 THEN 7180 7130 LET V2=V(E),H2=H(E),Y2=Y(E),X2=X(E) 7150 GOSUB 590: GOSUB 1100: LET D0=D0+I0 7160 IF D3>D0 THEN LET E0=E,D3=D0 7180 NEXT E 7195 RETURN 7200 LET B0=11: REM...DIST. 2 NEAREST ENEMY AIRFIELD 7210 FOR E=12 TO S9+11 7220 IF R(E)<=0 THEN 7280 7230 LET V2=S(E),H2=T(E),Y2=U(E),X2=W(E) 7250 GOSUB 590: GOSUB 1100: LET D0=D0+I0 7260 IF D4>D0 THEN LET B0=E,D4=D0 7280 NEXT E 7295 RETURN 7300 IF G(P)<=0 OR F0=1 THEN 7395 ELSE LET D=P: REM...SHOOT 7310 GOSUB 1600 7320 GOSUB 1300 7330 IF Y(F)=INT(Y1) AND X(F)=INT(X1) THEN 7350 7340 IF Y(F)=INT(Y2) AND X(F)=INT(X2) THEN 7350 ELSE 7395 7350 LET Z3=FNR(150)+50,G(P)=G(P)-Z3,H0=FNR(Z3)+1 7370 LET D(F)=D(F)-H0,F0=1,I=F*3 7390 PRINT " RAT-A-TAT-TAT-TAT";TAB(35);B4$;"&J" 7392 PRINT H0;T9$;S$(I-2,I);" from ";P$ 7393 IF D(F)<=0 THEN PRINT B1$,S$(I-2,I);T6$: LET A(F)=.1 7395 RETURN 7400 IF F0=1 OR B(P)<=0 THEN 7495: REM...ROCKETS ! 7410 LET Y1=Y(P),X1=X(P),Y2=Y(F),X2=X(F) 7430 GOSUB 500 7440 IF ABS(C0-I(P))>.8 THEN 7495 7450 LET T0=1,F0=1,D1=S1,I(P)=C0 7470 GOSUB 3900 7480 LET B(P)=B(P)-1 7495 RETURN 7500 IF A(P)=1 THEN 7550 ELSE LET N2=9: REM...Land/Take-off 7510 LET I(P)=3,C0=3,W0=3,F0=3 7515 LET A(P)=1,D2=P 7530 IF N5<4 THEN LET W0=N5 7540 GOSUB 1000 7545 GOTO 7595 7550 IF F(P)<200 THEN 7560 ELSE 7595 7560 GOSUB 7200 7570 LET L9=B0,L=B0 7580 IF V(P)=S(L) AND H(P)=T(L) THEN LET F0=2: GOSUB 900 7595 RETURN 8000 LET P7=0,Y1=0,Z=0: REM...TARGET MAP 8005 PRINT "&J";D$ 8010 GOSUB 3700: LET Z$="( ) " 8020 FOR V=0 TO 90 STEP 10 8030 IF V>0 THEN LET I=INT(V/10) ELSE LET I=0 8035 LET Z$(2,2)=CHR(I+48): PRINT Z$; 8040 FOR H=1 TO 10 8050 PRINT TAB(N(H));Z(V+H); 8055 NEXT H 8060 PRINT TAB(48);Z$;" "; 8070 LET Y=(M-1)*10,X=Y+I,Q=(X*3)-2 8075 IF X=0 THEN PRINT : GOTO 8085 8080 IF A(X)=1 THEN PRINT S$(Q,Q+2);V(X);H(X) ELSE PRINT 8085 NEXT V 8090 PRINT D$;"&J" 8095 GOTO 5500 8100 PRINT E$;"ME-110 FIGHTERS ";N6$;C(1), 8105 IF S1-C(1)>0 THEN PRINT T4$;S1-C(1) ELSE PRINT 8110 PRINT F$;" FIGHTERS ";N6$;C(2), 8115 IF S2-C(2)>0 THEN PRINT T4$;S2-C(2) ELSE PRINT 8120 PRINT F$;"[P-38] F/BOMBERS ";N6$;C(3), 8125 IF S3-C(3)>0 THEN PRINT T4$;S3-C(3) ELSE PRINT 8130 IF P9>0 THEN PRINT E$;"ME-109 FIGHTERS ";N6$;C(12), 8135 IF P9>0 THEN IF S0-C(12)>0 THEN PRINT T4$;S0-C(12) ELSE PRINT 8140 PRINT E$;" [OIL] TANKS ";N6$;C(4), 8145 IF S4-C(4)>0 THEN PRINT T8$;S4-C(4) ELSE PRINT 8150 PRINT E$;"V-2 ROCKET BASES ";N6$;C(5), 8155 IF S5-C(5)>0 THEN PRINT T8$;S5-C(5) ELSE PRINT 8160 PRINT E$;"AMMUNITION DEPOTS ";N6$;C(6), 8165 IF S6-C(6)>0 THEN PRINT T8$;S6-C(6) ELSE PRINT 8170 PRINT E$;"PANZER TANK PLANTS";N6$;C(7), 8175 IF S7-C(7)>0 THEN PRINT T8$;S7-C(7) ELSE PRINT 8180 PRINT E$;"RADAR INSTALATION ";N6$;C(8), 8185 IF S8-C(8)>0 THEN PRINT T8$;S8-C(8) ELSE PRINT 8190 PRINT E$;"+ME-110+ AIRFIELDS";N6$;C(9), 8192 IF S9-C(9)>0 THEN PRINT T8$;S9-C(9) ELSE PRINT 8193 PRINT 8195 GOTO 5500 8200 PRINT "&J*** INTELLIGENCE REPORTS OF TARGET LOCATIONS ***&J" 8210 FOR X=1 TO S9+11 8220 IF R(X)>0 THEN LET R2$=L$((X*5)-4,X*5) ELSE 8280 8230 LET R1$=L$((R0*5)-4,R0*5) 8240 IF R1$=R2$ THEN PRINT A$;R2$;X;A$;N7$;S(X);T(X) 8280 NEXT X 8295 PRINT : GOTO 5500 8300 PRINT A$;P$;" OBSERVING from Quadrant ";V(P);H(P) 8305 PRINT "&J*** OBSERVATION REPORT OF ANY NEARBY GERMANS ***&J" 8310 FOR X=1 TO S1 8320 IF A(X)<.3 THEN 8380 8330 IF V(P)=V(X) AND H(P)=H(X) THEN 8340 ELSE 8380 8340 LET Z=(X*3)-2,Z$=S$(Z,Z+2): PRINT Z$;" COURSE: ";I(X); 8350 PRINT " AT SECTOR ";Y(X);X(X);" "; 8360 IF A(X)=.3 THEN PRINT "*** LANDED! ***": GOTO 8380 8370 LET Z=M(X)-D(X): IF Z=0 THEN PRINT " ": GOTO 8380 8375 PRINT INT((Z/M(X))*100);" % Damage!" 8380 NEXT X 8390 PRINT "&J","*** END OF REPORT ***&J" 8395 GOTO 5500 8400 PRINT A$;P$;" OBSERVING from Quadrant ";V(P);H(P) 8405 PRINT "&J*** OBSERVATION REPORT OF ANY TARGET DAMAGE ***&J" 8410 FOR X=1 TO S9+11 8430 IF V(P)=S(X) AND H(P)=T(X) THEN 8440 ELSE 8480 8440 LET Z=(X*5)-4,Z$=L$(Z,Z+4): PRINT Z$;" ";X;TAB(9); 8450 PRINT " at Sector ";U(X);W(X);" "; 8455 LET Z=L(X)-R(X) 8460 IF R(X)<=0 THEN PRINT "*** DESTROYED !!! ***": GOTO 8480 8470 IF Z=0 THEN PRINT "... STILL INTACT! ...": GOTO 8480 8475 PRINT INT((Z/L(X))*100);" % Damage!" 8480 NEXT X 8490 PRINT "&J","*** END OF REPORT ***&J" 8495 GOTO 5500 8500 PRINT "&J","### PLANE DAMAGE REPORT ###&J" 8510 FOR X=D1 TO D2 8520 LET Z=(X*3)-2,Z$=S$(Z,Z+2) 8530 PRINT A$;Z$;" ... "; 8540 IF A(X)<=.1 THEN PRINT "### DESTROYED ###": GOTO 8580 8550 LET Z=M(X)-D(X): IF Z=0 THEN PRINT "None.": GOTO 8580 8560 PRINT %3I;INT((Z/M(X))*100);" % Damage!" 8580 NEXT X 8590 PRINT 8595 GOTO 5500 8800 FOR X=1 TO S1 8810 LET I=(X*3)-2,P1$=S$(I,I+2) 8820 PRINT P1$;I(X),V(X);H(X);Y(X);X(X),B(X);G(X);F(X),A(X) 8830 NEXT X 8840 GOTO 5400 8900 LET E=(X*3)-2,P9=2 8910 IF S$(E,E)="+" THEN LET C(1)=C(1)+1 8920 IF S$(E,E)="#" THEN LET C(12)=C(12)+1 8930 RETURN 9000 IF W=2 THEN PRINT "&K&J","*=*=* Y O U W O N *=*=*" ELSE PRINT 9010 IF W=1 THEN PRINT "&J","* THE GERMANS WON! *" ELSE PRINT 9020 IF W=2 THEN 9500 ELSE PRINT 9100 PRINT F$;T4$ 9110 FOR X=11 TO S3+20 9115 IF X>S2+11 AND X<21 THEN 9130 ELSE LET I=(X*3)-2 9120 IF A(X)<1 THEN PRINT S$(I,I+2), 9130 NEXT X 9140 PRINT 9500 PRINT E$;T4$ 9510 FOR X=1 TO S1 9520 IF A(X)<.3 THEN PRINT S$((X*3)-2,X*3), 9530 NEXT X 9540 PRINT 9600 PRINT E$;T5$;T6$ 9610 FOR X=1 TO S9+11 9620 IF R(X)<=0 THEN PRINT L$((X*5)-4,X*5);X, 9630 NEXT X 9640 PRINT 9700 PRINT " Type 'RUN' to play again." 9990 END