X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=www%2Fhistoric%2Fmayfield.basic;fp=www%2Fhistoric%2Fmayfield.basic;h=0000000000000000000000000000000000000000;hp=052da0bb630ebe8d0aff321d55a19978e0c77bd3;hb=c852e04ec5d3c05393db8f655647a55bd47cfc82;hpb=0b7c6f59f37a427d0734779798a1f502c643609a diff --git a/www/historic/mayfield.basic b/www/historic/mayfield.basic deleted file mode 100644 index 052da0b..0000000 --- a/www/historic/mayfield.basic +++ /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= 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