10 REM ... STTR2.ECB 15 PRINT "&K" 20 CURSOR 4,11: PRINT TAB(23);"*************" 30 PRINT TAB(21);"*** ***" 40 PRINT TAB(20);"*** S T T R 2 ***" 50 PRINT TAB(21);"*** ***" 60 PRINT TAB(23);"*************" 70 CURSOR 10,1 80 PRINT " RUN 'STTR1' to get detailed instructions." 240 DATA " :","","",">B<"," * "," ","X"," " 250 READ I$,E$,K$,B$,S$,L$,X$,Z$ 260 DIM M$(50) 280 LET M$=" --1-- --2-- --3-- --4-- --5-- --6-- --7-- --8--" 290 PRINT : PRINT : PRINT 330 DIM G(8,8),C(9,2),K(3,3),N(3),X(8),Z(8,8) 335 DIM D$(96),Q$(200) 350 LET T0=INT(RND(0)*20+20)*100: LET T=T0 360 DATA 30,0,3000,3000,10,10,200,0,0,0,0 370 READ T9,D0,E,E0,P,P0,S9,S,H8,B9,K9 420 DEF FND(D)=SQR(((K(I,1)-S1)*(K(I,1)-S1))+((K(I,2)-S2)*(K(I,2)-S2))) 430 LET Q1=INT(RND(0)*8)+1 440 LET Q2=INT(RND(0)*8)+1 450 LET S1=INT(RND(0)*8)+1 460 LET S2=INT(RND(0)*8)+1 465 DATA -1,-1,-1,-1,-1,-1,0,0,0,0,0,1,1,1,1,1,1,1 470 READ C(2,1),C(3,1),C(4,1),C(4,2),C(5,2),C(6,2) 480 READ C(1,1),C(3,2),C(5,1),C(7,2),C(9,1) 490 READ C(1,2),C(2,2),C(6,1),C(7,1),C(8,1),C(9,2),C(8,2) 500 LET D$="WARP ENGINES" 510 LET D$=D$+"S.R. SENSORS" 520 LET D$=D$+"L.R. SENSORS" 530 LET D$=D$+"PHASER CNTRL" 540 LET D$=D$+"PHOTON TUBES" 550 LET D$=D$+"DAMAGE CNTRL" 560 LET D$=D$+"SHIELD CNTRL" 570 LET D$=D$+"COMPUTER " 580 LET Q$=" " 585 LET Q$=Q$+Q$: LET Q$=Q$+Q$ 590 FOR I=1 TO 8 600 FOR J=1 TO 8 610 LET R1=RND(0): LET K3=0 620 REM ============= PUT 3,2,1, OR 0 KLINGONS IN QUAD. 630 IF R1>.80 THEN LET K3=K3+1 ELSE 760 640 IF R1>.80 THEN LET K9=K9+1 660 IF R1>.95 THEN LET K9=K9+1: LET K3=K3+1 670 IF R1>.98 THEN LET K3=K3+1 680 IF R1>.98 THEN LET K9=K9+1 685 IF K3>3 THEN PRINT 685;K3;I;J;G(I,J) 760 LET R1=RND(0) 790 REM ============= PUT 1 STARBASE IN THIS QUADRANT 800 IF R1>.96 THEN LET B3=1 ELSE LET B3=0 810 IF R1>.96 THEN LET B9=B9+1 820 REM ============= CALCULATE # STARS THIS QUAD. 830 LET S3=INT(RND(0)*8)+1 840 REM ============= INSERT KLINGONS,STARBASE,STARS 850 LET G(I,J)=(K3*100)+(B3*10)+S3 860 REM ============= CLEAR MAP FOR CMD 7,0 870 LET Z(I,J)=0 880 NEXT J 890 NEXT I 900 LET K7=K9 910 LET T9=INT(K9*1.6) 920 IF K9<=10 THEN 970 930 IF B9>0 THEN 970 ELSE LET B9=1 940 IF G(6,3)>100 THEN 960 ELSE LET G(6,3)=14 950 GOTO 970 960 LET G(6,3)=(G(6,3)+10) 970 PRINT " YOU MUST DESTROY ";K9;" KLINGONS IN ";T9 980 PRINT " STARDATES WITH ";B9;" STARBASE(S)" 990 LET K3=0: LET S3=0: LET B3=0 1000 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>8 THEN 1130 1010 REM ============= SETUP KLINGONS,STARS, 1020 LET X=G(Q1,Q2)*.01 1030 REM ============= AND STARBASES THIS QUADRANT 1040 LET K3=INT(X) 1050 LET B3=INT((X-K3)*10) 1060 LET S3=G(Q1,Q2)-INT(G(Q1,Q2)*.1)*10 1070 REM ============= NO KLINGONS THIS QUADRANT 1080 IF K3=0 THEN 1130 1090 REM ============= SHIELDS =200 UNITS ENERGY 1100 IF S>200 THEN 1130 1110 PRINT "COMBAT AREA CONDITION RED" 1120 PRINT " SHIELDS DANGEROUSLY LOW" 1130 REM ============= CLEAR K MATRIX 1140 FOR I=1 TO 3 1150 LET K(I,3)=0 1160 NEXT I 1170 REM ============= CLEAR PICTURE MATRIX 1180 FOR W=1 TO 192 STEP 32 1190 LET Q$(W,W+32)=" " 1200 NEXT W 1210 REM ============= POSITION ENTERPRISE IN NEW QUADRANT 1220 LET A$=E$ 1230 LET Z1=S1 1240 LET Z2=S2 1250 GOSUB 4940 1260 REM ============= INSERT KLINGONS IN NEW QUADRANT 1270 FOR I=1 TO K3 1280 GOSUB 4980 1290 LET A$=K$ 1300 LET Z1=R1 1310 LET Z2=R2 1320 GOSUB 4940 1330 REM ============= SET UP NEW K MATRIX VALUES 1340 LET K(I,1)=R1 1350 LET K(I,2)=R2 1360 LET K(I,3)=S9 1370 NEXT I 1380 REM ============= INSERT STARBASES INTO NEW QUAD. 1390 FOR I=1 TO B3 1400 GOSUB 4980 1410 LET A$=B$ 1420 LET Z1=R1 1430 LET Z2=R2 1440 GOSUB 4940 1450 NEXT I 1460 REM ============= INSERT STARS INTO NEW QUAD 1470 FOR I=1 TO S3 1480 GOSUB 4980 1490 LET A$=S$ 1500 LET Z1=R1 1510 LET Z2=R2 1520 GOSUB 4940 1530 NEXT I 1540 REM ============= CHECK FOR DOCKING 1550 GOSUB 5140 1560 PRINT "COMMAND: (0-7): "; 1570 INPUT A 1580 IF A<0 OR A>7 THEN GOSUB 7000 ELSE LET A=INT(A) 1585 IF A<0 OR A>7 THEN 1560 1590 ON A+1 GOTO 1600,1540,2740,2930,3230,3890,4000,4290 1600 PRINT "COURSE (1-9): "; 1610 INPUT C1 1630 IF C1<=0 OR C1>8.99 THEN 1560 1640 PRINT "WARP FACTOR (0-8): "; 1650 INPUT W1 1660 IF W1<=0 OR W1>=8 THEN 1560 1670 IF D(1)>=0 OR W1<=.2 THEN 1700 1680 PRINT "WARP ENGINES ARE DAMAGED MAXIMUM SPEED =WARP 0.2" 1690 GOTO 1600 1700 REM ============= ANY KLINGONS THIS QUADRANT ? 1710 IF K3<=0 THEN 1780 1720 REM ============= CALCULATE ENERGY HIT ON ENTERPRISE 1730 GOSUB 5630 1740 IF K3<=0 THEN 1780 1750 REM ============= ENTERPRISED DESTROYED 1760 IF S<0 THEN 4200 1770 GOTO 1850 1780 IF E>0 THEN 1850 1790 REM ============= ENTERPRISE DEAD IN SPACE 1800 IF S<1 THEN 4110 1810 PRINT "YOU HAVE ";E;" UNITS OF ENERGY" 1820 PRINT "SUGGEST BORROWING FROM YOUR SHIELDS WHICH HAVE "; 1830 PRINT S;" UNITS LEFT." 1840 GOTO 1560 1850 FOR I=1 TO 8 1860 IF D(I)>=0 THEN 1880 1870 LET D(I)=D(I)+1 1880 NEXT I 1890 IF RND(0)>0.2 THEN 2000 1900 LET R1=INT(RND(0)*8)+1 1910 IF RND(0)>=0.5 THEN 1970 1920 LET D(R1)=D(R1)-(RND(0)*5+1) 1930 PRINT " DAMAGE CONTROL REPORT: "; 1940 GOSUB 5880 1950 PRINT " DAMAGE " 1960 GOTO 2000 1970 LET D(R1)=D(R1)+(RND(0)*5+1) 1980 GOSUB 5880 1990 PRINT " STATE OF REPAIR IMPROVED" 2000 LET N=INT(W1*8) 2010 LET A$=L$ 2020 LET Z1=S1 2030 LET Z2=S2 2040 GOSUB 4940 2050 LET E5=E 2060 LET X=S1 2070 LET Y=S2 2080 LET X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)) 2090 LET X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)) 2100 REM ============= COURSE 1 2 3 4 5 6 7 8 2110 FOR I=1 TO N 2120 REM ============= X1= 0 -1 -1 -1 0 1 1 1 2130 LET S1=S1+X1 2140 REM ============= X2= 1 1 0 -1 -1 -1 0 1 2150 LET S2=S2+X2 2160 IF S1<1 OR S1>=9 OR S2<1 OR S2>=9 THEN 2370 2170 LET S8=((INT(S1)*8)+INT(S2))-8 2175 LET Z9=INT(S8*3) 2180 IF Q$(Z9-2,Z9)=L$ THEN 2250 2190 PRINT TAB(15);" *** HEY DUMMY ***" 2200 PRINT " YOU TRIED TO RUN INTO THE ";Q$(Z9-2,Z9); 2210 PRINT " AT SECTOR ";S1;S2 2220 LET S1=S1-X1 2230 LET S2=S2-X2 2240 GOTO 2260 2250 NEXT I 2260 LET A$=E$ 2270 LET Z1=S1 2280 LET Z2=S2 2290 GOSUB 4940 2300 LET E=E-N 2310 LET T=T+1 2320 IF T>T0+T9 THEN 4180 2330 LET Q3=Q1 2340 LET Q4=Q2 2350 IF E<0 THEN 5990 2360 GOTO 1540 2370 LET X=(Q1*8)+X+(X1*N) 2380 LET Y=(Q2*8)+Y+(X2*N) 2390 LET Q3=Q1 2400 LET Q4=Q2 2410 LET Q1=INT(X/8) 2420 LET Q2=INT(Y/8) 2430 IF Q1<1 OR Q2<1 THEN 2440 ELSE 2530 2440 LET S1=Z1 2450 LET S2=Z2 2460 LET Q1=Q3 2470 LET Q2=Q4 2480 PRINT "THAT COURSE AND WARP FACTOR WILL PUT YOU" 2490 PRINT " OUT OF THE GALAXEY...TRY AGAIN DUMMY." 2500 LET A$=E$ 2510 GOSUB 4940 2520 GOTO 1540 2530 IF Q1<9 THEN 2560 2540 IF X>72 THEN 2440 2550 LET Q1=Q1-1 2560 IF Q2<9 THEN 2590 2570 IF Y>72 THEN 2440 2580 LET Q2=Q2-1 2590 LET S1=INT(X-Q1*8) 2600 LET S2=INT(Y-Q2*8) 2610 IF S1<>0 THEN 2650 2620 LET Q1=Q1-1 2630 IF Q1=0 THEN 2440 2640 LET S1=8 2650 IF S2<>0 THEN 2690 2660 LET Q2=Q2-1 2670 IF Q2=0 THEN 2440 2680 LET S2=8 2690 LET T=T+1 2700 LET E=E-N 2710 IF T>T0+T9 THEN 4180 2720 IF E<0 THEN 5990 2730 GOTO 990 2740 IF D(3)>=0 THEN 2770 2750 PRINT "LONG RANGE SENSORS ARE INOPERABLE" 2760 GOTO 1560 2770 PRINT "LONG RANGE SENSOR SCAN FOR QUADRANT ";Q1;" , ";Q2 2780 FOR I=1 TO 3 2790 LET N(I)=0 2800 NEXT I 2810 PRINT "----------------------" 2815 LET I=Q1-2 2820 LET I=I+1 2825 LET J=Q2-2 2830 LET J=J+1 2840 IF I<1 OR I>8 THEN 2910 2850 IF J<1 OR J>8 THEN 2880 2860 LET N(J-Q2+2)=G(I,J) 2870 LET Z(I,J)=G(I,J) 2880 IF J=0 THEN 2990 2980 PRINT "COMPUTER FAILURE HAMPERS ACCURACY" 2990 PRINT "PHASERS LOCKED ON TARGET. TOTAL ENERGY = ";E 3000 PRINT "NUMBER OF UNITS TO FIRE: "; 3010 INPUT X 3020 IF X<=0 THEN 1560 3030 IF E-X<0 THEN 2970 3040 LET E=E-X 3050 IF D(7)>=0 THEN 3070 3060 LET X=X*RND(0) 3070 FOR I=1 TO 3 3080 IF K(I,3)<=0 THEN 3160 3090 LET H=(X/K3/FND(0))*(2*RND(0)): LET H=INT(H+.5) 3100 LET K(I,3)=K(I,3)-H 3110 PRINT H;" UNIT HIT ON AT SECTOR ";K(I,1);",";K(I,2); 3120 PRINT " ( ";K(I,3);" LEFT )" 3130 IF K(I,3)>0 THEN 3160 3140 GOSUB 5770 3150 IF K9<=0 THEN 4240 3160 NEXT I 3170 FOR I=1 TO 3 3180 IF K(I,3)<=0 THEN 3200 3190 GOSUB 5630 3200 NEXT I 3210 IF E<0 THEN 4200 3220 GOTO 1560 3230 IF D(5)>=0 THEN 3260 3240 PRINT "PHOTON TUBES ARE NOT OPERATIONAL" 3250 GOTO 1560 3260 IF P>0 THEN 3290 3270 PRINT "ALL PHOTON TORPEDOES EXPENDED" 3280 GOTO 1560 3290 PRINT "TORPEDO COURSE (1-9)---=> "; 3300 INPUT C1 3310 IF C1=0 THEN 1560 3320 IF C1<1 OR C1>=9 THEN 3290 3330 LET X1=C(C1,1)+(C(C1+1,1)-C(C1,1))*(C1-INT(C1)) 3340 LET X2=C(C1,2)+(C(C1+1,2)-C(C1,2))*(C1-INT(C1)) 3350 LET X=S1 3360 LET Y=S2 3370 LET P=P-1 3380 PRINT "TORPEDO TRACK;" 3390 LET X=X+X1 3400 LET Y=Y+X2 3410 IF X<1 OR X>=9 OR Y<1 OR Y>=9 THEN 3850 3420 PRINT " ";X," . ";Y 3430 LET A$=L$ 3440 LET Z1=X 3450 LET Z2=Y 3460 GOSUB 5080 3470 IF Z3=0 THEN 3490 3480 GOTO 3390 3490 LET A$=K$ 3500 LET Z1=X 3510 LET Z2=Y 3520 GOSUB 5080 3530 IF Z3=0 THEN 3640 3540 PRINT "*** KLINGON DESTROYED ***" 3550 LET K3=K3-1 3560 LET K9=K9-1 3570 IF K9<=0 THEN 4240 3580 FOR I=1 TO 3 3590 IF INT(X)<>K(I,1) THEN 3610 3600 IF INT(Y)=K(I,2) THEN EXIT 3620 3610 NEXT I 3620 LET K(I,3)=0 3630 GOTO 3790 3640 LET A$=S$ 3650 LET Z1=X 3660 LET Z2=Y 3670 GOSUB 5080 3680 IF Z3=0 THEN 3710 3690 PRINT "YOU FOOL YOU CAN NOT DESTROY STARS" 3700 GOTO 3850 3710 LET A$=B$ 3720 LET Z1=X 3730 LET Z2=Y 3740 GOSUB 5080 3750 IF Z3=0 THEN 3390 3760 PRINT "*** STAR BASE DESTROYED ***" 3770 PRINT " ....CONGRATULATIONS D U M M Y.... ***" 3780 LET B3=B3-1 3790 LET A$=L$ 3800 LET Z1=X 3810 LET Z2=Y 3820 GOSUB 4940 3830 LET G(Q1,Q2)=(K3*100)+(B3*10)+S3 3840 GOTO 3860 3850 PRINT "TORPEDO MISSED" 3860 GOSUB 5630 3870 IF E<0 THEN 4200 3880 GOTO 1560 3890 IF D(7)>=0 THEN 3920 3900 PRINT "SHIELD CONTROL IS NON-OPERATIONAL" 3910 GOTO 1560 3920 PRINT "ENERGY AVAILABLE = ";E+S; 3930 PRINT " NO. OF UNITS TO SHIELDS: "; 3940 INPUT X 3950 IF X<0 THEN 1560 3960 IF E+S-X<0 THEN 3920 3970 LET E=E+S-X 3980 LET S=X 3990 GOTO 1560 4000 IF D(6)>=0 THEN 4030 4010 PRINT "DAMAGE CONTROL REPORT IS NOT AVAILABLE" 4020 GOTO 1560 4030 PRINT "DEVICE STATE OF REPAIR" 4040 FOR R1=1 TO 8 4050 GOSUB 5880 4060 PRINT " ";D(R1) 4070 NEXT R1 4080 GOTO 1560 4090 PRINT "S.R. SENSORS REPORT NO KLINGONS IN THIS QUADRANT" 4100 GOTO 1560 4110 PRINT "THE ENTERPRISE IS DEAD IN SPACE." 4120 PRINT " IF YOU SURVIVE ALL IMPENDING ATTACKS," 4130 PRINT " YOU WILL BE DEMOTED TO THE RANK OF PRIVATE" 4140 IF K3<=0 THEN 4220 4150 REM ============= GET SHOT AT TILL DESTROYED 4160 GOSUB 5630 4170 GOTO 4140 4180 PRINT "IT IS STARDATE ";T 4190 GOTO 4210 4200 PRINT "THE ENTERPRISE HAS BEEN DESTROYED." 4210 PRINT "...THE FEDERATION WILL BE CONQUERED !!" 4220 PRINT "THERE ARE STILL ";K9;" KLINGON BATTLE CRUISERS LEFT." 4230 GOTO 5950 4240 PRINT "THE LAST KLINGON BATTLE CRUISER IN THE GALAXY" 4250 PRINT " HAS BEEN DESTROYED !!&J" 4260 PRINT " THE FEDERATION HAS BEEN SAVED !!!!!!!!!!!!!!!!&J" 4270 PRINT "YOUR EFFICENCY RATING = ";((K7/(T-T0))*1000) 4280 GOTO 5950 4290 IF D(8)>=0 THEN 4320 4300 PRINT "COMPUTER DISABLED" 4310 GOTO 1560 4320 PRINT "COMPUTER ACTIVE AND AWAITING COMMAND: (0-3): "; 4330 INPUT A 4340 IF A<0 OR A>3 THEN GOSUB 8000 ELSE LET A=INT(A) 4345 IF A<0 OR A>3 THEN 4320 4350 ON A+1 GOTO 4360,4450,4500,4920 4360 PRINT "COMPUTER RECORD OF GALAXY FOR QUADRANT ";Q1;" , ";Q2 4370 PRINT TAB(3);X$;M$;X$ 4380 FOR I=1 TO 8 4390 PRINT I;" ";X$;TAB(6);Z(I,1);TAB(12);Z(I,2);TAB(18);Z(I,3); 4400 PRINT TAB(24);Z(I,4);TAB(30);Z(I,5);TAB(36);Z(I,6); 4410 PRINT TAB(42);Z(I,7);TAB(48);Z(I,8);TAB(52);X$;I;" "; 4415 IF I=Q1 THEN PRINT "";Q1;Q2 ELSE PRINT Z$ 4420 NEXT I 4430 PRINT TAB(3);X$;M$;X$ 4440 GOTO 1560 4450 PRINT " STATUS REPORT" 4460 PRINT "NUMBER OF KLINGONS LEFT = ";K9 4470 PRINT "NUMBER OF STARDATES LEFT = ";T9-(T-T0) 4480 PRINT "NUMBER OF STARBASES LEFT = ";B9 4490 GOTO 4000 4500 LET H8=0 4510 FOR I=1 TO 3 4520 IF K(I,3)<=0 THEN 4900 4530 LET C1=S1 4540 LET A=S2 4550 LET W1=K(I,1) 4560 LET X=K(I,2) 4570 GOTO 4610 4580 PRINT " YOU ARE AT QUADRANT ";Q1;Q2;" SECTOR ";S1;S2 4590 PRINT "SHIP'S & TARGETS'S CORRDINATES ARE "; 4600 INPUT C1,A,W1,X 4610 LET X=X-A 4620 LET A=C1-W1 4630 IF X<0 THEN 4730 4640 IF A<0 THEN 4800 4650 IF X>0 THEN 4670 4660 IF A=0 THEN 4750 4670 LET C1=1 4680 IF INT(A)<=INT(X) THEN 4710 4690 PRINT "COURSE = ";C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A)) 4700 GOTO 4850 4710 PRINT "COURSE = ";C1+(ABS(A)/ABS(X)) 4720 GOTO 4850 4730 IF A>0 THEN 4780 4740 IF X=0 THEN 4800 4750 LET C1=5 4760 IF INT(A)>=INT(X) THEN 4710 4770 GOTO 4690 4780 LET C1=3 4790 GOTO 4810 4800 LET C1=7 4810 IF ABS(A)>=ABS(X) THEN 4840 4820 PRINT "COURSE = ";C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X)) 4830 GOTO 4850 4840 PRINT "COURSE = ";C1+(ABS(X)/ABS(A)) 4850 IF ABS(X)>=ABS(A) THEN 4880 4860 PRINT " DISTANCE= ";ABS(A) 4870 GOTO 4890 4880 PRINT " DISTANCE= ";ABS(X) 4890 IF H8=1 THEN 4910 4900 NEXT I 4910 GOTO 1560 4920 LET H8=1 4930 GOTO 4580 4940 REM ========= FIND THE CONTENTS OF A PARTICULAR SECTOR 4950 LET S8=ABS((INT(Z1)*8)+INT(Z2))-8 4960 LET Z9=INT(S8*3): LET Q$(Z9-2,Z9)=A$ 4970 RETURN 4980 REM ============= FIND ONE RANDOM EMPTY SECTOR 4990 LET R1=INT(RND(0)*8)+1 5000 LET R2=INT(RND(0)*8)+1 5010 LET A$=L$ 5020 LET Z1=R1 5030 LET Z2=R2 5040 GOSUB 5080 5050 REM ============= SECTOR OCCUPIED - TRY AGAIN 5060 IF Z3=0 THEN 4990 5070 RETURN 5080 REM ===== SECTOR COMPARISON ROUTINE:IF Z3=0 NO COMPARE 5090 LET S8=ABS((INT(Z1)*8)+INT(Z2))-8 5100 LET Z3=0: LET Z9=INT(S8*3) 5110 IF Q$(Z9-2,Z9)<>A$ THEN 5130 5120 LET Z3=1 5130 RETURN 5140 REM ============= DOCKING CHECK 5150 FOR I=S1-1 TO S1+1 5160 FOR J=S2-1 TO S2+1 5170 IF I<1 OR I>8 OR J<1 OR J>8 THEN 5230 5180 LET A$=B$ 5190 LET Z1=I 5200 LET Z2=J 5210 GOSUB 5080 5220 IF Z3=1 THEN 5270 5230 NEXT J 5240 NEXT I 5250 LET D0=0 5260 GOTO 5370 5270 LET D0=1 5280 LET C$="DOCKED" 5290 LET E=3000 5300 FOR I=1 TO 10 5310 LET D(I)=0 5320 NEXT I 5330 LET P=10 5340 PRINT "SHIELDS DROPPED FOR DOCKING PURPOSES" 5350 LET S=0 5360 GOTO 5440 5370 IF K3>0 THEN 5410 5380 IF E=0 THEN 5470 5450 PRINT "*** SHORT RANGE SENSORS ARE OUT ***" 5460 GOTO 5620 5470 PRINT "X-1- -2- -3- -4- -5- -6- -7- -8- X" 5480 FOR W=1 TO 192 STEP 3 5490 IF W=1 OR W=25 OR W=49 OR W=73 THEN PRINT X$; 5500 IF W=97 OR W=121 OR W=145 OR W=169 THEN PRINT X$; 5510 PRINT Q$(W,W+2);" "; 5520 IF W=22 THEN PRINT 1 5530 IF W=46 THEN PRINT 2;" STARDATE ";T 5540 IF W=70 THEN PRINT 3;" CONDITION ";C$ 5550 IF W=94 THEN PRINT 4;" QUADRANT ";Q1;Q2 5560 IF W=118 THEN PRINT 5;" SECTOR ";S1;S2 5570 IF W=142 THEN PRINT 6;" ENERGY ";INT(E) 5580 IF W=166 THEN PRINT 7;" PHOTON TORPEDOES ";P 5590 IF W=190 THEN PRINT 8;" SHIELDS ";INT(S) 5600 NEXT W 5610 PRINT "X-1- -2- -3- -4- -5- -6- -7- -8- X" 5620 LET Z(Q1,Q2)=G(Q1,Q2): RETURN 5630 REM ====5======== ***SHOOT BACK*** 5640 IF C$<>"DOCKED" THEN 5670 5650 PRINT "STAR BASE SHIELDS PROTECT THE ENTERPRISE" 5660 RETURN 5670 IF K3<=0 THEN 5760 5680 REM .J0$="%%%% UNIT HIT ON FROM SECTOR %,% (%%%% LEFT)" 5690 FOR I=1 TO 3 5700 IF K(I,3)<=0 THEN 5750 5705 IF FND(D+.01)=0 THEN 5750 5710 LET H=(K(I,3)/FND(D+.01))*(2+RND(0)): LET H=INT(H+.5) 5720 LET S=S-H 5730 PRINT H;" UNIT HIT ON FROM SECTOR ";K(I,1);",";K(I,2);" ( ";S;" LEFT )" 5740 IF S<0 THEN 4200 5750 NEXT I 5760 RETURN 5770 REM ============= *** KLINGON KILL MAYBE ***** 5780 PRINT "KLINGON AT SECTOR ";K(I,1);" , ";K(I,2) 5790 PRINT TAB(10);" *** DESTROYED ***" 5800 LET K3=K3-1 5810 LET K9=K9-1 5820 LET A$=L$ 5830 LET Z1=K(I,1) 5840 LET Z2=K(I,2) 5850 GOSUB 4940 5860 LET G(Q1,Q2)=(K3*100)+(B3*10)+S3 5870 RETURN 5880 REM ============= *** PRINT DEVICE NAME FROM ARRAY *** 5890 LET S8=INT(R1*12) 5900 IF S8>72 THEN 5930 5910 PRINT D$(INT(S8)-11,INT(S8)); 5920 GOTO 5940 5930 PRINT D$(INT((S8)-11),INT(S8)); 5940 RETURN 5950 PRINT "DO YOU WISH TO TRY AGAIN? ( Y or N ) ---=>"; 5960 INPUT (1,0)A$: IF LEN(A$)=0 THEN LET A$="Y" 5970 IF A$="Y" THEN 5980 ELSE 6090 5980 RESTORE : CLEAR : GOTO 10: REM ..... CHAIN STTR2 5990 LET A$=L$ 6000 GOSUB 4940 6010 LET N=E5 6020 LET S1=Z1 6030 LET S2=Z2 6040 LET Q1=Q3 6050 LET Q2=Q4 6060 LET E=E5 6070 PRINT " SORRY YOU RAN OUT OF ENERGY" 6080 GOTO 2060 6090 STOP 7000 PRINT " COMMAND 0 = MOVE " 7010 PRINT " COMMAND 1 = SEE WHERE YOU ARE (QUADRANT SCAN)" 7020 PRINT " COMMAND 2 = LONGE RANGE SCAN ( 9 QUADRANTS )" 7030 PRINT " COMMAND 3 = SHOOT PHAZERS" 7040 PRINT " COMMAND 4 = SHOOT PHOTONS" 7050 PRINT " COMMAND 5 = CHANGE SHIELD POWER" 7060 PRINT " COMMAND 6 = DAMAGE STATUS" 7070 PRINT " COMMAND 7 = CONSULT THE COMPUTOR",Z$,Z$,Z$,Z$ 7080 PRINT " *** -1 GIVES SUMMARY OF COMPUTOR OPTIONS ***" 7090 RETURN 8000 PRINT " COMPUTOR COMMAND 0 = MAP OF 64 QUADRANT GALAXY" 8010 PRINT " COMPUTOR COMMAND 1 = GAME STATUS" 8020 PRINT " COMPUTOR COMMAND 2 = GIVES TORPEDO COURSES TO ALL " 8030 PRINT " COMPUTOR COMMAND 3 = TRAJECTORY + DIST. BETWEEN QUADRANTS" 8040 PRINT 9000 END