1000 COM A$[2*45],S$[N3*10],N$[16],W$[14*45],X[45],Y[45],B$[2],C$[6] 1010 COM D$[1],R$[15],T9,N1,W1,O,N2,N3,O1,O2,P1,P2,N4,X1 1020 DEF FNQ(X)=ASC(A$)*N2+ASC(B$) 1030 DEF FNM(X)=X-INT(X/N2)*N2 1040 DEF FNA(X)=ASC(A$)*10+ASC(B$)/10 1050 ON O-7 GOTO 1100,1340,1670 1060 ON O-18 GOTO 2290,2390,2480 1070 PRINT "\^PHASERS: CONTROL"; 1080 LET J=4,I=22 1090 GOTO 1120 1100 PRINT "\^TUBES: CONTROL"; 1110 LET J=6,I=39 1120 FOR K=1 TO J 1130 PRINT TAB (8*K+10); 1140 LET D$=S$[I+K],X=ASC(D$) 1150 IF X=0 THEN 1190 1160 IF X<25 THEN 1210 1170 PRINT "DAMAGED"; 1180 GOTO 1220 1190 PRINT "MANUAL"; 1200 GOTO 1220 1210 PRINT S$[X*N3-9*8,X*N3-3*22]; 1220 NEXT K 1230 PRINT "\^"; TAB (11);"TURNED"; 1240 FOR K=1 TO J 1250 LET A$=S$[I+2*J-1+K*2],B$=A$[2] 1260 PRINT TAB (8*K+10);FNQ(1); 1270 NEXT K 1280 PRINT "\^"; TAB (11);"LEVELS"; 1290 FOR K=1 TO J 1300 LET B$=S$[I+K+J] 1310 PRINT TAB (8*K+10);ASC(B$); 1320 NEXT K 1330 GOTO 2370 1340 INPUT (T9,T8)"LOAD OR UNLOAD: ",D$ 1350 PRINT 1360 IF D$="L" THEN LET X1=1 1370 IF X1=0 THEN IF D$<>"U" THEN 2000 1380 INPUT (T9*2,T8)"TUBES [1-6] ",A$ 1390 PRINT 1400 LET C$="" 1410 FOR X=1 TO 6 1420 SEARCH A$,STR(X),Y 1430 IF Y THEN LET C$=C$+CHR(X) 1440 NEXT X 1450 IF C$="" THEN 2000 1460 FOR X=1 TO LEN(C$) 1470 LET B$=C$[X],K=ASC(B$),A$=S$[18],B$=A$[2],W=FNA(1),D$=S$[45+K],I=ASC(D$) 1480 IF K>=1 THEN IF K<=6 THEN 1500 1490 GOTO 1580 1500 IF S$[39+K,39+K]="" THEN 1580 1510 IF X1>0 THEN 1550 1520 LET A$=A$[3],B$=A$[2],Z=FNQ(1) 1530 LET Y=(Z-W+I-ABS(W+I-Z))/2,S$[45+K,45+K]=CHR(I-Y),Z=Z+Y,W=W+Y 1540 GOTO 1570 1550 LET Y=(10-I+W-ABS(10-I-W))/2 1560 LET S$[45+K,45+K]=CHR(I+Y),W=W-Y,A$=S$[20],B$=A$[2],Z=FNQ(1)-Y 1570 LET S$[18,21]=CHR(W/10)+CHR(FNM(W*10))+CHR(Z/N2)+CHR(FNM(Z)) 1580 NEXT X 1590 PRINT "SCOTT: TUBE UNITS NOW"; 1600 FOR K=40 TO 45 1610 IF S$[K,K]="" THEN PRINT " -- "; 1620 LET D$=S$[K+6],A$=S$[18],B$=A$[2] 1630 IF S$[K,K]<>"" THEN PRINT ASC(D$); 1640 NEXT K 1650 PRINT "FUEL @";FNA(1) 1660 GOTO 1990 1670 IF S$[13,13]="" THEN 2040 1680 LET A$=S$[18],B$=A$[2],W=FNA(1) 1690 PRINT "SCOTT: ";W;"PODS AVAILABLE" 1700 IF W>=10 THEN 1730 1710 PRINT "SCOTT: WE HAVEN'T THE POWER!" 1720 GOTO 1990 1730 PRINT R$;": NUMBER OF PODS TO LAUNCH [10+] IS "; 1740 INPUT (T9,T8)"",Q1 1750 INPUT (T9,T7)"\^TIME DELAY [0-15] ",Q2 1760 INPUT (T9,T6)"\^PROXIMITY DELAY [50+] ",Q3 1770 PRINT 1780 IF T6+T7+T8<0 THEN 1980 1790 IF Q1>=10 THEN IF Q1<=W THEN IF Q2>=0 THEN IF Q3>=50 THEN IF Q2<=15 THEN 1810 1800 GOTO 2020 1810 GOSUB 2190 1820 PRINT "LAUNCH TOWARDS [WHOM, IF ANYONE] "; 1830 GOSUB 2120 1840 IF X2=60 THEN 1880 1850 LET J=X2 1860 GOSUB 2060 1870 GOTO 1930 1880 INPUT (T9,T8)"COURSE [0-360] ",B 1890 PRINT 1900 LET X2=0 1910 IF SGN(T8)*B>=0 THEN IF B<60*6 THEN 1930 1920 GOTO 2020 1930 LET A$=""+CHR(Q1/10)+CHR(FNM(Q1*10))+CHR(B/N2)+CHR(FNM(B))+CHR(B/N2) 1940 LET A$=A$+CHR(FNM(B))+CHR(X2+50)+CHR(Q2)+CHR(Q3/N2)+CHR(FNM(Q3)) 1950 LET W$[I*14-13,I*14]=A$,W=W-Q1,S$[18,19]=CHR(W/10)+CHR(FNM(W*10)) 1960 PRINT "SCOTT: PROBE #";I;"AWAY" 1970 GOTO 1990 1980 PRINT "**TIME**" 1990 CHAIN #1;"$TREK4" 2000 PRINT "CHEKOV: WHAT?" 2010 GOTO 1990 2020 PRINT "SPOCK: BAD PARAMETERS" 2030 GOTO 1990 2040 PRINT "SCOTT: PROBE LAUNCHER DESTROYED" 2050 GOTO 1990 2060 LET X1=X[J]-X[1],Y1=Y[J]-Y[1],B=45*2 2070 IF X1 THEN LET B=ATN(Y1/X1)*57.2958 2080 IF X1>=0 THEN IF Y1>=0 THEN RETURN 2090 LET B=B+60*3 2100 IF X1>=0 THEN LET B=B+60*3 2110 RETURN 2120 INPUT (T9,T8)"",D$ 2130 PRINT 2140 FOR X2=2 TO N1+1 2150 IF W$[X2*14-13,X2*14-13]="" THEN IF S$[X2*N3-9*8,X2*N3-9*8]=D$ THEN RETURN 2160 NEXT X2 2170 LET X2=60 2180 RETURN 2190 FOR I=1 TO W1 2200 IF W$[I*14-12,I*14-12]="" THEN 2240 2210 NEXT I 2220 LET I=I+1,W1=I 2230 IF LEN(W$)>14*44 THEN SYSTEM 1 2240 LET W$[I*14-13,I*14]="",X[I]=X[1],Y[I]=Y[1] 2250 FOR W1=W1 TO 1 STEP -1 2260 IF W$[W1*14-12,W1*14-12]<>"" THEN RETURN 2270 NEXT W1 2280 RETURN 2290 PRINT "SCOTT: DESIGNATE SHIELD DRAIN (X,X,X,X)\^";R$;": SHIELD DRAINS ARE [0-1] "; 2300 FOR K=1 TO 4 2310 INPUT X 2320 IF X>=0 THEN IF X<=1 THEN 2350 2330 PRINT "\^MINUMUM DRAIN IS 0, MAXIMUM IS 1" 2340 GOTO 2290 2350 LET S$[64+K,64+K]=CHR(X*N2) 2360 NEXT K 2370 PRINT 2380 GOTO 1990 2390 PRINT R$;": MR. SCOTT, JETTISON OUR ENGINEERING SECTION!" 2400 IF S$[15,15]="" THEN 2430 2410 PRINT "SCOTT: ENGINEERING HAS BEEN JETTISONED!" 2420 GOTO 1990 2430 PRINT "SCOTT: JETTISONNING ENGINEERING" 2440 GOSUB 2190 2450 LET A$=""+W$[3,3]+""+S$[18,19]+W$[7,8]+W$[7,8]+"2",W$[I*14-13,I*14]=A$ 2460 LET S$[13,15]="",W$[4,4]="",S$[18,22]="" 2470 GOTO 1990 2480 PRINT R$;": SCOTTY, DETONATE ENGINEERING!\^SCOTT: "; 2490 IF S$[15,15]="" THEN 2520 2500 PRINT "WHAT? IT'S STILL ATTACHED" 2510 GOTO 1990 2520 FOR J=29 TO W1*14 STEP 14 2530 IF W$[J,J+1]="" THEN 2570 2540 NEXT J 2550 PRINT "OURS HAS ALREADY DETONATED" 2560 GOTO 1990 2570 PRINT "AYE, SIR" 2580 LET W$[J+11,J+11]="" 2590 GOTO 1990