move away www, hope that wont make any harm
[super-star-trek.git] / www / historic / mayfield.basic
diff --git a/www/historic/mayfield.basic b/www/historic/mayfield.basic
deleted file mode 100644 (file)
index 052da0b..0000000
+++ /dev/null
@@ -1,643 +0,0 @@
-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