From: Stas Sergeev Date: Tue, 12 Sep 2006 19:17:42 +0000 (+0000) Subject: move away www, hope that wont make any harm X-Git-Tag: 2.0~292 X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=commitdiff_plain;h=c852e04ec5d3c05393db8f655647a55bd47cfc82 move away www, hope that wont make any harm --- diff --git a/www/historic/UT-Trek.basic b/www/historic/UT-Trek.basic deleted file mode 100644 index 452bf0a..0000000 --- a/www/historic/UT-Trek.basic +++ /dev/null @@ -1,1192 +0,0 @@ -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= 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*1500 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 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 diff --git a/www/index.html b/www/index.html deleted file mode 100644 index 45d70db..0000000 --- a/www/index.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - Super Star Trek home page - - - - -

Super Star Trek — a classic computer game

- -

Save the Federation from the invading Klingons! Visit exotic -planets and strip-mine them for dilithium! Encounter mysterious space -thingies! This is the home page of the classic Super Star Trek game -from the days of slow teletypes, reloaded.

- -

SST2K is a modern Unix port of the University of Texas "Super Star -Trek" game originally written in FORTRAN in the mid-1970s. It has -options to restrict its feature set to what was in earlier versions.

- -

SST2K is a kind of time machine back to what interactive programs were -like in the days of hardcopy terminals, before graphics and before -even video displays. Despite this archaism and decades after it was -written, SST2K retains significant play value. We think it's both fun -and instructive to see how good a game could be written under those -conditions.

- -

Presently the code is available only via Subversion -at the SST -Project Page on berlios.de. It builds and runs. We expect to do -an actual release Real Soon Now.

- -

In the meantime, you can at least browse the game -documentation. - -

You can read the project's to-do list. If -you want to help with these things, here are the project mailing -lists:

- -
    -
  • sst-users -is for questions and technical support on sst.

  • - -
  • sst-dev -is for sst developers.

  • - -
  • sst-commit-watch -carries notifications of commits to the Subversion archive. It is -recommended that developers subscribe to this.

- - -

Tom Almy, one of the SST project founders, has an SST page of his own.

- -

There is a Wikipedia -entry.

- -

SST is fairly closely related to Eric Allman's BSD Trek, which also started -life as a C translation of UT Super Star Trek. BSD Trek is missing most of -the post-1978 features of SST2K, but does add a cloaking device for the -Romulans.

- -

The only other really current Star Trek port we know of is -OpenTrek, -which appears to be set in the ST:TNG universe (featuring the Borg -Collective as the villains) and has a fancy graphical interface.

- -

(There are also some multi-player Trek variants out there, notably -XTrek and NetTrek, that have a very different feel from any of the -Trek solitaires.)

- -

For a truly retro-Trek experience, see the Star Trek ASCII Art -Archive.

- -

If this game interested you, you may want to check out some of the -other ancient games at the Retrocomputing Museum.

- - - - diff --git a/www/lpt.jpg b/www/lpt.jpg deleted file mode 100644 index cc74ea0..0000000 Binary files a/www/lpt.jpg and /dev/null differ diff --git a/www/upload b/www/upload deleted file mode 100755 index b8066a1..0000000 --- a/www/upload +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# -# Upload gpsd docs -# -xmlto xhtml-nochunks ../sst-doc.xml -scp ../TODO ../CHANGES *.html *.jpg esr@shell.berlios.de:/home/groups/sst/htdocs