1000 COM A$[2*45],S$[N3*10],N$[16],W$[14*45],X[45],Y[45],B$[2] 1010 COM D$[1],R$[15],T9,N1,W1,O,N2,N3,O1,O2,P1,P2,X$[14],N4 1020 SYSTEM 6 1030 DEF FNC(X)=X-INT(X/6/60)*6*60 1040 DEF FNM(X)=X-INT(X/N2)*N2 1050 DEF FNR(X)=INT(X*RND(0)+1) 1060 DEF FNZ(W)=SQR((X[I]-X[J])^2+(Y[I]-Y[J])^2) 1070 DEF FNQ(W)=ASC(X$)*N2+ASC(B$) 1080 DEF FND(X)=(X+ABS(X))/2 1090 DEF FNA(W)=ASC(X$)*10+ASC(B$)/10 1100 FOR D=1 TO 10 1110 FOR I=1 TO W1 1120 LET X$=W$[I*14-13],F9=ASC(X$),X$=X$[2],F0=ASC(X$)X$=X$[2],F1=ASC(X$)/10 1130 IF F0=0 THEN 2160 1140 LET X$=X$[2],F2=ASC(X$)/10,X$=X$[2],B$=X$[2],F3=FNA(1),X$=X$[3] 1150 LET B$=X$[2],F4=FNQ(1),X$=X$[3],B$=X$[2],F5=FNQ(1),X$=X$[3],F6=ASC(X$)-50 1160 LET X$=X$[2],F7=ASC(X$)-1,X$=X$[2],B$=X$[2],F8=FNQ(1),W2=F5 1170 IF D>2 THEN LET F7=F7+1 1180 IF F9 THEN 1580 1190 LET A$=S$[I*N3-9*8],X$=A$[N3],F1=F1*(ASC(X$)-1),X$=A$[64],F2=F2*(ASC(X$)-1) 1191 IF F7>40 THEN LET F7=126 1200 IF A$[16,16]="" THEN 2160 1210 FOR K=23 TO 26 1220 LET D$=A$[K],J=ASC(D$)-25 1230 IF J>=0 THEN IF J10^3 THEN 1420 1340 LET X$=A$[2*K-15],f=X$[2],G3=FNC(F4+FNQ(1)-B),D$=A$[39],Y=ASC(D) 1350 IF G3>Y THEN IF 12*30-G3Y THEN 1420 1360 LET F=INT(Z3*SQR(1-W/10^3)*45/Y),X$=W$[J*14-9],B$=X$[2],Y=FND(FNA(1)-F/2)+1 1370 IF F=0 THEN 1420 1380 IF Z THEN LET W$[J*14-9,J*14]=CHR(Y/10)+CHR(FNM(Y*10)) 1390 DATA 50,2,20,3,10 1400 RESTORE 1410 GOSUB 2250 1420 NEXT J 1430 GOTO 1580 1440 FOR L=40 TO 45 1450 LET D$=A$[L],J=ASC(D$)-25,D$=A$[L+6] 1460 IF J>=0 THEN IF J44*14 THEN SYSTEM 1 1540 LET X$=A$[2*L-28],B$=X$[2],W=FNC(FNQ(1)+F4),B$=CHR(W/N2)+CHR(FNM(W)),A$[L,L 1550 LET X$=""+CHR(I)+"xx"+CHR(ASC(D$)/10)+CHR(FNM(ASC(D$)*10))+B$+B$+"2"+CHR(1 1560 LET W$[K*14-13,K*14]=X$,X[K]=X[I],Y[K]=Y[I],A$[L+6,L+6]="" 1570 PRINT "<< ";A$[1,10];" FRNG TRPD";K;">>" 1580 IF F7<=0 THEN 1640 1590 FOR J=1 TO W1 1600 LET B$=W$[J*14-13],D$=B$[2],Z=ASC(D$) 1610 IF Z THEN IF J<>I THEN IF ASC(B$)=0 THEN IF Z<>F0 THEN IF F8>FNZ(1) THE 1620 NEXT J 1630 GOTO 1850 1640 ON F9 GOTO 1710,1730,1750 1650 PRINT "+";S$[F0*N3-9*8,F0*N3-7*9];"+ DESTRUCT" 1660 FOR K=27 TO 32 1670 LET D$=A$[19+K],B$=A$[K],F3=F3+ASC(D$) 1680 IF K<31 THEN LET F3=F3+ASC(B$) 1690 NEXT K 1700 GOTO 1760 1710 PRINT "#";S$[F0*N3-9*8,F0*N3-7*9];"'S ENGN#" 1720 GOTO 1760 1730 PRINT "*";I;"*" 1740 GOTO1760 1750 P[NT ":";I": 760 FOR J=1 TO W1 1770 LET Z=J*14-3,F=0,T1=F3*5,G2=FNZ(1),T2=T1*10,B$=W$[Z-10],D$=B$[2],F0=0 1780 IF W$[Z,Z]=CHR(I+50) THEN LET W$[Z,Z]="2" 1790 IF G2<=T2 THEN LET F=INT(T1*SQR(1-G2/T2)),Z=ASC(B$),Z1=ASC(D$) 1800 DATA 100,3,10,2,7 1810 RESTORE 1800 1820 IF (I-J)*ASC(D$)*F THEN GOSUB 2250 1830 NEXT J 1840 GOTO 2110 1850 ON F9 GOTO 2100,2050,2110 1860 IF ABS(F2)<1 THEN 1930 1870 IF A$[14,14]=" THEN 1920 1880 LET D$=A$[17],F3=F3-ASC(D$)/10*ABS(F2)/5 1890 IF F3>=0 THEN 1930 1900 LET F3=0 1910 PRINT A$[1,10];"'S WARP DRIVE BURNING OUT" 1920 LET Z3=ABS(F2),F2=(Z3+9/10-ABS(Z3-9/10))/2*SGN(F2) 1930 IF F6=0 THEN 1980 1940 LET J=ABS(F6) 1950 GOSUB 2190 1960 LET W2=FNC(B+60*3) 1970 IF F6>0 THEN LET W2=B 1980 IF F4=W2 THEN 2100 1990 LET C1=FNC(W2-F4) 2000 IF C1>=60*3 THEN LET C1=C1-60*6 2010 LET C2=10-ABS(F2) 2020 IF A$[14,14]=" THEN LET C2=C2/2 2030 LET Z3=ABS(C1),F4=FNC(F4+SGN(C1)*(Z3+C2-ABS(Z3-C2))/2) 2040 GOTO 2100 2050 IF F6=0 THEN 2110 2060 LET J=F6 2070 GOSUB 2190 2080 LET F4=B 2090 GOTO 2110 2100 LET T1=F2-F1,F1=F1+SGN(T1)*(SQR(ABS(T1))/5+1/20) 2110 LET X$=CHR(F9)+CHR(F0)+CHR(ABS(F1)*10)+CHR(ABS(F2)*10)+CHR(F3/10)+CHR(FNM(F 2120 LET X$=X$+CHR(F4/N2)+CHR(FNM(F4))+CHR(F5/N2)+CHR(FNM(F5))+CHR(F6+50)+CHR(FN 2130 LET C3=F4/57.2958,X[I]=X[I]+F1*COS(C3)*20,Y[I]=Y[I]+F1*SIN(C3)*20 2140 LET W$[I*14-13,I*14]=X$+CHR(F8/N2)+CHR(FNM(F8)) 2150 IF F9=0 THEN LET A$[64,64]=CHR(1+SGN(F2)),A$[N3]=CHR(1+SGN(F1)),S$[I*N3-9* 2160 NEXT I 2170 NEXT D 2180 CHAIN #1;"$TREK" 2190 LET X1=X[J]-X[I],Y1=Y[J]-Y[I],B=45*2 2200 IF X1 THEN LET B=ATN(Y1/X1)*57.2958 2210 IF X1>=0 THEN IF Y1>=0 THEN RETURN 2220 LET B=B+60*3 2230 IF X1>=0 THEN LET B=B+60*3 2240 RETURN 2250 ON Z GOTO 2600,2620,2640 2260 GOSUB 2190 2270 LET X$=W$[J*14-7],B$=X$[2],T4=FNQ(1),X$=S$[J*N3-57],T7=(ASC(X$)*18/5+9/10) 2280 LET X$=X$[2],T5=ASC(X$)/10,X$=X$[2],B$=X$[2],T3=FNA(1) 2290 LET X$=X$[5],T6=ASC(X$)/10,S=INT(FNC(B-T4+5*45)/45/2) 2300 PRINT "HIT";F;"ON ";S$[J*N3-9*8,J*N3-9*7];"'S SHIELD";S+1 2310 READ Q1,Q2,Q3,Q4,Q5 2320 LET X=J*N3-8,X$=S$[X+S],W=ASC(X$)/N2,D$=X$[5],Z=ASC(D$),H=F*(1-W*Z/N2) 2330 IF S=0 THEN LET Q4=Q4*15/10 2340 ERRSET 2360 2350 LET X$=CHR(FND(T7-FNR(H*Q5)+1/2)*5/18)+CHR((T5+H/Q1)*51/5)+CHR(FND(T3-H/Q2) 2360 LET X$=X$+CHR(FNM(FND(T3-H/Q2)*10))+S$[X-45,X-44]+CHR(FND(T6-H/Q3)*10) 2370 LET S$[X-49,X]=X$,S$[X+S+4,X+S+4]=CHR(FND(Z-F/Q4)),L=FNR(10),Q4=X-43+L 2380 IF L>4 THEN 2430 2410 IF J<=1 THEN PRINT "PHASER";L;"DAMAGED" 2420 GOTO 2470 2430 LET Q4=X-30+L 2460 IF J<=1 THEN PRINT "TUBE";L-4;"DAMAGED" 2470 RESTORE 2480 2480 DATA 1500,"COMPUTER",750,"SENSORS",150,"PROBE LAUNCHER",75,"WARP DRIVE" 2490 FOR L=0 TO 3 2500 READ Q2,X$ 2510 LET T1=X-54+L 2520 IF Q1=50 THEN LET Q2=Q2*10/15 2530 IF H