1580 PRINT "YOU HAVE";E;"UNITS OF ENERGY" 1590 PRINT "SUGGEST YOU GET SOME FROM YOUR SHIELDS WHICH HAVE";S;"UNITS LEFT" 1600 GOTO 1270 1610FOR I=1TO8\ IF D(I)>=0 THEN 1640 1611REM *** FIX ANY DAMAGED DEVICE 1630D(I)=D(I)+1 1640NEXT I 1650IF RND(1)>.2 THEN 1810 1660R1=INT(RND(1)*8+1) 1670IF RND(1)>= .5 THEN 1750 1680D(R1)=D(R1)-(RND(1)*5+1) 1690 PRINT\PRINT "DAMAGE CONTROL REPORT:"; 1710GOSUB 5610 1720PRINT" DAMAGED"\PRINT\GOTO 1810 1750D(R1)=D(R1)+(RND(1)*5+1) 1760 PRINT\PRINT "DAMAGE CONTROL REPORT:"; 1780GOSUB 5610 1790PRINT" STATE OF REPAIR IMPROVED"\PRINT 1810 N=INT((W1+.0625)*8)\A$=" "\Z1=S1\Z2=S2 1850GOSUB 5510 1870X=S1\Y=S2 1890X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)) 1900X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)) 1910FOR I=1TON\S1=S1+X1\S2=S2+X2 1940 IF S1<1 GOTO 2170\IF S1>=9 GOTO 2170\IF S2<1 GOTO 2170\IF S2>=9 GOTO 2170 1950S8=S1*24+S2*3-26\ IF S8>72 THEN 1990 1970 IF SEG$(Q$,S8,S8+2)=" " GOTO 2070 1980GOTO 2030 1990IF S8>144 THEN 2020 2000 IF SEG$(R$,S8-72,S8-70)=" " GOTO 2070 2010GOTO 2030 2020 IF SEG$(S$,S8-144,S8-142)=" " GOTO 2070 2030 S1=INT(S1-X1)\S2=INT(S2-X2)\PRINT "WARP ENGINES SHUTDOWN AT SECTOR"; 2035 PRINT S1;",";S2;"DUE TO BAD NAVAGATION" 2040 GOTO 2080 2070NEXT I 2075 S1=INT(S1)\S2=INT(S2) 2080A$="<*>"\Z1=S1\Z2=S2 2110GOSUB 5510 2120 E=E-N+5\T=(INT(10*T+1.1))/10\IF W1<1 THEN 2150 2140 T=(INT(10*T+9))/10 2150IF T>T0+T9 THEN 3970 2160GOTO 1260 2170X=Q1*8+X+X1*N\Y=Q2*8+Y+X2*N 2190Q1=INT(X/8)\Q2=INT(Y/8)\S1=INT(X-Q1*8)\S2=INT(Y-Q2*8) 2230IF S1<>0 THEN 2260 2240Q1=Q1-1\S1=8 2260IF S2<>0 THEN 2290 2270Q2=Q2-1\S2=8 2290T=T+1\E=E-N+5 2310IF T>T0 + T9 THEN 3970 2320GOTO 810 2321REM *** LONG RANGE SENSON SCAN CODE BEGINS HERE 2330IF D(3)>=0 THEN 2370 2340PRINT "LONG RANGE SENSORS ARE INOPERABLE" 2360GOTO 1270 2370 PRINT "LONG RANGE SENSOR SCAN FOR QUADRANT";Q1;",";Q2 2380PRINT"-------------------" 2390FOR I=Q1-1 TO Q1+1 2410FOR J=Q2-1 TO Q2+1 2420 IF I<1 GOTO 2500\IF I>8 GOTO 2500\IF J<1 GOTO 2500\IF J>8 GOTO 2500 2430N(J-Q2+2)=G(I,J) 2440 IF D(8)<0 THEN 2460 2450Z(I,J)=G(I,J) 2460NEXT J 2470 PRINT ":";N(1);TAB(7);":";N(2);TAB(13);":";N(3);TAB(19);":" 2480PRINT"-------------------" 2490NEXT I 2495 GOTO 1270 2500 N(J-Q2+2)=0\GOTO 2460 2501REM *** PHASER CONTROL CODE BEGINS HERE 2530IF K3<=0 THEN 3670 2540IF D(4)>=0 THEN 2570 2550 PRINT "PHASERS NOT OPERATIONAL" 2560GOTO 1270 2570 IF D(8)>=0 THEN 2590 2580PRINT " COMPUTER FAILURE HAMPERS ACCURACY" 2590 PRINT "PHASERS LOCKED ON TARGET. ENERGY AVAILABLE =";E 2600 PRINT "NUMBER OF UNITS TO FIRE:";\INPUT X 2620IF X<=0 THEN 1270 2630 IF E-X<0 THEN 2590 2640E=E-X 2650GOSUB 3790 2660IF D(7)>=0 THEN 2680 2670X=X*RND(1) 2680FOR I=1TO3 2690IF K(I,3)<=0 THEN 2770 2700H=INT((X/K3/FND(0))*(2*RND(1))) 2710K(I,3)=K(I,3)-H 2720 PRINT H;" UNIT HIT ON KLINGON AT SECTOR";K(I,1);",";K(I,2); 2721 PRINT " (";K(I,3);" LEFT)" 2740IF K(I,3)>0 THEN 2770 2750GOSUB 3690 2760IF K9<=0 THEN 4040 2770NEXT I 2780IF E<0 THEN 4000 2790GOTO 1270 2791REM *** PHOTON TORPEDO CODE BEGINS HERE 2800IF D(5)>=0 THEN 2830 2810PRINT "PHOTON TUBES ARE NOT OPERATIONAL" 2820GOTO 1270 2830IF P>0 THEN 2860 2840PRINT "ALL PHOTON TORPEDOES EXPENDED" 2850GOTO 1270 2860 PRINT "TORPEDO COURSE (1-9):";\INPUT C1 2880IF C1=0 THEN 1270 2890 IF C1<1 GOTO 2860\IF C1>=9 GOTO 2860 2900X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)) 2910X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)) 2920X=S1\Y=S2\P=P-1 2950 PRINT "TORPEDO TRACK:" 2960X=X+X1\Y=Y+X2 2980 IF X<1 GOTO 3420\IF X>=9 GOTO 3420\IF Y<1 GOTO 3420\IF Y>=9 GOTO3420 2990 PRINT " ";X;",";Y 2992 IF INT(X+.25)<>INT(X+.75) GOTO 2960 2994 IF INT(Y+.25)<>INT(Y+.75) GOTO 2960 3000 Z1=INT(X+.5)\Z2=INT(Y+.5) 3010 A$=" " 3040GOSUB 5680 3050IF Z3=0 THEN 3070 3060GOTO 2960 3070 A$="+++" 3100GOSUB 5680 3110IF Z3=0 THEN 3220 3120PRINT "*** KLINGON DESTROYED ***" 3130K3=K3-1\K9=K9-1 3150IF K9<=0 THEN 4040 3160FOR I=1TO3\IF INT(X)<>K(I,1) THEN 3190 3180IF INT(Y)=K(I,2) THEN 3200 3190NEXT I 3200K(I,3)=0\GOTO 3360 3220 A$=" * " 3250GOSUB 5680 3260IF Z3=0 THEN 3290 3270PRINT "YOU CAN'T DESTROY STARS, SILLY" 3280GOTO 3420 3290 A$=">!<" 3320GOSUB 5680