--- /dev/null
+1 PRINT "U. OF TEXAS STAR TREK GAME BY GRADY HICKS AND JIM KORP."
+2 PRINT "GENERAL IDEA STOLEN FROM PENN. U. BY HICKS."
+3 PRINT "VASTLY IMPROVED, AND ADAPTED TO TAURUS BY KORP, 5 APRIL 73."
+4 GOSUB 9980
+5 PRINT " BE CAREFUL AND HAVE A GOOD TIME."
+6 PRINT
+7 PRINT
+8 X8=RND(0)
+9 DIM Q$(10)
+10 DIM G(8,8),Q(8,8),D(8),K(9,3),N(3)
+11 DIM C$(20)
+12 GOSUB 8050
+13 PRINT " TO PLAY SHORT VERSION, TYPE 1 ---"
+14 PRINT " TO PLAY REGULAR VERSION, TYPE 2:";
+15 INPUT V
+16 IF V = 1 THEN 20
+17 IF V = 2 THEN 20
+18 PRINT
+19 GOTO 13
+20 T0=INT(RND(0)*20+20)*100
+21 T=T0
+22 T9=40
+23 E0=3000
+24 E=3000
+25 P0=10
+26 P=10
+27 S9=200
+29 GOSUB 8200
+30 DEF FNO(F)=SQR((K(F,1)-S1)^2+(K(F,2)-S2)^2)
+32 Q1=INT(RND(0)*8+1)
+34 Q2=INT(RND(0)*8+1)
+35 F=1
+40 FOR I=1 TO 7
+42 D(I)=0
+44 NEXT I
+62 S1=INT(RND(0)*8+1)
+64 S2=INT(RND(0)*8+1)
+65 DIM F$(12)
+66 DIM N$(15)
+72 REM: SET UP GALAXY
+75 B9=0
+76 LET E4=W3=A9=C5=0
+77 Z$="DOWN"
+80 K9=0
+85 FOR I=1 TO 8
+90 FOR J=1 TO 8
+91 R=RND(0)*64
+95 IF V=2 THEN 150
+100 T9=20
+
+110 IF R>=.28 THEN 114
+111 K3=4
+112 GOTO 135
+114 IF R>=1.78 THEN 118
+115 K3=3
+116 GOTO 135
+118 IF R>=5.28 THEN 122
+119 K3=2
+120 GOTO 135
+122 IF R>=9.28 THEN 130
+123 K3=1
+124 GOTO 135
+130 K3=0
+135 K9=K9+K3
+145 GOTO 206
+150 REM: DETERMINE NUMBER OF KLINGONS, BASES AND STARS.
+152 IF R>=.01 THEN 156
+153 K3=9
+154 GOTO 195
+156 IF R>=.10 THEN 160
+157 K3=8
+158 GOTO 195
+160 IF R>=.30 THEN 164
+161 K3=7
+162 GOTO 195
+164 IF R>=.80 THEN 168
+165 K3=6
+166 GOTO 195
+168 IF R>=1.25 THEN 172
+169 K3=5
+170 GOTO 195
+172 IF R>=2.00 THEN 176
+173 K3=4
+174 GOTO 195
+176 IF R>=5.28 THEN 180
+177 K3=3
+178 GOTO 195
+180 IF R>=8.28 THEN 183
+181 K3=2
+182 GOTO 195
+183 IF R>=13.28 THEN 190
+184 K3=1
+185 GOTO 195
+190 K3=0
+195 K9=K9+K3
+200 B3=RND(0)
+202 IF B3<=.97 THEN 206
+204 B3=1
+205 GOTO 221
+206 B3=0
+221 B9=B9+B3
+230 S3=INT(RND(0)*8+1)
+235 G(I,J)=K3*100+B3*10+S3
+250 NEXT J
+260 NEXT I
+265 K0=K9
+270 IF B9>0 THEN 285
+271 I=INT(RND(0)*8+1)
+272 J=INT(RND(0)*8+1)
+275 G(I,J)=G(I,J)+10
+276 B9=1
+285 LET P2=1
+294 PRINT
+295 PRINT " PLEASE TYPE A SECRET PASSWORD:";
+296 INPUT X$
+297 PRINT
+298 LET N1=N9=N7=A7=0
+300 REM: DETERMINE KLINGON COMMANDER
+302 IF A9<>0 THEN 320
+304 R1=INT(RND(0)*8+1)
+306 R2=INT(RND(0)*8+1)
+308 C2=R1
+310 C3=R2
+312 G(C2,C3)=G(C2,C3)+100
+314 K9=K9+1
+315 K0=K9
+316 A9=A9+1
+320 REM: CONTINUE
+399 GOTO 9045
+400 REM: SET UP QUADRANT
+405 K3=B3=S3=0
+410 IF Q1<1 THEN 500
+420 IF Q1>8 THEN 500
+430 IF Q2<1 THEN 500
+440 IF Q2>8 THEN 500
+450 X=G(Q1,Q2)/99.999
+460 K3=INT(X)
+470 B3=INT((X-K3)*10.0)
+480 S3=G(Q1,Q2)-INT(G(Q1,Q2)*.1)*10
+490 'MAT K=ZER
+491 FOR I=1 TO 8
+492 FOR J=1 TO 8
+493 Q(I,J)=0
+494 NEXT J
+495 NEXT I
+500 FOR I=1 TO 8
+510 FOR J=1 TO 8
+520 Q(I,J)=0
+530 NEXT J
+540 NEXT I
+545 IF N1<>1 THEN 550
+548 Q(S1,S2)=5
+549 GOTO 560
+550 Q(S1,S2)=1
+560 FOR I=1 TO K3
+570 GOSUB 9000
+580 Q(R1,R2)=2
+590 K(I,1)=R1
+591 K(I,2)=R2
+593 K(I,3)=S9
+600 NEXT I
+601 IF Q1<>C2 THEN 610
+602 IF Q2<>C3 THEN 610
+603 K(I,3)=800
+605 Q(K(I,1),K(I,2))=6
+610 FOR I=1 TO B3
+620 GOSUB 9000
+630 Q(R1,R2)=3
+640 NEXT I
+650 FOR I=1 TO S3
+660 GOSUB 9000
+670 Q(R1,R2)=4
+680 NEXT I
+690 A=-1
+691 IF P2=1 THEN 700
+693 GOSUB 5000
+694 IF E<=0 THEN 5200
+699 GOTO 955
+700 REM: SHORT RANGE SENSOR SCAN
+702 P2=P2+1
+705 LET T8=S1-1
+706 LET U=S1+1
+707 LET M=S2-1
+708 LET N=S2+1
+709 IF T8>=1 THEN 711
+710 T8=1
+711 IF U<=8 THEN 713
+712 U=8
+713 IF M>=1 THEN 715
+714 M=1
+715 IF N<=8 THEN 720
+716 N=8
+720 FOR I=T8 TO U
+725 FOR J=M TO N
+735 IF Q(I,J)<>3 THEN 740
+736 C$="DOCKED"
+737 GOSUB 7700
+739 GOTO 801
+740 NEXT J
+745 NEXT I
+770 IF K3>0 THEN 790
+775 IF E<E0*.1 THEN 800
+780 C$="GREEN"
+785 GOTO 801
+790 C$="RED"
+795 GOTO 801
+800 C$="YELLOW"
+801 IF A<0 THEN 803
+802 GOTO 804
+803 GOSUB 5000
+804 IF E<=0 THEN 5200
+805 IF D(2) >= 0 THEN 830
+815 PRINT "SHORT RANGE SENSORS ARE OUT "
+820 PRINT
+825 GOTO 955
+830 PRINT "----------------------"
+835 FOR I=1 TO 8
+836 FOR J=1 TO 8
+838 PRINT Q$(Q(I,J)+1);" ";
+840 NEXT J
+841 PRINT " ";
+845 GOSUB 854
+847 NEXT I
+848 PRINT "--------------------------"
+849 GOTO 955
+854 IF I>1 THEN 859
+855 PRINT "STARDATE "T
+856 GOTO 900
+859 IF I>2 THEN 864
+860 PRINT "CONDITION "C$
+861 GOTO 900
+864 IF I>3 THEN 869
+865 PRINT "QUADRANT "Q1;"-"Q2
+866 GOTO 900
+869 IF I>4 THEN 874
+870 PRINT "SECTOR "S1;"-"S2
+871 GOTO 900
+874 IF I>5 THEN 879
+875 PRINT "ENERGY "E
+876 GOTO 900
+879 IF I>6 THEN 884
+880 PRINT "PHOTON TORPEDOES "P
+881 GOTO 900
+884 IF I>7 THEN 890
+885 PRINT "KLINGONS LEFT "K9
+886 GOTO 900
+890 PRINT "ENERGY SHIELDS "Z$
+900 RETURN
+955 IF N9<>1 THEN 959
+956 GOSUB 7950
+957 IF N7=1 THEN 3582
+958 N9=2
+959 PRINT "COMMAND:";
+960 INPUT A
+961 IF C$<>"DOCKED" THEN 964
+962 GOSUB 7700
+964 GOTO 7100
+974 PRINT
+975 PRINT " 0 = SET COURSE"
+980 PRINT " 1 = SHORT RANGE SENSOR SCAN"
+985 PRINT " 2 = LONG RANGE SENSOR SCAN"
+990 PRINT " 3 = FIRE PHASERS"
+995 PRINT " 4 = FIRE PHOTON TORPEDOES"
+1000 PRINT " 5 = DAMAGE CONTROL REPORT"
+1005 PRINT " 6 = SELF-DESTRUCT"
+1006 PRINT " 7 = ABANDON SHIP"
+1007 PRINT " 8 = ACTIVATE ENERGY SHIELDS"
+1008 PRINT " 9 = DEACTIVATE ENERGY SHIELDS"
+1009 PRINT " 10 = FIRE EXPERIMENTAL DEATH RAY"
+1018 IF H6=1 THEN 9946
+1019 PRINT
+1020 GOTO 955
+1030 REM: WARP DRIVE
+1035 C$="MOVING"
+1040 PRINT "COURSE (1-8.9999):";
+1050 INPUT C1
+1060 IF C1=0 THEN 955
+1070 IF C1<1 THEN 959
+1080 IF C1>= 9 THEN 1040
+1090 PRINT "WARP FACTOR (0-12):";
+1100 INPUT W1
+1110 IF W1<0 THEN 959
+1120 IF W1>12 THEN 959
+1130 IF W1<=.25 THEN 1163
+1140 IF D(1) >= 0 THEN 1163
+1150 PRINT "WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = WARP .25"
+1160 GOTO 1040
+1163 GOTO 7500
+1164 E=E-C5
+1165 IF E<=0 THEN 5200
+1168 IF W1=12 THEN 3500
+1170 REM: THIS IS A CONTINUE CARD
+1180 GOSUB 5000
+1185 IF N9=1 THEN 955
+1190 IF E <=0 THEN 5230
+1200 FOR I=1 TO 7
+1215 IF D(I)=0 THEN 1230
+1220 D(I)=D(I)+2
+1222 IF D(I)<0 THEN 1230
+1225 D(I)=0
+1230 NEXT I
+1240 IF RND(0)>.20 THEN 1320
+1250 R1=INT(RND(0)*7+1)
+1260 IF RND(0)>.5 THEN 1300
+1270 D(R1)=D(R1)-(RND(0)*5+1)
+1280 PRINT "*** SPACE STORM, ";
+1281 GOSUB 6000
+1283 PRINT F$" DAMAGED ***"
+1290 GOTO 1320
+1300 FOR I=R1 TO 7
+1301 IF D(I)<0 THEN 1307
+1302 NEXT I
+1303 FOR I=1 TO R1-1
+1304 IF D(I)<0 THEN 1307
+1305 NEXT I
+1306 GOTO 1320
+1307 R1=I
+1308 D(I)=D(I)+RND(0)*5+1
+1309 IF D(I)<=0 THEN 1311
+1310 D(I)=0
+1311 PRINT "*** TEMPORARY TRUCE, ";
+1312 GOSUB 6000
+1313 PRINT F$" STATE OF REPAIR IMPROVED ***"
+1320 N=INT(W1*8)
+1322 E=E-N-N+5
+1324 T=T+1
+1326 Q(S1,S2)=0
+1327 X=S1
+1328 Y=S2
+1330 IF T>T0+T9 THEN 5200
+1340 GOSUB 3460
+1350 FOR I=1 TO N
+1352 S1=S1+X1
+1354 S2=S2+X2
+1356 X3=INT(S1+.5)
+1357 Y3=INT(S2+.5)
+1370 IF S1<.5 THEN 1480
+1375 IF S2<.5 THEN 1480
+1380 IF S1>=8.5 THEN 1480
+1385 IF S2>=8.5 THEN 1480
+1388 IF Q(X3,Y3)<>0 THEN 1392
+1390 NEXT I
+1391 GOTO 1460
+1392 LET Z5=Q(X3,Y3)
+1393 IF Z5=6 THEN 6300
+1394 IF Z5<>2 THEN 1405
+1400 GOTO 6300
+1405 PRINT
+1406 GOSUB 7900
+1407 PRINT N$;"BLOCKED BY OBJECT AT SECTOR"S1;"-"S2
+1408 S1=S1-X1
+1410 S2=S2-X2
+1460 S1=INT(S1+.5)
+1465 S2=INT(S2+.5)
+1467 Q(S1,S2)=A5
+1470 GOTO 955
+1480 Q1=INT(Q1+W1*X1+(X-.5)/8)
+1481 Q2=INT(Q2+W1*X2+(Y-.5)/8)
+1482 IF Q1>=1 THEN 1485
+1483 Q1=1
+1484 Z2=1
+1485 IF Q1<=8 THEN 1488
+1486 Q1=8
+1487 Z2=1
+1488 IF Q2>=1 THEN 1491
+1489 Q2=1
+1490 Z2=1
+1491 IF Q2<=8 THEN 1494
+1492 Q2=8
+1493 Z2=1
+1494 IF Z2<>1 THEN 1497
+1496 GOSUB 8970
+1497 PRINT
+1498 IF G(Q1,Q2)>999 THEN 7650
+1499 Z2=0
+1500 S1=INT(RND(0)*8+1)
+1510 S2=INT(RND(0)*8+1)
+1550 GOTO 400
+1600 REM: LONG RANGE SENSOR SCAN
+1610 IF D(3) >= 0 THEN 1640
+1620 PRINT "LONG RANGE SENSORS ARE INOPERABLE"
+1625 PRINT
+1630 GOTO 955
+1640 PRINT "LONG RANGE SENSOR SCAN FOR QUADRANT"Q1","Q2
+1645 PRINT "----------------- '"
+1660 FOR I=Q1-1 TO Q1+1
+1670 N(1)=N(2)=N(3)=0
+1680 FOR J=Q2-1 TO Q2+1
+1690 IF I<1 THEN 1740
+1700 IF I>8 THEN 1740
+1710 IF J<1 THEN 1740
+1720 IF J>8 THEN 1740
+1730 N(J-Q2+2)=G(I,J)
+1740 NEXT J
+1750 PRINT ":"N(1);":"N(2);":"N(3)
+1760 PRINT "------------------- '"
+1770 NEXT I
+1775 PRINT
+1780 GOTO 955
+1800 REM: PHASER CONTROL
+1810 IF D(4) >= 0 THEN 1832
+1820 PRINT "PHASER CONTROL IS DISABLED"
+1825 PRINT
+1830 GOTO 955
+1832 IF C5=0 THEN 1840
+1834 PRINT "YOU MUST LOWER YOUR ENERGY SHIELDS TO FIRE."
+1836 PRINT
+1837 GOTO 959
+1840 PRINT "PHASERS LOCKED ON TARGET. ENERGY AVAILABLE = "E
+1850 PRINT "NUMBER OF UNITS TO FIRE:";
+1860 INPUT X
+1870 IF X <= 0 THEN 955
+1880 IF E-X<0 THEN 1840
+1890 E=E-X
+1895 IF K3=0 THEN 2010
+1898 W2=K3
+1900 FOR I=1 TO 9
+1910 IF K(I,3) <= 0 THEN 1990
+1929 H=(X)/(FNO(I))*(3.0+RND(0))
+1930 K(I,3)=K(I,3)-(H/W2)
+1940 PRINT H/W2;"UNIT HIT ON KLINGON AT SECTOR"K(I,1);"-"K(I,2)
+1950 PRINT "("K(I,3);"LEFT)"
+1960 IF K(I,3)>0 THEN 1990
+1970 GOSUB 4500
+1980 IF K9 <= 0 THEN 5300
+1990 NEXT I
+1995 IF K3<=0 THEN 2020
+2000 GOSUB 5000
+2010 IF E <= 0 THEN 5250
+2020 GOTO 955
+3000 REM: PHOTON TORPEDOES
+3010 IF D(5) >= 0 THEN 3040
+3020 PRINT "PHOTON TUBES ARE NOT OPERATIONAL"
+3025 PRINT
+3030 GOTO 955
+3040 IF P>0 THEN 3062
+3050 PRINT "ALL PHOTON TORPEDOES EXPENDED"
+3060 GOTO 955
+3062 IF C5=0 THEN 3068
+3064 PRINT "YOU MUST LOWER YOUR ENERGY SHIELDS TO FIRE."
+3066 PRINT
+3067 GOTO 959
+3068 PRINT "DO YOU WISH TO FIRE A SPREAD:";
+3069 INPUT M$
+3070 PRINT "TORPEDO COURSE (1-8.9999):";
+3080 INPUT C1
+3090 IF C1=0 THEN 955
+3100 IF C1<1 THEN 3070
+3110 IF C1>=9 THEN 3070
+3111 IF P<3 THEN 3120
+3116 IF M$="YES" THEN 6500
+3120 GOSUB 3460
+3130 X=S1
+3132 Y=S2
+3134 P=P-1
+3140 PRINT "TORPEDO TRACK:";
+3150 X=X+X1
+3155 Y=Y+X2
+3160 IF X<.5 THEN 3422
+3165 IF Y<.5 THEN 3422
+3170 IF X>=8.5 THEN 3422
+3175 IF Y>=8.5 THEN 3422
+3200 PRINT X;"-"Y;
+3202 X5=INT(X+.5)
+3204 Y5=INT(Y+.5)
+3210 IF Q(X5,Y5)<>0 THEN 3230
+3220 GOTO 3150
+3230 LET F7=Q(X5,Y5)
+3236 IF F7=1 THEN 3150
+3237 IF F7=2 THEN 3244
+3238 IF F7=3 THEN 3301
+3239 IF F7=4 THEN 3323
+3240 IF F7=6 THEN 3244
+3244 PRINT
+3245 PRINT "*** KLINGON DESTROYED ***"
+3250 K3=K3-1
+3255 K9=K9-1
+3260 IF K9<=0 THEN 5300
+3271 FOR I=1 TO 9
+3272 IF K(I,1)<>X5 THEN 3275
+3273 IF K(I,2)<>Y5 THEN 3275
+3274 GOTO 3400
+3275 NEXT I
+3301 Q(X5,Y5)=0
+3310 PRINT
+3311 PRINT "*** STARBASE DESTROYED ... CONGRATULATIONS ***"
+3313 B3=B3-1
+3315 GOTO 3410
+3323 Q(X5,Y5)=0
+3334 PRINT
+3335 PRINT "***STAR DESTROYED***"
+3340 S3=S3-1
+3345 IF S3>=0 THEN 3410
+3347 S3=0
+3350 GOTO 3410
+3400 K(I,3)=0
+3401 Q(X5,Y5)=0
+3410 G(Q1,Q2)=K3*100+B3*10+S3
+3420 GOTO 3430
+3422 PRINT
+3425 PRINT "TORPEDO MISSED"
+3430 IF E4=0 THEN 3439
+3432 E4=E4+1
+3433 IF E4>3.5 THEN 3438
+3435 GOTO 6520
+3438 IF K3<=0 THEN 3445
+3439 GOSUB 5000
+3440 IF E <= 0 THEN 5230
+3445 E4=0
+3450 GOTO 955
+3460 X2=COS((C1-1)*.785398)
+3470 X1=-SIN((C1-1)*.785398)
+3480 RETURN
+3500 W9=RND(0)
+3502 IF T>T0+15 THEN 3510
+3504 PRINT "WARP 12 CANNOT BE USED UNTIL STARDATE"T0+16
+3506 GOTO 1040
+3510 PRINT "SPEED APPROACHING WARP 12."
+3520 PRINT "ENGINES OPERATING ABOVE DANGER LEVEL."
+3530 PRINT "ALL SAFETY DEVICES DISFUNCTIONAL."
+3540 PRINT "CRITICAL OVERHEATING--SPONTANEOUS IMPLOSION IMMINENT."
+3570 IF W9>.40 THEN 3600
+3575 FOR I=1 TO 2
+3576 PRINT "*****************************************************"
+3577 NEXT I
+3578 GOSUB 7900
+3580 PRINT "*** ENTROPY OF"N$;"MAXIMIZED **************"
+3582 GOSUB 9980
+3583 PRINT " YOU ATE THAT ONE."
+3584 GOTO 9992
+3600 IF W9>.55 THEN 3700
+3610 PRINT
+3620 PRINT " YOU ARE TRAVELLING BACK IN TIME."
+3630 T=T-6
+3640 PRINT "*** STARDATE ="T+1
+3650 GOTO 1170
+3700 IF W9>.60 THEN 3800
+3710 PRINT
+3720 PRINT " YOU ARE TRAVELLING BACK IN TIME."
+3730 T=T-11
+3740 PRINT "*** STARDATE ="T+1
+3750 GOTO 1170
+3800 IF W9>.70 THEN 3900
+3810 PRINT
+3820 PRINT " YOU ARE TRAVELLING FORWARD IN TIME."
+3830 T=T+5
+3840 IF T>T0+T9 THEN 5200
+3850 PRINT "*** STARDATE ="T
+3860 GOTO 1170
+3900 PRINT
+3910 PRINT "NUCLEAR REACTOR CHAIN REACTION QUENCHED."
+3920 PRINT "*** TIME PORTAL MISSED ***"
+3930 GOTO 1170
+4000 REM: DAMAGE CONTROL REPORT
+4010 IF D(6) >= 0 THEN 4040
+4020 PRINT "DAMAGE CONTROL REPORT IS NOT AVAILABLE"
+4025 PRINT
+4030 GOTO 955
+4040 PRINT
+4050 PRINT "DEVICE STATE OF REPAIR"
+4060 FOR I=1 TO 7
+4065 R5=I-.5
+4066 GOSUB 6000
+4070 PRINT F$,D(I)
+4080 NEXT I
+4090 PRINT
+4100 GOTO 955
+4200 REM:
+4500 PRINT "*** KLINGON AT SECTOR"K(I,1);"-"K(I,2);"DESTROYED."
+4510 K3=K3-1
+4520 K9=K9-1
+4530 Q(K(I,1),K(I,2))=0
+4540 G(Q1,Q2)=K3*100+B3*10+S3
+4550 RETURN
+5000 REM: KLINGON ATTACK
+5002 GOSUB 7900
+5003 IF K3<=0 THEN 5110
+5005 IF C$ <> "DOCKED" THEN 5017
+5010 PRINT "STARBASE SHIELDS PROTECT THE"N$
+5012 RETURN
+5017 IF C5=0 THEN 5022
+5018 PRINT "** KLINGONS ATTACK-- ENERGY SHIELDS PROTECT"N$
+5020 GOTO 5110
+5022 IF K3*150<E THEN 5049
+5023 IF N1<>0 THEN 5049
+5024 PRINT
+5025 PRINT " KLINGON COMMANDER TO ENTERPRISE---"
+5026 PRINT "AS YOU WELL KNOW, YOU ARE DANGEROUSLY LOW ON ENERGY"
+5027 PRINT "AND WILL PROBABLY BE DESTROYED BY MY NEXT ATTACK."
+5028 PRINT "AS AN OFFICER AND GENTLEMAN, I OFFER YOU A CHANCE TO"
+5029 PRINT "SAVE YOURSELF AND YOUR CREW----"
+5032 PRINT " DO YOU SURRENDER:";
+5033 INPUT S$
+5034 IF S$<>"YES" THEN 5049
+5035 A7=1
+5036 N9=1
+5038 GOTO 5110
+5049 PRINT
+5050 FOR I=1 TO 9
+5051 IF K(I,3) <= 0 THEN 5100
+5060 H=(K(I,3)/FNO(I))*(2+RND(0))
+5070 E=E-H
+5075 GOSUB 7900
+5080 PRINT H;"UNIT HIT ON"N$;"FROM KLINGON, SECTOR "K(I,1);"-"K(I,2)
+5082 IF H<=180 THEN 5090
+5083 R5=INT(RND(0)*7+1)
+5084 D(R5)=D(R5)-(RND(0)*5+1)
+5085 PRINT "*** CRITICAL HIT,";
+5086 GOSUB 6000
+5087 PRINT F$" DAMAGED ***"
+5090 PRINT "("E;"LEFT)"
+5100 NEXT I
+5105 PRINT
+5110 RETURN
+5200 REM: LOSE
+5210 GOSUB 9985
+5220 PRINT "IT IS STARDATE"T
+5230 PRINT
+5250 GOSUB 7900
+5255 PRINT "THE"N$;"HAS BEEN DESTROYED."
+5260 PRINT "THERE ARE STILL"K9;"KLINGON BATTLE CRUISERS."
+5270 PRINT "THE FEDERATION WILL BE CONQUERED."
+5280 PRINT "YOU ARE DEAD, YOU INCOMPETENT FOOL."
+5290 GOTO 9992
+5300 REM: WIN
+5310 GOSUB 9985
+5320 PRINT "IT IS STARDATE"T
+5330 PRINT "THE LAST KLINGON BATTLE CRUISER IN THE GALAXY HAS BEEN"
+5331 PRINT "DESTROYED."
+5340 PRINT "THE FEDERATION HAS BEEN SAVED."
+5350 PRINT "YOU HAVE BEEN PROMOTED TO COMMODORE EMERITUS."
+5355 IF N1<>0 THEN 5380
+5360 PRINT K0;"KLINGONS IN"T-T0;"YEARS. RATING="INT(K0/(T-T0)*1000)
+5370 GOTO 9992
+5380 PRINT K0;"KLINGONS IN"T-T0;"YEARS."
+5382 IF A7=5 THEN 5392
+5385 PRINT "ENTERPRISE CAPTURED."
+5390 PRINT "RATING ="INT(K0/(T-T0)*1000-1000)
+5391 GOTO 9992
+5392 PRINT "ENTERPRISE DESTROYED INTENTIONALLY."
+5393 PRINT "RATING ="INT(K0/(T-T0)*1000-500)
+5395 GOTO 9992
+6000 REM: SELECT DAMAGED DEVICE
+6002 IF A+1<>1 THEN 6010
+6004 R5=R1
+6010 IF R5>1 THEN 6040
+6020 F$="WARP ENGINES"
+6030 GOTO 8000
+6040 IF R5>2 THEN 6070
+6050 F$="S.R. SENSORS"
+6060 GOTO 8000
+6070 IF R5>3 THEN 6090
+6075 F$="L.R. SENSORS"
+6080 GOTO 8000
+6090 IF R5>4 THEN 6100
+6093 F$="PHASER CNTRL"
+6097 GOTO 8000
+6100 IF R5>5 THEN 6110
+6103 F$="PHOTON TUBES"
+6107 GOTO 8000
+6110 IF R5>6 THEN 6115
+6111 F$="DAMAGE CNTRL"
+6112 GOTO 8000
+6115 F$="ENERGY SHLDS"
+6118 GOTO 8000
+6300 REM: RAMMING KLINGON
+6301 PRINT
+6302 Q(S1,S2)=0
+6304 K3=K3-1
+6305 K9=K9-1
+6310 Z$="DOWN"
+6318 FOR I=1 TO 9
+6320 IF K(I,1)<>X3 THEN 6330
+6322 IF K(I,2)<>Y3 THEN 6330
+6323 Z6=K(I,1)
+6324 Z7=K(I,2)
+6325 GOTO 6360
+6330 NEXT I
+6360 K(I,3)=0
+6362 GOSUB 7900
+6363 Q(X3,Y3)=A5
+6365 GOTO 6370
+6370 G(Q1,Q2)=K3*100+B3*10+S3
+6380 PRINT "*** EMERGENCY ALERT ***"
+6381 PRINT "*** COLLISION IMMINENT ***"
+6382 GOSUB 9980
+6383 GOSUB 7900
+6384 PRINT N$;"RAMS KLINGON AT SECTOR"Z6;"-"Z7
+6385 PRINT "*** KLINGON DESTROYED,"N$;"HEAVILY DAMAGED. ***"
+6386 FOR I=1 TO 7
+6387 D(I)=D(I)-(RND(0)*4+1)
+6388 NEXT I
+6389 C5=0
+6390 E=E-500
+6391 IF K9<=0 THEN 5300
+6395 IF E<=0 THEN 5230
+6396 S1=Z6
+6397 S2=Z7
+6398 A=2
+6399 GOTO 4040
+6500 REM: TORPEDO SPREAD FORMATION
+6507 PRINT "SPREAD ANGLE (0.05-0.30):";
+6508 INPUT E5
+6509 IF E5=0 THEN 959
+6510 IF E5<0.05 THEN 6507
+6511 IF E5>0.30 THEN 6507
+6515 E4=1
+6520 PRINT "NUMBER"E4;
+6522 IF E4>1.5 THEN 6530
+6524 C1=C1-E5
+6525 GOTO 3120
+6530 C1=C1+E5
+6535 GOTO 3120
+7100 REM: COMMAND LINK
+7105 IF A+1 = 1 THEN 1030
+7106 IF A+1 = 2 THEN 700
+7107 IF A+1 = 3 THEN 1600
+7108 IF A+1 = 4 THEN 1800
+7109 IF A+1 = 5 THEN 3000
+7110 IF A+1 = 6 THEN 4000
+7111 IF A+1 = 7 THEN 8100
+7112 IF A+1 = 8 THEN 7400
+7113 IF A+1 = 9 THEN 7800
+7114 IF A+1 = 10 THEN 7850
+7115 IF A+1 = 11 THEN 7200
+7125 GOTO 974
+7200 REM: DEATH RAY
+7202 IF T>T0+18 THEN 7208
+7204 PRINT " DEATH RAY CANNOT BE USED UNTIL STARDATE"T0+19
+7205 PRINT
+7206 GOTO 959
+7208 IF W3<.05 THEN 7215
+7210 PRINT " DEATH RAY PERMANENTLY OUT OF ORDER."
+7212 PRINT
+7214 GOTO 959
+7215 IF C5=0 THEN 7225
+7220 PRINT " YOU MUST LOWER YOUR SHIELDS TO FIRE."
+7222 PRINT
+7223 GOTO 959
+7225 W3=RND(0)
+7227 PRINT
+7228 IF W3>.35 THEN 7260
+7230 PRINT " *ANTI-MATTER OVERLOAD."
+7231 PRINT " TEMPORARY PSUEDO-STARS CREATED FROM ENERGY."
+7232 FOR I=1 TO 8
+7233 FOR J=1 TO 8
+7235 IF Q(I,J)<>0 THEN 7240
+7238 Q(I,J)=4
+7240 NEXT J
+7241 NEXT I
+7245 PRINT
+7247 GOTO 830
+7260 IF W3>.50 THEN 7280
+7263 PRINT "*** DEATH RAY BACKFIRES ***"
+7265 PRINT "*** BETTER LUCK NEXT TIME ***"
+7270 GOTO 3575
+7280 IF W3>.60 THEN 7310
+7283 PRINT "*** DEATH RAY ANNIHILATES ALL KLINGONS IN QUADRANT"Q1;"-"Q2
+7285 K9=K9-K3
+7286 IF K9<=0 THEN 5300
+7287 FOR I=1 TO 8
+7288 FOR J=1 TO 8
+7289 IF Q(I,J)<>6 THEN 7292
+7290 Q(I,J)=0
+7292 IF Q(I,J)<>2 THEN 7294
+7293 Q(I,J)=0
+7294 NEXT J
+7295 NEXT I
+7296 K3=0
+7298 G(Q1,Q2)=INT(B3*10+S3)
+7300 GOTO 959
+7310 IF W3>.75 THEN 7325
+7312 PRINT "*THERMAL REACTOR ENERGY DRAIN."
+7314 E=E-(.95*E)
+7316 PRINT .95*E"UNITS OF ENERGY BURNED."
+7320 GOTO 7283
+7325 IF W3>.95 THEN 7350
+7328 PRINT "*MATTER/ANTI-MATTER TRANSFORMATION."
+7330 IF K3>0 THEN 7334
+7332 GOTO 7231
+7334 PRINT "KLINGONS HIT BY MAIN BEAM DUPLICATED."
+7335 P8=K3
+7338 FOR I=1 TO P8
+7339 IF K3>8 THEN 7345
+7341 K3=K3+1
+7342 K9=K9+1
+7344 NEXT I
+7345 G(Q1,Q2)=K3*100+B3*10+S3
+7346 P2=1
+7349 GOTO 1500
+7350 PRINT "*** DEATH RAY GOES CRAZY ***"
+7352 PRINT "*** DESTROYS EVERY KLINGON IN THE GALAXY ***"
+7353 PRINT "*** ALSO DESTROYS ENTERPRISE ***"
+7354 A7=N1=5
+7360 GOTO 5300
+7400 REM: ABANDON SHIP
+7401 IF N1=0 THEN 7404
+7402 PRINT "THE FAIRIE QUEENE CANNOT BE ABANDONED."
+7403 GOTO 959
+7404 PRINT
+7405 IF A7<>1 THEN 7420
+7410 PRINT "** YOU MAY NOT ABANDON SHIP AFTER YOU HAVE BEEN "
+7411 PRINT "ASKED TO SURRENDER."
+7415 PRINT
+7416 GOTO 959
+7420 PRINT "*** ABANDON SHIP ***"
+7421 PRINT "*** ABANDON SHIP ***"
+7425 PRINT
+7426 PRINT "SERIES ENTER-BLITZ INITIATED."
+7429 PRINT "FAIL-SAFE AUTO-OVERRIDE INSERTED."
+7433 PRINT "ENTERPRISE COMMANDER AND CREW ESCAPE IN SHUTTLE CRAFT."
+7435 PRINT
+7440 PRINT "*** ENTERPRISE REDUCED TO SUB-ATOMIC PARTICLES ***"
+7441 PRINT
+7445 A7=5
+7446 N1=1
+7448 N9=1
+7450 GOTO 955
+7500 REM: SUPERNOVA
+7501 IF V=2 THEN 7506
+7502 IF RND(0)>.15 THEN 7600
+7504 GOTO 7508
+7506 IF RND(0)>.10 THEN 7600
+7508 Z3=INT(RND(0)*8+1)
+7510 Z4=INT(RND(0)*8+1)
+7515 IF G(Z3,Z4)>999 THEN 7600
+7520 S4=G(Z3,Z4)-INT(G(Z3,Z4)*.1)*10
+7525 IF S4<=0 THEN 7600
+7530 PRINT
+7535 PRINT "*************************************************"
+7540 PRINT "********* SUPERNOVA IN QUADRANT"Z3;"-"Z4
+7542 PRINT "ALL MATTER IN THIS QUADRANT CONVERTED TO ENERGY."
+7543 IF Q1<>Z3 THEN 7575
+7544 IF Q2<>Z4 THEN 7575
+7545 PRINT
+7546 GOSUB 7900
+7548 PRINT "UNFORTUNATELY, THE"N$;"WAS IN THIS QUADRANT."
+7550 GOTO 3582
+7575 PRINT "FROM NOW ON, ANY VESSEL STOPPING IN THIS QUADRANT"
+7576 PRINT "WILL BE TOTALLY ENERGIZED."
+7577 PRINT "*************************************************"
+7579 PRINT
+7580 K4=INT(G(Z3,Z4)/99.99)
+7582 B4=INT((G(Z3,Z4)/99.99-K4)*10.0)
+7584 B9=B9-B4
+7585 K9=K9-K4
+7590 G(Z3,Z4)=INT(1000.0)
+7600 GOTO 1164
+7650 REM: STARSHIP ENCOUNTERS OLD SUPERNOVA
+7655 PRINT "*** HEY STUPID. YOU WERE WARNED NOT TO STOP IN A"
+7656 PRINT "QUADRANT WHERE A SUPERNOVA HAD OCCURRED."
+7660 GOTO 8992
+7700 REM: VARIABLE RESUPPLY
+7701 IF N1=1 THEN 7710
+7703 E=3000
+7705 P=10
+7708 GOTO 7720
+7710 E=1500
+7715 P=5
+7720 A7=0
+7730 RETURN
+7800 REM: ACTIVATE ENERGY SHIELDS
+7802 IF D(7)>=0 THEN 7808
+7804 PRINT "ENERGY SHIELDS DISABLED."
+7806 GOTO 959
+7808 IF C5=0 THEN 7818
+7810 PRINT "ENERGY SHIELDS ALREADY ACTIVATED."
+7811 PRINT
+7812 GOTO 959
+7818 PRINT
+7819 PRINT "ENERGY SHIELDS ACTIVATED."
+7820 PRINT
+7822 C5=200
+7824 Z$="UP"
+7825 E=E-C5
+7826 IF E<=0 THEN 5200
+7828 GOSUB 5000
+7830 GOTO 959
+7850 REM: DEACTIVATE ENERGY SHIELDS
+7855 PRINT
+7860 PRINT "ENERGY SHIELDS DEACTIVATED."
+7863 PRINT
+7865 C5=0
+7868 Z$="DOWN"
+7870 GOSUB 5000
+7875 GOTO 955
+7900 REM: DETERMINE NAME
+7905 IF N1<>1 THEN 7915
+7908 A5=5
+7910 N$=" FAIRIE QUEENE "
+7912 GOTO 7920
+7915 N$=" ENTERPRISE "
+7918 A5=1
+7920 RETURN
+7950 REM: CHANGING OF THE GUARD AT BUCKINGHAM PALACE
+7951 PRINT
+7952 FOR I=1 TO 8
+7955 FOR J=1 TO 8
+7957 K3=INT(G(I,J)/99.99)
+7958 B3=INT((G(I,J)/99.99-K3)*10.0)
+7960 IF B3>0 THEN 7978
+7961 NEXT J
+7962 NEXT I
+7963 PRINT " YOU HAVE BEEN TAKEN TO KLINGON HEADQUARTERS."
+7964 PRINT "IF YOU HAD A STARBASE, YOU WOULD BE REPATRIATED"
+7965 PRINT "AND GIVEN A NEW STARSHIP TO COMMAND."
+7966 PRINT "SINCE YOU HAVE NO STARBASE, YOU WILL BE MERCILESSLY"
+7967 PRINT "TORTURED TO DEATH BY THE ARCHFIEND,"
+7968 PRINT "CECIL DYBOWSKI, SCOURGE OF THE UNIVERSE."
+7970 N7=1
+7975 GOTO 8000
+7978 N9=2
+7979 T=T+1
+7980 Q1=I
+7981 Q2=J
+7982 E=1500
+7983 P=5
+7984 N1=1
+7985 PRINT "YOU HAVE BEEN SENT BACK TO STARFLEET COMMAND."
+7987 PRINT "YOU ARE NOW IN COMMAND OF A NEW STARSHIP,"
+7988 PRINT " THE FAIRIE QUEENE,"
+7989 PRINT "WHICH LOOKS LIKE /Q/ ON THE SCAN."
+7990 PRINT
+7992 PRINT " YE FAIRIE QUEENE IS CURRENTLY IN QUADRANT"Q1;"-"Q2
+7994 PRINT "TRY TO BE MORE CAREFUL THIS TIME."
+7995 FOR I=1 TO 7
+7996 D(I)=0
+7997 NEXT I
+7998 PRINT
+7999 GOTO 1500
+8000 RETURN
+8050 Q$(1)="."
+8051 Q$(2)="E"
+8052 Q$(3)="K"
+8053 Q$(4)="B"
+8054 Q$(5)="*"
+8055 Q$(6)="Q"
+8056 Q$(7)="C"
+8060 RETURN
+8100 REM: SELF-DESTRUCT
+8105 PRINT
+8110 PRINT "SERIES ENTER-BLITZ INITIATED."
+8115 PRINT "IN TEN SECONDS THIS VESSEL WILL SELF-DESTRUCT."
+8116 PRINT "10"
+8117 PRINT " 9"
+8118 PRINT " 8"
+8119 PRINT " 7"
+8120 PRINT " 6"
+8122 PRINT
+8123 PRINT "T MINUS 5 SECONDS AND HOLDING."
+8124 PRINT "FAIL-SAFE MECHANISM ENGAGED. ONLY THE COMMANDER OF"
+8125 PRINT "THE STARSHIP CAN OVERRIDE WITH HIS SECRET PASSWORD."
+8126 PRINT "SCIENCE OFFICER HICKS HAS ALREADY ENTERED HIS CORRECT"
+8127 PRINT "COUNTER-PASSWORD."
+8128 PRINT "TO CONTINUE SERIES ENTER-BLITZ, TYPE YOUR "
+8129 PRINT "SECRET PASSWORD:";
+8130 INPUT V$
+8135 IF V$<>X$ THEN 8150
+8139 PRINT
+8140 PRINT " 4"
+8141 PRINT " 3"
+8142 PRINT " 2"
+8143 PRINT " 1"
+8145 GOTO 3575
+8150 PRINT
+8151 PRINT "SERIES ENTER-BLITZ TERMINATED."
+8155 PRINT
+8160 GOTO 955
+8200 REM: RANDOMIZE
+8205 PRINT
+8206 PRINT " TYPE A WIERD NUMBER BETWEEN 0.0 AND 1.0 :";
+8207 INPUT E6
+8208 E9=RND(E6)
+8210 RETURN
+8970 REM: LEAVING GALAXY
+8975 IF F>2 THEN 8990
+8980 PRINT
+8981 PRINT "STARSHIP ENCOUNTERS END OF GALAXY."
+8982 PRINT
+8983 PRINT "FOOLISH MORTAL, YOU HAVE ATTEMPTED TO VENTURE OUT OF THE"
+8984 PRINT "GALAXY INTO SUB-SPACE. ON THE THIRD TIME YOU TRY THIS,"
+8985 PRINT "THE LIVING GOD, KORP, WILL DESTROY YOU."
+8987 F=F+1
+8988 GOTO 8995
+8990 PRINT
+8991 PRINT "YOU HAVE DARED TO ENTER SUB-SPACE A THIRD TIME."
+8992 PRINT "FOR THIS, ************ YOU DIE ****************"
+8993 GOTO 3575
+8995 RETURN
+9000 REM: RANDOM NUMBER GENERATOR
+9010 R1=INT(RND(0)*8+1)
+9020 R2=INT(RND(0)*8+1)
+9030 IF Q(R1,R2) <> 0 THEN 9010
+9040 RETURN
+9045 PRINT
+9050 PRINT "ORDERS: STARDATE = "T
+9060 PRINT
+9070 PRINT " AS COMMANDER OF THE UNITED STARSHIP ENTERPRISE,"
+9080 PRINT "YOUR MISSION IS TO RID THE GALAXY OF THE DEADLY"
+9090 PRINT "KLINGON MENACE. TO DO THIS, YOU MUST DESTROY THE "
+9100 PRINT "KLINGON INVASION FORCE OF "K9"BATTLE CRUISERS."
+9110 PRINT "YOU HAVE"T9;"SOLAR YEARS TO COMPLETE YOUR MISSION."
+9120 PRINT "(I.E. UNTIL STARDATE"T0+T9;")."
+9125 PRINT
+9130 IF B9 > 1 THEN 9133
+9131 PRINT " YOU WILL HAVE ONE SUPPORTING STARBASE."
+9132 GOTO 9140
+9133 PRINT " YOU WILL HAVE"B9"SUPPORTING STARBASES."
+9140 PRINT "WHEN THE ENTERPRISE DOCKS AT ONE (IS POSITIONED"
+9150 PRINT "NEXT TO ONE) IT IS RESUPPLIED WITH ENERGY AND"
+9160 PRINT "PHOTON TORPEDOES."
+9161 PRINT "THE ENTERPRISE IS CURRENTLY IN"
+9162 PRINT "QUADRANT"Q1"-"Q2"SECTOR"S1"-"S2
+9163 PRINT "DO YOU NEED FURTHER INSTRUCTIONS (REVISED 18 APRIL 73)";
+9164 INPUT A$
+9166 PRINT
+9170 IF A$<>"YES" THEN 400
+9175 GOSUB 9980
+9180 PRINT " THE GALAXY IS DIVIDED INTO 64 QUADRANTS WITH"
+9190 PRINT "THE FOLLOWING COORDINATES:"
+9200 PRINT " Y-- 1 2 3 4 5 6 7 8 '"
+9210 PRINT " --------------------------------- X"
+9220 FOR I=1 TO 8
+9230 PRINT " ' : : : : : : : : : "I
+9240 PRINT " --------------------------------- '"
+9250 NEXT I
+9260 PRINT
+9270 PRINT
+9280 PRINT
+9300 PRINT "EACH QUADRANT IS SIMILARLY DIVIDED INTO 64 SECTORS."
+9310 GOSUB 9980
+9320 PRINT "::: DEVICES :::"
+9330 PRINT
+9340 PRINT "WARP ENGINES: "
+9350 PRINT
+9360 PRINT "COURSE = A REAL NUMBER FROM 1 TO 8.99999."
+9370 PRINT "NUMBERS INDICATE DIRECTION STARTING AT THE RIGHT AND"
+9380 PRINT "GOING COUNTER CLOCKWISE:"
+9390 PRINT
+9400 PRINT " 3"
+9410 PRINT " 4 2"
+9420 PRINT " /"
+9430 PRINT " 5---*---1"
+9440 PRINT " /"
+9450 PRINT " 6 8"
+9460 PRINT " 7"
+9470 PRINT
+9480 PRINT "WARP FACTOR = A REAL NUMBER FROM 0 TO 12."
+9490 PRINT "DISTANCE TRAVELED = INTEGER (WARP FACTOR) QUADRANTS:"
+9500 PRINT " WARP .2 = THE ENTERPRISE TRAVELS 1 SECTOR."
+9510 PRINT " .5 = 4 SECTORS."
+9520 PRINT " 1 = 1 QUADRANT."
+9530 PRINT " 2 = 2 QUADRANTS."
+9535 PRINT
+9540 PRINT
+9550 PRINT "FOR EXAMPLE, IF YOU TRAVEL FROM:"
+9560 PRINT "QUADRANT 1 - 1, SECTOR 1 - 1, IN DIRECTION 1 AT WARP 2"
+9570 PRINT "YOU WOULD STOP AT"
+9580 PRINT "QUADRANT 1 - 3, SECTOR 1 - 1 IN THE NEXT STARDATE."
+9590 PRINT
+9591 PRINT " WHEN YOU CHANGE QUADRANTS, HOWEVER, THE POSITIONS OF"
+9592 PRINT "ALL OBJECTS IN THE NEW QUADRANT (INCLUDING THE ENTERPRISE)"
+9593 PRINT "ARE RANDOMIZED TO SIMULATE 3-D TRAVEL."
+9599 PRINT
+9600 PRINT "*** NOTE: EVERY USE OF THE WARP ENGINES TAKES ONE"
+9610 PRINT "STARDATE. IF THE ENTERPRISE IS BLOCKED BY SOMETHING"
+9620 PRINT "DURING INTRA-QUADRANT TRAVEL IT WILL STOP IN FRONT"
+9630 PRINT "OF IT (AND WASTE A STARDATE) ***"
+9631 PRINT
+9632 PRINT "***NOTE: THERE IS A TIME PORTAL AVAILABLE BY TRAVELLING"
+9633 PRINT "AT WARP 12. YOU MAY BE CARRIED EITHER FORWARD OR"
+9634 PRINT "BACKWARD IN TIME, BUT THERE IS ALSO A .40 PROBABILITY"
+9635 PRINT "THAT YOU WILL BE DESTROYED IN A NUCLEAR IMPLOSION."
+9636 PRINT "A WARP FACTOR OF 12 MAY ONLY BE USED AFTER 15 SOLAR YEARS."
+9637 PRINT
+9638 PRINT "***NOTE: IF THE ENTERPRISE RAMS A KLINGON VESSEL, EITHER"
+9639 PRINT "DELIBERATELY OR ACCIDENTLY, THE KLINGON WILL BE"
+9640 PRINT "DESTROYED AND THE ENTERPRISE HEAVILY DAMAGED."
+9649 GOSUB 9980
+9650 PRINT "SHORT RANGE SENSORS:"
+9660 PRINT
+9670 PRINT " THE SHORT RANGE SENSORS OF THE ENTERPRISE DISPLAY"
+9680 PRINT "A DETAILED VIEW OF THE QUADRANT IT IS CURRENTLY IN."
+9690 PRINT "THE ENTERPRISE LOOKS LIKE /E/ ON THE SCREEN."
+9700 PRINT "KLINGON BATTLE CRUISERS LOOK LIKE /K/ ON THE SCREEN."
+9710 PRINT "STARBASES LOOK LIKE /B/ AND STARS LOOK LIKE * ."
+9715 PRINT "THE KLINGONS MAY HAVE A POWERFUL COMMAND SHIP, /C/."
+9720 PRINT
+9723 PRINT "***NOTE: DOCKING IS A TWO STEP PROCEDURE--FIRST YOU"
+9724 PRINT "MUST MOVE ADJACENT TO THE BASE. THEN CONDUCT A "
+9725 PRINT "SHORT RANGE SCAN."
+9726 PRINT "WHILE DOCKED, STARBASE SHIELDS PROTECT THE STARSHIP."
+9729 PRINT
+9730 PRINT "***NOTE: CONDITION YELLOW MEANS YOU ARE DANGEROUSLY"
+9731 PRINT "LOW ON ENERGY AND SHOULD MAKE FOR A BASE POSTHASTE."
+9735 GOSUB 9980
+9736 PRINT "EXPERIMENTAL DEATH RAY"
+9737 PRINT
+9738 PRINT " THE EXPERIMENTAL DEATH RAY, AS ITS NAME IMPLIES,"
+9739 PRINT "IS UNPREDICTABLE. HOWEVER, ONE CAN CERTAINLY PREDICT"
+9740 PRINT "THAT, IN A GIVEN SITUATION, IT WILL DO WHATEVER IT"
+9741 PRINT "DAMN WELL PLEASES. THERE IS A GOOD PROBABILITY THAT IT"
+9742 PRINT "WILL DESTROY MANY KLINGONS, BUT THERE COULD BE SOME"
+9743 PRINT "INTERESTING SIDE EFFECTS. IT CAN PROBABLY ONLY BE"
+9744 PRINT "FIRED ONCE, BUT YOU NEVER KNOW. IT CANNOT BE USED UNTIL"
+9745 PRINT "18 SOLAR YEARS HAVE PASSED."
+9757 GOSUB 9980
+9758 PRINT "LONG RANGE SENSORS:"
+9759 PRINT
+9760 PRINT " THE LONG RANGE SENSORS OF THE ENTERPRISE DISPLAY"
+9770 PRINT "THE NUMBER OF OBJECTS IN THE 9 CLOSEST QUADRANTS,"
+9771 PRINT "WITH THE ENTERPRISE IN THE CENTRAL ONE."
+9780 PRINT "EACH DIGIT OF THE NUMBER IN EACH BOX MEANS SOMETHING:"
+9790 PRINT " THE ONES DIGIT REPRESENTS THE NUMBER OF STARS."
+9800 PRINT " TENS STARBASES."
+9810 PRINT " HUNDREDS KLINGONS."
+9812 PRINT " THOUSANDS SUPERNOVA."
+9820 PRINT "FOR EXAMPLE:"
+9830 PRINT "319 MEANS 3 KLINGONS, 1 STARBASE, AND 9 STARS."
+9840 PRINT "206 MEANS 2 KLINGONS, 0 STARBASES, AND 6 STARS."
+9850 PRINT "7 MEANS 0 KLINGONS, 0 STARBASES, AND 7 STARS."
+9860 GOSUB 9980
+9861 PRINT "ENERGY SHIELDS:"
+9862 PRINT
+9863 PRINT " WHILE THE ENERGY SHIELDS OF A STARSHIP ARE ACTIVATED,"
+9864 PRINT "KLINGON ATTACKS ARE NULLIFIED. EVERY TIME YOU MOVE WITH"
+9865 PRINT "YOUR SHIELDS UP, 200 UNITS OF ENERGY ARE USED."
+9866 PRINT "ALSO, SHIELD ACTIVATION ITSELF REQUIRES 200 UNITS."
+9867 PRINT "NOTE: YOU MUST LOWER YOUR SHIELDS TO ATTACK."
+9869 GOSUB 9980
+9870 PRINT "PHASERS:"
+9880 PRINT
+9890 PRINT " ANY PORTION OF THE ENERGY AVAILABLE CAN BE FIRED."
+9900 PRINT "THE BATTLE COMPUTER DIVIDES THIS AMOUNT AMONG THE"
+9901 PRINT "KLINGON CRUISERS IN THE QUADRANT AND DETERMINES"
+9902 PRINT "THE VARIOUS DIRECTIONS OF FIRE. THE EFFECTIVENESS"
+9903 PRINT "OF A HIT DEPENDS MOSTLY ON THE DISTANCE TO THE"
+9904 PRINT "TARGET. A KLINGON BATTLE CRUISER STARTS WITH"S9
+9905 PRINT "UNITS OF ENERGY. IT CAN FIRE AN AMOUNT EQUAL TO"
+9906 PRINT "WHATEVER ENERGY IT HAS LEFT."
+9907 PRINT
+9908 PRINT
+9909 PRINT "PHOTON TORPEDOES:"
+9910 PRINT
+9911 PRINT " INITIALLY THE ENTERPRISE HAS"P0"PHOTON TORPEDOES."
+9912 PRINT "ONE TORPEDO DESTROYS WHATEVER IT HITS. THE RANGE"
+9913 PRINT "OF PHOTON TORPEDOES (LIKE PHASERS) IS LIMITED TO"
+9914 PRINT "THE CURRENT QUADRANT. THE COURSE OF A PHOTON TORPEDO"
+9915 PRINT "IS SET THE SAME WAY AS THAT OF THE ENTERPRISE."
+9916 PRINT "YOU MAY, IF YOU WISH, FIRE A SPREAD OF THREE TORPEDOES"
+9917 PRINT "AT ONCE. THERE IS A TIME LAG IN LAUNCHING THEM, THE ONE"
+9918 PRINT "WITH THE LOWEST NUMERICAL COURSE BEING FIRED FIRST."
+9919 PRINT "FOR EXAMPLE, A TORPEDO COURSE OF 3.49 WITH A SPREAD"
+9920 PRINT "ANGLE OF 0.24 WOULD FIRE TORPEDOES AT DIRECTIONS"
+9921 PRINT "3.25, 3.49, AND 3.73 ."
+9924 GOSUB 9980
+9925 PRINT "DAMAGE CONTROL REPORT:"
+9926 PRINT " THE DAMAGE CONTROL REPORT LISTS THE MAIN DEVICES AND"
+9927 PRINT "THEIR STATE OF REPAIR. A NEGATIVE STATE OF REPAIR"
+9928 PRINT "INDICATES A DISABLES DEVICE. DEVICES CAN BE DAMAGED OR"
+9929 PRINT "REPAIRED BY A SPACE STORM OR TRUCE, RESPECTIVELY."
+9930 PRINT "ALSO, DAMAGED DEVICES ARE REPAIRED 2 UNITS EVERY STARDATE."
+9935 GOSUB 9980
+9940 PRINT "COMMANDS:"
+9941 PRINT
+9942 H6=1
+9944 GOTO 975
+9946 H6=H6+1
+9952 GOSUB 9980
+9953 PRINT "P.S.--SAVE THIS COPY OF INSTRUCTIONS, SO THAT NEXT"
+9954 PRINT "TIME YOU WILL NOT NEED ADDITIONAL INSTRUCIONS AND"
+9955 PRINT "CAN PROCEED IMMEDIATELY TO PLAY."
+9956 PRINT
+9957 PRINT
+9960 GOSUB 9980
+9961 PRINT "WHEN YOU ARE READY TO CONTINUE, TYPE 9:";
+9962 INPUT X
+9963 GOSUB 9980
+9965 GOTO 400
+9980 REM
+9985 FOR I=1 TO 3
+9986 PRINT
+9990 NEXT I
+9991 RETURN
+9992 PRINT
+9993 PRINT
+9994 PRINT " DO YOU WISH TO PLAY AGAIN:";
+9995 INPUT A$
+9996 IF A$ ="YES" THEN 5
+9997 PRINT
+9998 PRINT " ** AVE ATQUE VALE **"
+9999 END
--- /dev/null
+REM Extracted from HP tape image 16-Nov-2003 by Pete Turnbull
+
+1 REM **** HP BASIC PROGRAM LIBRARY ******************************
+2 REM
+3 REM STTR1: STAR TREK
+4 REM
+5 REM 36243 REV B -- 10/73
+6 REM
+7 REM **** CONTRIBUTED PROGRAM ***********************************
+100 REM *****************************************************************
+110 REM *** ***
+120 REM *** STAR TREK: BY MIKE MAYFIELD, CENTERLINE ENGINEERING ***
+130 REM *** ***
+140 REM *** TOTAL INTERACTION GAME - ORIG. 20 OCT 1972
+150 REM *** ***
+160 REM *****************************************************************
+170 GOSUB 5460
+180 PRINT " STAR TREK "
+190 PRINT "DO YOU WANT INSTRUCTIONS (THEY'RE LONG!)";
+200 INPUT A$
+210 IF A$ <> "YES" THEN 230
+220 GOSUB 5820
+230 REM ***** PROGRAM STARTS HERE *****
+240 Z$=" "
+250 GOSUB 5460
+260 DIM G[8,8],C[9,2],K[3,3],N[3],Z[8,8]
+270 DIM C$[6],D$[72],E$[24],A$[3],Q$[72],R$[72],S$[48]
+280 DIM Z$[72]
+290 T0=T=INT(RND(1)*20+20)*100
+300 T9=30
+310 D0=0
+320 E0=E=3000
+330 P0=P=10
+340 S9=200
+350 S=H8=0
+360 DEF FND(D)=SQR((K[I,1]-S1)^2+(K[I,2]-S2)^2)
+370 Q1=INT(RND(1)*8+1)
+380 Q2=INT(RND(1)*8+1)
+390 S1=INT(RND(1)*8+1)
+400 S2=INT(RND(1)*8+1)
+410 T7=TIM(0)+60*TIM(1)
+420 C[2,1]=C[3,1]=C[4,1]=C[4,2]=C[5,2]=C[6,2]=-1
+430 C[1,1]=C[3,2]=C[5,1]=C[7,2]=C[9,1]=0
+440 C[1,2]=C[2,2]=C[6,1]=C[7,1]=C[8,1]=C[8,2]=C[9,2]=1
+450 MAT D=ZER
+460 D$="WARP ENGINESS.R. SENSORSL.R. SENSORSPHASER CNTRL"
+470 D$[49]="PHOTON TUBESDAMAGE CNTRL"
+480 E$="SHIELD CNTRLCOMPUTER"
+490 B9=K9=0
+500 FOR I=1 TO 8
+510 FOR J=1 TO 8
+520 R1=RND(1)
+530 IF R1>.98 THEN 580
+540 IF R1>.95 THEN 610
+550 IF R1>.8 THEN 640
+560 K3=0
+570 GOTO 660
+580 K3=3
+590 K9=K9+3
+600 GOTO 660
+610 K3=2
+620 K9=K9+2
+630 GOTO 660
+640 K3=1
+650 K9=K9+1
+660 R1=RND(1)
+670 IF R1>.96 THEN 700
+680 B3=0
+690 GOTO 720
+700 B3=1
+710 B9=B9+1
+720 S3=INT(RND(1)*8+1)
+730 G[I,J]=K3*100+B3*10+S3
+740 Z[I,J]=0
+750 NEXT J
+760 NEXT I
+770 K7=K9
+775 IF B9 <= 0 OR K9 <= 0 THEN 490
+780 PRINT "YOU MUST DESTROY"K9;" KLINGONS IN"T9;" STARDATES WITH"B9;" STARBASES"
+810 K3=B3=S3=0
+820 IF Q1<1 OR Q1>8 OR Q2<1 OR Q2>8 THEN 920
+830 X=G[Q1,Q2]*.01
+840 K3=INT(X)
+850 B3=INT((X-K3)*10)
+860 S3=G[Q1,Q2]-INT(G[Q1,Q2]*.1)*10
+870 IF K3=0 THEN 910
+880 IF S>200 THEN 910
+890 PRINT "COMBAT AREA CONDITION RED"
+900 PRINT " SHIELDS DANGEROUSLY LOW"
+910 MAT K=ZER
+920 FOR I=1 TO 3
+930 K[I,3]=0
+940 NEXT I
+950 Q$=Z$
+960 R$=Z$
+970 S$=Z$[1,48]
+980 A$="<*>"
+990 Z1=S1
+1000 Z2=S2
+1010 GOSUB 5510
+1020 FOR I=1 TO K3
+1030 GOSUB 5380
+1040 A$="+++"
+1050 Z1=R1
+1060 Z2=R2
+1070 GOSUB 5510
+1080 K[I,1]=R1
+1090 K[I,2]=R2
+1100 K[I,3]=S9
+1110 NEXT I
+1120 FOR I=1 TO B3
+1130 GOSUB 5380
+1140 A$=">!<"
+1150 Z1=R1
+1160 Z2=R2
+1170 GOSUB 5510
+1180 NEXT I
+1190 FOR I=1 TO S3
+1200 GOSUB 5380
+1210 A$=" * "
+1220 Z1=R1
+1230 Z2=R2
+1240 GOSUB 5510
+1250 NEXT I
+1260 GOSUB 4120
+1270 PRINT "COMMAND:";
+1280 INPUT A
+1290 GOTO A+1 OF 1410,1260,2330,2530,2800,3460,3560,4630
+1300 PRINT
+1310 PRINT " 0 = SET COURSE"
+1320 PRINT " 1 = SHORT RANGE SENSOR SCAN"
+1330 PRINT " 2 = LONG RANGE SENSOR SCAN"
+1340 PRINT " 3 = FIRE PHASERS"
+1350 PRINT " 4 = FIRE PHOTON TORPEDOES"
+1360 PRINT " 5 = SHIELD CONTROL"
+1370 PRINT " 6 = DAMAGE CONTROL REPORT"
+1380 PRINT " 7 = CALL ON LIBRARY COMPUTER"
+1390 PRINT
+1400 GOTO 1270
+1410 PRINT "COURSE (1-9):";
+1420 INPUT C1
+1430 IF C1=0 THEN 1270
+1440 IF C1<1 OR C1 >= 9 THEN 1410
+1450 PRINT "WARP FACTOR (0-8):";
+1460 INPUT W1
+1470 IF W1<0 OR W1>8 THEN 1410
+1480 IF D[1] >= 0 OR W1 <= .2 THEN 1510
+1490 PRINT "WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = WARP .2"
+1500 GOTO 1410
+1510 IF K3 <= 0 THEN 1560
+1520 GOSUB 3790
+1530 IF K3 <= 0 THEN 1560
+1540 IF S<0 THEN 4000
+1550 GOTO 1610
+1560 IF E>0 THEN 1610
+1570 IF S<1 THEN 3920
+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
+1610 FOR I=1 TO 8
+1620 IF D[I] >= 0 THEN 1640
+1630 D[I]=D[I]+1
+1640 NEXT I
+1650 IF RND(1)>.2 THEN 1810
+1660 R1=INT(RND(1)*8+1)
+1670 IF RND(1) >= .5 THEN 1750
+1680 D[R1]=D[R1]-(RND(1)*5+1)
+1690 PRINT
+1700 PRINT "DAMAGE CONTROL REPORT:";
+1710 GOSUB 5610
+1720 PRINT " DAMAGED"
+1730 PRINT
+1740 GOTO 1810
+1750 D[R1]=D[R1]+(RND(1)*5+1)
+1760 PRINT
+1770 PRINT "DAMAGE CONTROL REPORT:";
+1780 GOSUB 5610
+1790 PRINT " STATE OF REPAIR IMPROVED"
+1800 PRINT
+1810 N=INT(W1*8)
+1820 A$=" "
+1830 Z1=S1
+1840 Z2=S2
+1850 GOSUB 5510
+1870 X=S1
+1880 Y=S2
+1885 C2=INT(C1)
+1890 X1=C[C2,1]+(C[C2+1,1]-C[C2,1])*(C1-C2)
+1900 X2=C[C2,2]+(C[C2+1,2]-C[C2,2])*(C1-C2)
+1910 FOR I=1 TO N
+1920 S1=S1+X1
+1930 S2=S2+X2
+1940 IF S1<.5 OR S1 >= 8.5 OR S2<.5 OR S2 >= 8.5 THEN 2170
+1950 A$=" "
+1960 Z1=S1
+1970 Z2=S2
+1980 GOSUB 5680
+1990 IF Z3 <> 0 THEN 2070
+2030 PRINT USING 5370;S1,S2
+2040 S1=S1-X1
+2050 S2=S2-X2
+2060 GOTO 2080
+2070 NEXT I
+2080 A$="<*>"
+2083 S1=INT(S1+.5)
+2086 S2=INT(S2+.5)
+2090 Z1=S1
+2100 Z2=S2
+2110 GOSUB 5510
+2120 E=E-N+5
+2130 IF W1<1 THEN 2150
+2140 T=T+1
+2150 IF T>T0+T9 THEN 3970
+2160 GOTO 1260
+2170 X=Q1*8+X+X1*N
+2180 Y=Q2*8+Y+X2*N
+2190 Q1=INT(X/8)
+2200 Q2=INT(Y/8)
+2210 S1=INT(X-Q1*8+.5)
+2220 S2=INT(Y-Q2*8+.5)
+2230 IF S1 <> 0 THEN 2260
+2240 Q1=Q1-1
+2250 S1=8
+2260 IF S2 <> 0 THEN 2290
+2270 Q2=Q2-1
+2280 S2=8
+2290 T=T+1
+2300 E=E-N+5
+2310 IF T>T0+T9 THEN 3970
+2320 GOTO 810
+2330 IF D[3] >= 0 THEN 2370
+2340 PRINT "LONG RANGE SENSORS ARE INOPERABLE"
+2350 IMAGE "LONG RANGE SENSOR SCAN FOR QUADRANT",D,",",D
+2360 GOTO 1270
+2370 PRINT USING 2350;Q1,Q2
+2380 PRINT USING 2520
+2390 FOR I=Q1-1 TO Q1+1
+2400 MAT N=ZER
+2410 FOR J=Q2-1 TO Q2+1
+2420 IF I<1 OR I>8 OR J<1 OR J>8 THEN 2460
+2430 N[J-Q2+2]=G[I,J]
+2440 IF D[7]<0 THEN 2460
+2450 Z[I,J]=G[I,J]
+2460 NEXT J
+2470 PRINT USING 2510;N[1],N[2],N[3]
+2480 PRINT USING 2520
+2490 NEXT I
+2500 GOTO 1270
+2510 IMAGE ": ",3(3D," :")
+2520 IMAGE "-----------------"
+2530 IF K3 <= 0 THEN 3670
+2540 IF D[4] >= 0 THEN 2570
+2550 PRINT "PHASER CONTROL IS DISABLED"
+2560 GOTO 1270
+2570 IF D[7] >= 0 THEN 2590
+2580 PRINT " COMPUTER FAILURE HAMPERS ACCURACY"
+2590 PRINT "PHASERS LOCKED ON TARGET. ENERGY AVAILABLE="E
+2600 PRINT "NUMBER OF UNITS TO FIRE:";
+2610 INPUT X
+2620 IF X <= 0 THEN 1270
+2630 IF E-X<0 THEN 2570
+2640 E=E-X
+2650 GOSUB 3790
+2660 IF D[7] >= 0 THEN 2680
+2670 X=X*RND(1)
+2680 FOR I=1 TO 3
+2690 IF K[I,3] <= 0 THEN 2770
+2700 H=(X/K3/FND(0))*(2*RND(1))
+2710 K[I,3]=K[I,3]-H
+2720 PRINT USING 2730;H,K[I,1],K[I,2],K[I,3]
+2730 IMAGE 4D," UNIT HIT ON KLINGON AT SECTOR ",D,",",D," (",3D," LEFT)"
+2740 IF K[I,3]>0 THEN 2770
+2750 GOSUB 3690
+2760 IF K9 <= 0 THEN 4040
+2770 NEXT I
+2780 IF E<0 THEN 4000
+2790 GOTO 1270
+2800 IF D[5] >= 0 THEN 2830
+2810 PRINT "PHOTON TUBES ARE NOT OPERATIONAL"
+2820 GOTO 1270
+2830 IF P>0 THEN 2860
+2840 PRINT "ALL PHOTON TORPEDOES EXPENDED"
+2850 GOTO 1270
+2860 PRINT "TORPEDO COURSE (1-9):";
+2870 INPUT C1
+2880 IF C1=0 THEN 1270
+2890 IF C1<1 OR C1 >= 9 THEN 2860
+2895 C2=INT(C1)
+2900 X1=C[C2,1]+(C[C2+1,1]-C[C2,1])*(C1-C2)
+2910 X2=C[C2,2]+(C[C2+1,2]-C[C2,2])*(C1-C2)
+2920 X=S1
+2930 Y=S2
+2940 P=P-1
+2950 PRINT "TORPEDO TRACK:"
+2960 X=X+X1
+2970 Y=Y+X2
+2980 IF X<.5 OR X >= 8.5 OR Y<.5 OR Y >= 8.5 THEN 3420
+2990 PRINT USING 3000;X,Y
+3000 IMAGE 15X,D,",",D
+3010 A$=" "
+3020 Z1=X
+3030 Z2=Y
+3040 GOSUB 5680
+3050 IF Z3=0 THEN 3070
+3060 GOTO 2960
+3070 A$="+++"
+3080 Z1=X
+3090 Z2=Y
+3100 GOSUB 5680
+3110 IF Z3=0 THEN 3220
+3120 PRINT "*** KLINGON DESTROYED ***"
+3130 K3=K3-1
+3140 K9=K9-1
+3150 IF K9 <= 0 THEN 4040
+3160 FOR I=1 TO 3
+3170 IF INT(X+.5) <> K[I,1] THEN 3190
+3180 IF INT(Y+.5)=K[I,2] THEN 3200
+3190 NEXT I
+3200 K[I,3]=0
+3210 GOTO 3360
+3220 A$=" * "
+3230 Z1=X
+3240 Z2=Y
+3250 GOSUB 5680
+3260 IF Z3=0 THEN 3290
+3270 PRINT "YOU CAN'T DESTROY STARS SILLY"
+3280 GOTO 3420
+3290 A$=">!<"
+3300 Z1=X
+3310 Z2=Y
+3320 GOSUB 5680
+3330 IF Z3=0 THEN 2960
+3340 PRINT "*** STAR BASE DESTROYED *** .......CONGRATULATIONS"
+3350 B3=B3-1
+3360 A$=" "
+3370 Z1=INT(X+.5)
+3380 Z2=INT(Y+.5)
+3390 GOSUB 5510
+3400 G[Q1,Q2]=K3*100+B3*10+S3
+3410 GOTO 3430
+3420 PRINT "TORPEDO MISSED"
+3430 GOSUB 3790
+3440 IF E<0 THEN 4000
+3450 GOTO 1270
+3460 IF D[7] >= 0 THEN 3490
+3470 PRINT "SHIELD CONTROL IS NON-OPERATIONAL"
+3480 GOTO 1270
+3490 PRINT "ENERGY AVAILABLE ="E+S" NUMBER OF UNITS TO SHIELDS:";
+3500 INPUT X
+3510 IF X <= 0 THEN 1270
+3520 IF E+S-X<0 THEN 3490
+3530 E=E+S-X
+3540 S=X
+3550 GOTO 1270
+3560 IF D[6] >= 0 THEN 3590
+3570 PRINT "DAMAGE CONTROL REPORT IS NOT AVAILABLE"
+3580 GOTO 1270
+3590 PRINT
+3600 PRINT "DEVICE STATE OF REPAIR"
+3610 FOR R1=1 TO 8
+3620 GOSUB 5610
+3630 PRINT "",D[R1]
+3640 NEXT R1
+3650 PRINT
+3660 GOTO 1270
+3670 PRINT "SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT"
+3680 GOTO 1270
+3690 PRINT USING 3700;K[I,1],K[I,2]
+3700 IMAGE "KLINGON AT SECTOR ",D,",",D," DESTROYED ****"
+3710 K3=K3-1
+3720 K9=K9-1
+3730 A$=" "
+3740 Z1=K[I,1]
+3750 Z2=K[I,2]
+3760 GOSUB 5510
+3770 G[Q1,Q2]=K3*100+B3*10+S3
+3780 RETURN
+3790 IF C$ <> "DOCKED" THEN 3820
+3800 PRINT "STAR BASE SHIELDS PROTECT THE ENTERPRISE"
+3810 RETURN
+3820 IF K3 <= 0 THEN 3910
+3830 FOR I=1 TO 3
+3840 IF K[I,3] <= 0 THEN 3900
+3850 H=(K[I,3]/FND(0))*(2*RND(1))
+3860 S=S-H
+3870 PRINT USING 3880;H,K[I,1],K[I,2],S
+3880 IMAGE 4D," UNIT HIT ON ENTERPRISE AT SECTOR ",D,",",D," (",4D," LEFT)"
+3890 IF S<0 THEN 4000
+3900 NEXT I
+3910 RETURN
+3920 PRINT "THE ENTERPRISE IS DEAD IN SPACE. IF YOU SURVIVE ALL IMPENDING"
+3930 PRINT "ATTACK YOU WILL BE DEMOTED TO THE RANK OF PRIVATE"
+3940 IF K3 <= 0 THEN 4020
+3950 GOSUB 3790
+3960 GOTO 3940
+3970 PRINT
+3980 PRINT "IT IS STARDATE"T
+3990 GOTO 4020
+4000 PRINT
+4010 PRINT "THE ENTERPRISE HAS BEEN DESTROYED. THE FEDERATION WILL BE CONQUERED"
+4020 PRINT "THERE ARE STILL"K9" KLINGON BATTLE CRUISERS"
+4030 GOTO 230
+4040 PRINT
+4050 PRINT "THE LAST KLINGON BATTLE CRUISER IN THE GALAXY HAS BEEN DESTROYED"
+4060 PRINT "THE FEDERATION HAS BEEN SAVED !!!"
+4070 PRINT
+4080 PRINT "YOUR EFFICIENCY RATING ="((K7/(T-T0))*1000)
+4090 T1=TIM(0)+TIM(1)*60
+4100 PRINT "YOUR ACTUAL TIME OF MISSION ="INT((((T1-T7)*.4)-T7)*100)" MINUTES"
+4110 GOTO 230
+4120 FOR I=S1-1 TO S1+1
+4130 FOR J=S2-1 TO S2+1
+4140 IF I<1 OR I>8 OR J<1 OR J>8 THEN 4200
+4150 A$=">!<"
+4160 Z1=I
+4170 Z2=J
+4180 GOSUB 5680
+4190 IF Z3=1 THEN 4240
+4200 NEXT J
+4210 NEXT I
+4220 D0=0
+4230 GOTO 4310
+4240 D0=1
+4250 C$="DOCKED"
+4260 E=3000
+4270 P=10
+4280 PRINT "SHIELDS DROPPED FOR DOCKING PURPOSES"
+4290 S=0
+4300 GOTO 4380
+4310 IF K3>0 THEN 4350
+4320 IF E<E0*.1 THEN 4370
+4330 C$="GREEN"
+4340 GOTO 4380
+4350 C$="RED"
+4360 GOTO 4380
+4370 C$="YELLOW"
+4380 IF D[2] >= 0 THEN 4430
+4390 PRINT
+4400 PRINT "*** SHORT RANGE SENSORS ARE OUT ***"
+4410 PRINT
+4420 GOTO 4530
+4430 PRINT USING 4540
+4440 PRINT USING 4550;Q$[1,3],Q$[4,6],Q$[7,9],Q$[10,12],Q$[13,15],Q$[16,18],Q$[19,21],Q$[22,24]
+4450 PRINT USING 4560;Q$[25,27],Q$[28,30],Q$[31,33],Q$[34,36],Q$[37,39],Q$[40,42],Q$[43,45],Q$[46,48],T
+4460 PRINT USING 4570;Q$[49,51],Q$[52,54],Q$[55,57],Q$[58,60],Q$[61,63],Q$[64,66],Q$[67,69],Q$[70,72],C$
+4470 PRINT USING 4580;R$[1,3],R$[4,6],R$[7,9],R$[10,12],R$[13,15],R$[16,18],R$[19,21],R$[22,24],Q1,Q2
+4480 PRINT USING 4590;R$[25,27],R$[28,30],R$[31,33],R$[34,36],R$[37,39],R$[40,42],R$[43,45],R$[46,48],S1,S2
+4490 PRINT USING 4600;R$[49,51],R$[52,54],R$[55,57],R$[58,60],R$[61,63],R$[64,66],R$[67,69],R$[70,72],E
+4500 PRINT USING 4610;S$[1,3],S$[4,6],S$[7,9],S$[10,12],S$[13,15],S$[16,18],S$[19,21],S$[22,24],P
+4510 PRINT USING 4620;S$[25,27],S$[28,30],S$[31,33],S$[34,36],S$[37,39],S$[40,42],S$[43,45],S$[46,48],S
+4520 PRINT USING 4540
+4530 RETURN
+4540 IMAGE "---------------------------------"
+4550 IMAGE 8(X,3A)
+4560 IMAGE 8(X,3A),8X,"STARDATE",8X,5D
+4570 IMAGE 8(X,3A),8X,"CONDITION",8X,6A
+4580 IMAGE 8(X,3A),8X,"QUADRANT",9X,D,",",D
+4590 IMAGE 8(X,3A),8X,"SECTOR",11X,D,",",D
+4600 IMAGE 8(X,3A),8X,"ENERGY",9X,6D
+4610 IMAGE 8(X,3A),8X,"PHOTON TORPEDOES",3D
+4620 IMAGE 8(X,3A),8X,"SHIELDS",8X,6D
+4630 IF D[8] >= 0 THEN 4660
+4640 PRINT "COMPUTER DISABLED"
+4650 GOTO 1270
+4660 PRINT "COMPUTER ACTIVE AND AWAITING COMMAND";
+4670 INPUT A
+4680 GOTO A+1 OF 4740,4830,4880
+4690 PRINT "FUNCTIONS AVAILABLE FROM COMPUTER"
+4700 PRINT " 0 = CUMULATIVE GALACTIC RECORD"
+4710 PRINT " 1 = STATUS REPORT"
+4720 PRINT " 2 = PHOTON TORPEDO DATA"
+4730 GOTO 4660
+4740 PRINT USING 4750;Q1,Q2
+4750 IMAGE "COMPUTER RECORD OF GALAXY FOR QUADRANT ",D,",",D
+4760 PRINT USING 5330
+4770 PRINT USING 5360
+4780 FOR I=1 TO 8
+4790 PRINT USING 5350;I,Z[I,1],Z[I,2],Z[I,3],Z[I,4],Z[I,5],Z[I,6],Z[I,7],Z[I,8]
+4800 PRINT USING 5360
+4810 NEXT I
+4820 GOTO 1270
+4830 PRINT "\012 STATUS REPORT\012"
+4840 PRINT "NUMBER OF KLINGONS LEFT ="K9
+4850 PRINT "NUMBER OF STARDATES LEFT ="(T0+T9)-T
+4860 PRINT "NUMBER OF STARBASES LEFT ="B9
+4870 GOTO 3560
+4880 PRINT
+4890 H8=0
+4900 FOR I=1 TO 3
+4910 IF K[I,3] <= 0 THEN 5260
+4920 C1=S1
+4930 A=S2
+4940 W1=K[I,1]
+4950 X=K[I,2]
+4960 GOTO 5010
+4970 PRINT USING 4980;Q1,Q2,S1,S2
+4980 IMAGE "YOU ARE AT QUADRANT ( ",D,",",D," ) SECTOR ( ",D,",",D," )"
+4990 PRINT "SHIP'S & TARGET'S COORDINATES ARE";
+5000 INPUT C1,A,W1,X
+5010 X=X-A
+5020 A=C1-W1
+5030 IF X<0 THEN 5130
+5040 IF A<0 THEN 5190
+5050 IF X>0 THEN 5070
+5060 IF A=0 THEN 5150
+5070 C1=1
+5080 IF ABS(A) <= ABS(X) THEN 5110
+5090 PRINT "DIRECTION ="C1+(((ABS(A)-ABS(X))+ABS(A))/ABS(A))
+5100 GOTO 5240
+5110 PRINT "DIRECTION ="C1+(ABS(A)/ABS(X))
+5120 GOTO 5240
+5130 IF A>0 THEN 5170
+5140 IF X=0 THEN 5190
+5150 C1=5
+5160 GOTO 5080
+5170 C1=3
+5180 GOTO 5200
+5190 C1=7
+5200 IF ABS(A) >= ABS(X) THEN 5230
+5210 PRINT "DIRECTION ="C1+(((ABS(X)-ABS(A))+ABS(X))/ABS(X))
+5220 GOTO 5240
+5230 PRINT "DIRECTION ="C1+(ABS(X)/ABS(A))
+5240 PRINT "DISTANCE ="(SQR(X^2+A^2))
+5250 IF H8=1 THEN 5320
+5260 NEXT I
+5270 H8=0
+5280 PRINT "DO YOU WANT TO USE THE CALCULATOR";
+5290 INPUT A$
+5300 IF A$="YES" THEN 4970
+5310 IF A$ <> "NO" THEN 5280
+5320 GOTO 1270
+5330 IMAGE " 1 2 3 4 5 6 7 8"
+5340 IMAGE "---------------------------------------------------"
+5350 IMAGE D,8(3X,3D)
+5360 IMAGE " ----- ----- ----- ----- ----- ----- ----- -----"
+5370 IMAGE " WARP ENGINES SHUTDOWN AT SECTOR ",D,",",D," DUE TO BAD NAVIGATION"
+5380 R1=INT(RND(1)*8+1)
+5390 R2=INT(RND(1)*8+1)
+5400 A$=" "
+5410 Z1=R1
+5420 Z2=R2
+5430 GOSUB 5680
+5440 IF Z3=0 THEN 5380
+5450 RETURN
+5460 FOR I=1 TO 11
+5470 PRINT
+5480 NEXT I
+5490 PRINT
+5500 RETURN
+5510 REM ****** INSERTION IN STRING ARRAY FOR QUADRANT ******
+5520 S8=Z1*24+Z2*3-26
+5530 IF S8>72 THEN 5560
+5540 Q$[S8,S8+2]=A$
+5550 GOTO 5600
+5560 IF S8>144 THEN 5590
+5570 R$[S8-72,S8-70]=A$
+5580 GOTO 5600
+5590 S$[S8-144,S8-142]=A$
+5600 RETURN
+5610 REM **** PRINTS DEVICE NAME FROM ARRAY *****
+5620 S8=R1*12-11
+5630 IF S8>72 THEN 5660
+5640 PRINT D$[S8,S8+11];
+5650 GOTO 5670
+5660 PRINT E$[S8-72,S8-61];
+5670 RETURN
+5680 REM ******* STRING COMPARISON IN QUADRANT ARRAY **********
+5683 Z1=INT(Z1+.5)
+5686 Z2=INT(Z2+.5)
+5690 S8=Z1*24+Z2*3-26
+5700 Z3=0
+5710 IF S8>72 THEN 5750
+5720 IF Q$[S8,S8+2] <> A$ THEN 5810
+5730 Z3=1
+5740 GOTO 5810
+5750 IF S8>144 THEN 5790
+5760 IF R$[S8-72,S8-70] <> A$ THEN 5810
+5770 Z3=1
+5780 GOTO 5810
+5790 IF S$[S8-144,S8-142] <> A$ THEN 5810
+5800 Z3=1
+5810 RETURN
+5820 PRINT " INSTRUCTIONS:"
+5830 PRINT "<*> = ENTERPRISE"
+5840 PRINT "+++ = KLINGON"
+5850 PRINT ">!< = STARBASE"
+5860 PRINT " * = STAR"
+5870 PRINT "COMMAND 0 = WARP ENGINE CONTROL"
+5880 PRINT " 'COURSE' IS IN A CIRCULAR NUMERICAL 4 3 2"
+5890 PRINT " VECTOR ARRANGEMENT AS SHOWN. \ ^ /"
+5900 PRINT " INTERGER AND REAL VALUES MAY BE \^/"
+5910 PRINT " USED. THEREFORE COURSE 1.5 IS 5 ----- 1"
+5920 PRINT " HALF WAY BETWEEN 1 AND 2. /^\"
+5930 PRINT " / ^ \"
+5940 PRINT " A VECTOR OF 9 IS UNDEFINED, BUT 6 7 8"
+5950 PRINT " VALUES MAY APPROACH 9."
+5960 PRINT " COURSE"
+5970 PRINT " ONE 'WARP FACTOR' IS THE SIZE OF"
+5980 PRINT " ONE QUADRANT. THEREFORE TO GET"
+5990 PRINT " FROM QUADRANT 6,5 TO 5,5 YOU WOULD"
+6000 PRINT " USE COURSE 3, WARP FACTOR 1"
+6010 PRINT "COMMAND 1 = SHORT RANGE SENSOR SCAN"
+6020 PRINT " PRINTS THE QUADRANT YOU ARE CURRENTLY IN, INCLUDING"
+6030 PRINT " STARS, KLINGONS, STARBASES, AND THE ENTERPRISE; ALONG"
+6040 PRINT " WITH OTHER PERTINATE INFORMATION."
+6050 PRINT "COMMAND 2 = LONG RANGE SENSOR SCAN"
+6060 PRINT " SHOWS CONDITIONS IN SPACE FOR ONE QUADRANT ON EACH SIDE"
+6070 PRINT " OF THE ENTERPRISE IN THE MIDDLE OF THE SCAN. THE SCAN"
+6080 PRINT " IS CODED IN THE FORM XXX, WHERE THE UNITS DIGIT IS THE"
+6090 PRINT " NUMBER OF STARS, THE TENS DIGIT IS THE NUMBER OF STAR-"
+6100 PRINT " BASES, THE HUNDREDS DIGIT IS THE NUMBER OF KLINGONS."
+6110 PRINT "COMMAND 3 = PHASER CONTROL"
+6120 PRINT " ALLOWS YOU TO DESTROY THE KLINGONS BY HITTING HIM WITH"
+6130 PRINT " SUITABLY LARGE NUMBERS OF ENERGY UNITS TO DEPLETE HIS "
+6140 PRINT " SHIELD POWER. KEEP IN MIND THAT WHEN YOU SHOOT AT"
+6150 PRINT " HIM, HE GONNA DO IT TO YOU TOO."
+6160 PRINT "COMMAND 4 = PHOTON TORPEDO CONTROL"
+6170 PRINT " COURSE IS THE SAME AS USED IN WARP ENGINE CONTROL"
+6180 PRINT " IF YOU HIT THE KLINGON, HE IS DESTROYED AND CANNOT FIRE"
+6190 PRINT " BACK AT YOU. IF YOU MISS, HE WILL SHOOT HIS PHASERS AT"
+6200 PRINT " YOU."
+6210 PRINT " NOTE: THE LIBRARY COMPUTER (COMMAND 7) HAS AN OPTION"
+6220 PRINT " TO COMPUTE TORPEDO TRAJECTORY FOR YOU (OPTION 2)."
+6230 PRINT "COMMAND 5 = SHIELD CONTROL"
+6240 PRINT " DEFINES NUMBER OF ENERGY UNITS TO BE ASSIGNED TO SHIELDS"
+6250 PRINT " ENERGY IS TAKEN FROM TOTAL SHIP'S ENERGY."
+6260 PRINT "COMMAND 6 = DAMAGE CONTROL REPORT"
+6270 PRINT " GIVES STATE OF REPAIRS OF ALL DEVICES. A STATE OF REPAIR"
+6280 PRINT " LESS THAN ZERO SHOWS THAT THAT DEVICE IS TEMPORARALY"
+6290 PRINT " DAMAGED."
+6300 PRINT "COMMAND 7 = LIBRARY COMPUTER"
+6310 PRINT " THE LIBRARY COMPUTER CONTAINS THREE OPTIONS:"
+6320 PRINT " OPTION 0 = CUMULATIVE GALACTIC RECORD"
+6330 PRINT " SHOWS COMPUTER MEMORY OF THE RESULTS OF ALL PREVIOUS"
+6340 PRINT " LONG RANGE SENSOR SCANS"
+6350 PRINT " OPTION 1 = STATUS REPORT"
+6360 PRINT " SHOWS NUMBER OF KLINGONS, STARDATES AND STARBASES"
+6370 PRINT " LEFT."
+6380 PRINT " OPTION 2 = PHOTON TORPEDO DATA"
+6390 PRINT " GIVES TRAJECTORY AND DISTANCE BETWEEN THE ENTERPRISE"
+6400 PRINT " AND ALL KLINGONS IN YOUR QUADRANT"
+6410 RETURN
+6420 END