home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
SIMTEL
/
CPMUG
/
CPMUG021.ARK
/
STRTRK_3.ASC
< prev
next >
Wrap
Text File
|
1984-04-29
|
20KB
|
546 lines
10 'EXPANDED APRIL 1977 BY W.A.BURTON
11 'PIRATED JAN. 1978 BY ZOSO
20 DIM G(8,8),S(8,8),K(3,3)
30 PRINTCHR$(26)
40 PRINT TAB(21)"--STARTREK--":PRINT
50 PRINT
60 INPUT "WHAT IS YOUR SECURITY CLEARANCE NUMBER (1 TO 1000)";T9
70 E8=T9
80 IF T9<1 OR T9>1000 THEN PRINT AR$;"INVALID!! REENTER!!":GOTO 60
90 FOR A=1 TO T9/2
100 R9=RND(1):R9=RND(2)
110 NEXT
120 CLEAR:PRINTCHR$(26):INPUT" ENTER RANK (1=LOW,12=HIGH)";R9
130 RR=R9
140 X4=R9:R9=R9+1E-03:W1=W1+1E-03
150 PRINT CHR$(26)
160 PRINT "COMMAND ORDER : STAND BY !"
170 PRINT "YOU ARE PRESENTLY BEING ASSIGNED TO A MISSION..."
180 PRINT " WITH A FAILURE FACTOR OF"; (RR*12.5)
190 PRINT" GOOD-BYE, SIR..."
200 CX=.017453:AR$=" ---> "
210 XA=INT(X4*50):AC=(1/(X4+.1))
220 IFX4>=9THEN3790
230 E=3000-XA+100:P=10:S9=200
240 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2)
250 Q1=INT(RND(1)*8+1):Q2=INT(RND(1)*8+1)
260 S1=INT(RND(1)*8+1):S2=INT(RND(1)*8+1)
270 DATA WARP ENGINES,SHORT RANGE SENSORS,LONG RANGE SENSORS
280 DATA PHASERS, PHOTON TORPEDOES,SHIELD CONTROL
290 DATA DAMAGE CONTROL, COMPUTER,DAMAGE REPAIR,COMMUNICATIONS
300 FOR A=1TO10:READ D$(A):NEXT A
310 A$(0)=" . ":A$(1)=" E ":A$(2)=" * ":A$(3)=" K ":A$(4)=" B "
320 F1=.86:F2=.01:F3=.95:F4=.99:K9=0:B9=K9
330 FORI=1TO8:FORJ=1TO8:R1=RND(1):R2=RND(1):R3=INT(8*RND(1)+1)
340 K3=-(R1>F1-F2*R9)-(R1>F3-F2*R9)-(R1>F4-F2*R9):K9=K9+K3
350 B3=-(R2>F3):B9=B9+B3:G(I,J)=100*K3+10*B3+R3:NEXTJ,I
360 IF NOT(B9>0ANDK9>0)THEN320
370 PRINT"OBJECTIVE:DESTROY"K9"KLINGONS USING"B9"STARBASE";
380 U=K9:Y=B9
390 IFB9=1THENPRINT" ";:GOTO410
400 PRINT"S ";
410 T9=K9+RND(1)*K9/R9+10-R9:PR=T9/K9:PRINT"IN"T9"STARDAYS."
420 GOSUB 4250
430 S3=0:B3=S3:K3=B3:FORA=1TO8:FORB=1TO8:S(A,B)=0:NEXTB,A
440 FORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:S(S1,S2)=1
450 X=.01*G(Q1,Q2):K3=INT(X):Y=(X-K3)*10:B3=INT(Y)
460 S3=G(Q1,Q2)-100*K3-10*B3
470 IF K3=0THENFORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:GOTO510
480 PRINTAR$;"CONDITION RED !!!!!":FORA=1TOK3
490 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN490
500 S(R1,R2)=3:K(A,1)=R1:K(A,2)=R2:K(A,3)=S9:NEXT A:IFB3=0THEN540
510 IFB3=0THEN540
520 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN520
530 S(R1,R2)=4
540 IFS3=0THEN580
550 FORA=1TOS3
560 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN560
570 S(R1,R2)=2:NEXTA
580 G(Q1,Q2)=INT(G(Q1,Q2))+.5
590 PRINT
600 PRINT"QUADRANT (";MID$(STR$(Q1),2,1);",";MID$(STR$(Q2),2,1);")"
610 PRINT"SECTOR (";MID$(STR$(S1),2,1);",";MID$(STR$(S2),2,1);")"
620 IFKP<>0THEN4040
630 IF DT=1 THEN 2670
640 IFS<200*K3THENPRINTAR$;"SHIELD ENERGY TOO LOW":SL=1:A=6:GOTO740
650 A=2: GOTO740
660 PRINT
670 PRINTD$(2):FORA=1TO8:FORB=1TO8:PRINTA$(S(A,B));:NEXTB:PRINT:NEXTA
680 PRINT:PRINT"SHIELDS";S;SPC(4);"ENERGY";E;SPC(4);"PHOTONS";P;
690 PRINTSPC(4);"STARDAYS";T9-T
700 GOSUB3210:INPUT"COMMAND";A
710 IF A>10 OR A<0 THEN INPUT" ----> COMMAND";A
720 IFA>10ORA<0THENPRINT"WARNING - PROPER COMMANDS ONLY !! ":GOTO 700
730 IFA=1THEN770
740 IFD(A)>=0THEN770
750 PRINTAR$;"CAPTAIN, WE DON'T HAVE ";D$(A);" ANYMORE."
760 IF DT=1 THEN 2670 ELSE 700
770 ONAGOTO810,660,1460,1520,1780,2130,2220,2670,4890,3890
780 PRINT:FORA=1TO9:PRINTA;" = ";D$(A):NEXTA
790 A=10
800 PRINTA;"= ";D$(A):GOTO700
810 INPUT"COURSE";C1:IF C1<0 OR C1>359.99 THEN840
820 INPUT"WARP FACTOR";W1
830 SL=0:KP=0:GOTO 850
840 PRINTAR$"REJECTED ! COURSE MUST BE IN RANGE OF O TO 359.99 DGRS."
850 IFNOT(W1>0)THEN700
860 IFD(1)>=0ORW1<=ACTHEN890
870 PRINTAR$;"WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = ";AC
880 GOTO810
890 TEC=TEC+1:C$="":IFK3>0THENGOSUB2280
900 IFE>5*W1THEN970
910 IFS<1THEN2440
920 PRINT"CAPTAIN, YOU ONLY HAVE"E"UNITS OF ENERGY. "
930 PRINT"REFUEL FROM YOUR SHIELD RESERVES, WHICH HAVE"S"UNITS?"
940 A=6
950 IFD(A)<0THEN2440
960 GOTO700
970 FORI=1TO10:IFD(I)>=0THEN1010
980 D(I)=D(I)+1:IFD(I)<0THEN1010
990 IFD(7)<0THEN1010
1000 PRINT"DAMAGE CONTROL REPORT: "D$(I)" REPAIRED."
1010 NEXTI:IFRND(1)>.1THEN1120
1020 IFRND(1)>.1THEN1120
1030 GOTO1090
1040 IFRND(1)>R9/10THENRETURN
1050 R1=INT(RND(1)*8+1):IFD(R1)<0THENRETURN
1060 D(R1)=D(R1)-10*RND(1)-1:IFD(7)<0THENRETURN
1070 IFD(7)<0THENRETURN
1080 PRINT:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" OUT.":PRINT:RETURN
1090 R1=INT(RND(1)*8+1):IFD(R1)>=0THEN1120
1100 IFD(7)<0THEN1120
1110 PRINT:D(R1)=0:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" REPAIRED.":PRINT
1120 W1=W1*8:A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFW1<1THENW1=W1*1.25
1130 E=E-2*W1:T=T+W1/25:IFT>T9THEN2510
1140 A2=INT(A1+W1*COS(C1*CX)+.5)
1150 B2=INT(B1+W1*SIN(C1*CX)+.5)
1160 IFNOT(A2<0ORA2>63ORB2<0ORB2>63)THEN1190
1170 PRINTAR$;"CAPTAIN, HEED STARFLEET REGULATIONS! ( STAY IN GALAXY ) !!
1180 T=T+W1/24:GOTO700
1190 DEF FNA1(X)=INT(.5+A1+X*COS(C1*CX))
1200 DEF FNB1(X)=INT(.5+B1+X*SIN(C1*CX))
1210 FORX=0TOINT(W1)
1220 IFNOT(Q1=8-INT(FNB1(X)/8)ANDQ2=INT(FNA1(X)/8+1))THENX=W1:GOTO1390
1230 S3=8-FNB1(X)+8*INT(FNB1(X)/8):S4=FNA1(X)+1-8*INT(FNA1(X)/8)
1240 IFS(S3,S4)<2THEN1390
1250 S(S1,S2)=0:S1=8-FNB1(X-1)+8*INT(FNB1(X-1)/8)
1260 S2=FNA1(X-1)+1-8*INT(FNA1(X 1)/8):S(S1,S2)=1
1270 PRINTAR$;"NAVIGATIONAL ERROR :ENGINES SHUT DOWN AT (";
1280 PRINTMID$(STR$(S1),2,1);","MID$(STR$(S2),2,1);")"
1290 T=T+(W1/24)
1300 PRINT" YOU LOST "T" UNITS STARTIME RESTARTING ENGINES."
1310 PRINT
1320 IF S(S3,S4)<>4 THEN 700
1330 PRINT"SHIELDS LOWERED FOR REFUELING"
1340 S=0:P=10:C$="D":E=3000-XA+100
1350 GOSUB 2280
1360 FORR1=1TO 10
1370 IFD(R1)>=0THENNEXTR1:GOTO700
1380 D(R1)=D(R1)+(11*RND(1)/R9):NEXTR1:GOTO700
1390 NEXT X:S(S1,S2)=0:S1=8-B2+8*INT(B2/8):S2=A2+1-8*INT(A2/8)
1400 Q3=8-INT(B2/8):Q4=INT(A2/8)+1
1410 IFNOT(Q1=Q3ANDQ2=Q4)THENQ1=Q3:Q2=Q4:GOTO430
1420 S(S1,S2)=1:FORA=S1-1TOS1+1:FORB=S2-1TOS2+1
1430 IFA>8ORB>8ORA<1ORB<1THEN1450
1440 IFS(A,B)=4THEN1330
1450 NEXTB,A:GOTO700
1460 PRINT
1470 FOR A=(Q1-1) TO (Q1+1):FOR B=(Q2-1) TO (Q2+1)
1480 IFA<1ORB<1ORA>8ORB>8THENPRINT" ***";:NEXTB:PRINT" ":PRINT:NEXTA:GOTO700
1490 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
1500 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
1510 G(A,B)=INT(G(A,B))+.5:NEXTB:PRINT" ":PRINT:NEXTA:GOTO700
1520 PRINT
1530 IFK3<=0THEN2260
1540 IFD(8)>=0THEN1560
1550 PRINTAR$;" COMPUTER FAILURE HAMPERS ACCURACY"
1560 PRINT"PHASERS LOCKED ON TARGET. ENERGY AVAILABLE="E
1570 PRINT"NUMBER OF UNITS TO FIRE:";
1580 INPUT X
1590 IF E-X<0THENPRINT"NOT ENOUGH POWER":GOTO700
1600 T=T+.05:IFT>T9THEN2510
1610 E=E-X
1620 IF C$<>"D"THEN GOSUB 2280
1630 IFD(8)>=0THEN1650
1640 X=X*RND(1)
1650 FORI=1TO3
1660 IFK(I,3)<=0THEN1760
1670 H=(X/FND(0))+SGN(RND(1)-.5)*8*RND(1)
1680 K(I,3)=K(I,3)-H
1690 PRINTH"UNIT HIT ON VESSEL AT (";MID$(STR$(K(I,1)),2,1);",";
1700 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"K(I,3)"
1710 IFK(I,3)>0THEN1760
1720 PRINT"KLINGON AT (";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
1730 PRINT") DESTROYED":K3=K3-1:K9=K9-1:IFK9=0THEN2640
1740 G(Q1,Q2)=G(Q1,Q2)-100:S(K(I,1),K(I,2))=0:K(I,1)=0:K(I,2)=0
1750 K(I,3)=0
1760 NEXT I
1770 GOTO700
1780 PRINT
1790 IFP>0THEN1820
1800 PRINTAR$;"ALL PHOTON TORPEDOES EXPENDED"
1810 GOTO700
1820 INPUT"DIRECTION";C1
1830 T=T+.05:IFT>T9THEN2510
1840 P=P-1:IF C$<>"D" THEN GOSUB 2280
1850 A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFC1=90*INT(C1/90)THEN2080
1860 DEF FNA1(W1)=INT(.5+A1+W1*COS(C1*CX))
1870 DEF FNB1(W1)=INT(.5+B1+W1*SIN(C1*CX))
1880 FORW1=0TO10STEP.9
1890 IFW1=0THENS3=S1:S4=S2:GOTO1940
1900 IFNOT(Q1=8-INT(FNB1(W1)/8)ANDQ2=INT(FNA1(W1)/8+1))THEN700
1910 S3=8-FNB1(W1)+8*INT(FNB1(W1)/8):S4=FNA1(W1)+1-8*INT(FNA1(W1)/8)
1920 IFFNA1(W1)=A2ANDFNB1(W1)=B2THEN2060
1930 A2=FNA1(W1):B2=FNB1(W1)
1940 PRINT"(";MID$(STR$(S3),2,1);",";MID$(STR$(S4),2,1);")";A$(S(S3,S4))
1950 ON S(S3,S4)+1GOTO2060,2060,2040,1960,2030
1960 IFRND(1)<(.1*X4) THENPRINT"SHIELDS DEFLECT TORPEDO":GOTO700
1970 PRINT"KLINGON DESTROYED":S(S3,S4)=0:G(Q1,Q2)=G(Q1,Q2)-100
1980 K3=K3-1:K9=K9-1:IFK9=0THEN2640
1990 FORA=1TO3
2000 IFK(A,1)=S3ANDK(A,2)=S4THENK(A,1)=0:K(A,2)=0:K(A,3)=0
2010 NEXTA
2020 GOTO700
2030 PRINTAR$;"STARBASE DESTROYED":B3=0:B9=B9-1:S(S3,S4)=0:GOTO2050
2040 PRINTAR$;"YOU CAN'T DESTROY A STAR":GOTO700
2050 G(Q1,Q2)=G(Q1,Q2)-10:GOTO700
2060 NEXT W1
2070 GOTO700
2080 FORW1=0TO8
2090 S3=INT(S1-W1*SIN(C1*CX))
2100 S4=INT(S2+W1*COS(C1*CX))
2110 IFS3>8ORS4>8ORS3<1ORS4<1THEN700
2120 GOTO1940
2130 PRINT
2140 PRINT"ENERGY AVAILABLE="E+S" NUMBER OF UNITS TO SHIELDS";
2150 INPUT X
2160 IFX<0THEN700
2170 IFE+S-X<0THEN2140
2180 E=E+S-X
2190 S=X
2200 IFSL=1THEN650
2210 GOTO700
2220 PRINT
2230 PRINT"DEVICE STATE OF REPAIR"
2240 FORR1=1TO10:PRINTD$(R1);TAB(21) D(R1):NEXTR1
2250 IF DT=1 THEN 2670 ELSE 700
2260 PRINT"SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT"
2270 IF DT=1 THEN 2670 ELSE 700
2280 IF C$="D" AND K3<>0 THEN PRINT"STARBASE PROTECTS ENTERPRISE" ELSE 2300
2290 GOTO700
2300 PRINT
2310 FORI=1TO3
2320 IFK(I,3)<=0THEN2420
2330 H=K(I,3)/FND(0)+SGN(RND(1)-.5)*RND(1)*7
2340 S=S-H:PRINTH"UNIT HIT FROM ("MID$(STR$(K(I,1)),2,1);",";
2350 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"S
2360 IFS<0THEN2540
2370 GOSUB1040
2380 IFRND(1)>R9/10THEN2420
2390 R1=INT(8*RND(1)+1):R2=INT(8*RND(1)+1)
2400 IFNOT(S(R1,R2)=0)THEN2390
2410 S(R1,R2)=3:S(K(I,1),K(I,2))=0:K(I,1)=R1:K(I,2)=R2
2420 NEXTI
2430 RETURN
2440 PRINT AR$;" ENTERPRISE DEAD IN SPACE"
2450 PRINT
2460 CY=1:PRINT:GOTO2580
2470 IFK3<=0THEN2580
2480 GOSUB2280
2490 GOTO2470
2500 PRINT
2510 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
2520 PRINT"IT IS STARDATE"T:PRINT
2530 GOTO2580
2540 PRINT
2550 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
2560 PRINT"ENTERPRISE DISABLED !!":PRINT:PRINT
2570 CY=0
2580 PRINT"THERE ARE"K9"KLINGONS REMAINING.":IFCY<>0THEN3550
2590 PRINT"YOU HAVE FAILED !!":PRINT
2600 L=INT(RND(1)*5)
2610 ONL+1GOTO 3430,3460,3480,3500,3530
2620 PRINT:INPUT"DO YOU WANT TO TRY AGAIN";X$
2630 IF LEFT$(X$,1)="Y" THEN 120 ELSE 5410
2640 PRINT"THE FEDERATION IS SAVED !!"
2650 PRINT"YOU ARE HEREBY PROMOTED TO ADMIRAL!!!!":PRINT
2660 GOTO2620
2670 DT=1
2680 INPUT"COMPUTER ON--COMMAND";A
2690 IF A>=10 THEN PRINT AR$;" NO SUCH COMMAND !!":GOTO 2680
2700 ONA+1GOTO2890,2940,2990,2830,590,3390,3410,5100,700
2710 PRINT"FUNCTIONS AVAILABLE FROM COMPUTER"
2720 PRINT" 0 = GALACTIC MEMORY MAP"
2730 PRINT" 1 = GENERAL STATUS REPORT"
2740 PRINT" 2 = PHOTON TRAJECTORY"
2750 PRINT" 3 = NEW MISSION"
2760 PRINT" 4 = PRESENT POSITION"
2770 PRINT" 5 = SELF-DESTRUCT"
2780 PRINT" 6 = WARP-COMPASS"
2790 PRINT" 7 = MISSION PROGRESS REPORT"
2800 PRINT" 8 = EXIT COMPUTER"
2810 GOTO2670
2820 PRINT:PRINT"--TEMPORARY MALFUNCTION--":GOTO 700
2830 IF XM<0 THEN 2870
2840 PRINT AR$;"SAFETY CHECK -- DO YOU WISH TO ABORT MISSION":INPUT AN$
2850 IF LEFT$(AN$,1)<>"Y" THEN 2880 ELSE 120
2860 PRINT
2870 PRINT"YOU HAVE NOT BEEN AUTHORIZED FOR NEW MISSION !!":PRINT
2880 GOTO 2670
2890 PRINT"QUADRANT CODE MEMORY MAP"
2900 FORA=1TO8:FORB=1TO8:IFG(A,B)=INT(G(A,B))THENPRINT" ???";:GOTO2930
2910 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
2920 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
2930 NEXTB:PRINT" ":NEXTA:GOTO 2670
2940 PRINT" STATUS REPORT"
2950 PRINT"NUMBER OF KLINGONS LEFT ="K9
2960 PRINT"NUMBER OF STARDATES LEFT ="T9-T
2970 PRINT"NUMBER OF STARBASES LEFT ="B9
2980 A=7:GOTO740
2990 IFK3=0THEN2260
3000 IFD(2)<0THENA=2:GOTO730
3010 PRINT"COORD","LOWDIR","HIGHDIR","DIST"
3020 FORA=1TO47:PRINT"-";:NEXTA
3030 PRINT
3040 FORI=0TO3
3050 IFNOT(K(I,3)>0)THEN3180
3060 W1=SQR((S1-K(I,1))^2+(S2-K(I,2))^2)
3070 IF W1=0 THENPRINT"--->MALFUNCTION !":GOTO700
3080 ON ERROR GOTO 2820
3090 C1=1.5708-ATN((K(I,2)-S2)/W1/SQR(1-((K(I,2)-S2)/W1)^2))
3100 ON ERROR GOTO 2820
3110 C1=C1*SGN(S1-K(I,1))/CX
3120 C2(I)=C1-(10*RND(1))
3130 C3(I)=C1+(10*RND(1))
3140 IF C3(I)<0 THEN C3(I)=C3(I)+360
3150 IF C2(I)<0 THEN C2(I)=C2(I)+360
3160 PRINT"(";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
3170 PRINT")",C2(I),C3(I),W1
3180 NEXTI
3190 IF DT=1 THEN 2670 ELSE 700
3200 RETURN
3210 MR=(T9-T)/K9:DT=0
3220 XM=((MR-PR)/PR)*100
3230 IFKA=1THENPRINTTK-T"STARDATES LEFT TO SAVE STARBASE.":GOTO3320
3240 IFRND(1)>.01*R9ORB9=0THENRETURN
3250 KA=1:FORA=1TO8:FORB=1TO8
3260 IFG(A,B)-100*INT(G(A,B)/100)>9THENK1=A:K2=B:IFRND(1)>.5THENA=8:B=8
3270 NEXTB,A:TK=T+.09*SQR((Q1-K1)^2+(Q2-K2)^2)*(10-R9)
3280 TK=TK+1
3290 PRINTAR$;"!!! STARBASE IN QUADRANT ("MID$(STR$(K1),2,1)",";
3300 PRINTMID$(STR$(K2),2,1)") IS UNDER ATTACK!!"
3310 PRINT"YOU HAVE"TK-T"STARDATES TO SAVE IT!":RETURN
3320 IFT<TKTHEN3370
3330 PRINT"TOO LATE!":KA=0:G(K1,K2)=G(K1,K2)-10:B9=B9-1
3340 IFNOT(Q1=K1ANDQ2=K2)THENRETURN
3350 FORA=1TO8:FORB=1TO8:IFS(A,B)=4THENS(A,B)=0
3360 NEXTB,A:RETURN
3370 IFQ1=K1ANDQ2=K2THENPRINT"YOU ARRIVED IN TIME! STARBASE SAVED!"
3380 KA=0:GOTO700
3390 IF SD<>1 THEN 4210 ELSE 5300
3400 GOTO700
3410 GOSUB 3650
3420 GOTO 2670
3430 PRINT"YOU HAVE SCREWED UP ONCE TOO OFTEN !"
3440 PRINT"OFF TO THE VULCAN TORTURE CAMPS !!"
3450 IFT<= 0THEN2620ELSE3550
3460 PRINT"YOU WILL BE EXECUTED AT SUNRISE"
3470 GOTO3550
3480 PRINT"YOU WILL BE PUT TO DEATH FOR YOUR INCOMPETENCE"
3490 GOTO3550
3500 PRINT"YOU WILL BE CONFINED TO YOUR QUARTERS UNTIL"
3510 PRINT"VULCAN'S MOONS BECOME TOURIST TRAPS !!"
3520 IFT<=0THEN2620ELSE3550
3530 PRINT"IMBECILE !! WE HOPE YOU CONSIDER SUICIDE!"
3540 IFT<=0THEN2620ELSE3550
3550 L=(U-K9)*10+((U-K9)*500/T)-100*(Y-B9)
3560 IFE<=0ORS<0THENL=L-200
3570 IFK9=0THENL=L+(R9*100)
3580 PRINT:PRINT
3590 PRINT"YOUR MISSION RATING IS: ";L
3600 PRINT:PRINT:PRINT:PRINT:PRINT
3610 GOSUB 5430
3620 PRINTCHR$(26)
3630 GOTO5440
3640 GOTO2620
3650 PRINT
3660 PRINT" O9O"
3670 PRINT" 135 . O45"
3680 PRINT" . . ."
3690 PRINT" . . ."
3700 PRINT"18O . . . . . . .OOO WARP-COMPASS"
3710 PRINT" . . ."
3720 PRINT" . . ."
3730 PRINT" 225 . 315"
3740 PRINT" 27O"
3750 PRINT
3760 RETURN
3770 XX=INT(RND(2)*10)+1
3780 RETURN
3790 PRINT:IFX4>12THEN3880
3800 PRINT"COMMAND CENTRAL ADVISES THAT YOUR RANKING-";X4;"-IS IN THE EXPERT"
3810 PRINT"CATEGORY. BE ADVISED THAT IF YOU ARE NOT PROPERLY QUALIFIED"
3820 PRINT"YOUR CHANCES OF AVOIDING FAILURE ARE NIL."
3830 PRINT
3840 PRINT"DO YOU WISH REASSIGNMENT TO A LESS HAZARDOUS MISSION (Y OR N)"
3850 INPUTAN$
3860 IFLEFT$(AN$,1)="Y"THEN120
3870 PRINTCHR$(26):GOTO230
3880 PRINT"YOU HAVE REQUESTED A SUICIDE MISSION":GOTO3830
3890 PRINT"--COMMUNICATIONS ACTIVE--"
3900 PRINT
3910 GOSUB3770
3920 PD=XX
3930 GOSUB3770
3940 PE=XX
3950 GOSUB3770
3960 PF=XX
3970 GOSUB3770
3980 PG=XX
3990 PH=PD*10+PE
4000 PJ=PF*10+PG
4010 IFPH=PJTHEN 2820
4020 KP=1:IFPD=PEORPF=PGTHEN4030ELSE4050
4030 PRINT"SUNSPOTS BLOCK TRANSMISSION AT : ":GOTO600
4040 PRINT"MOVE ELSEWHERE AND TRY AGAIN":PRINT:GOTO 810
4050 PRINT"AUTHORIZED FREQUENCIES":PRINT
4060 PRINT"FEDERATION COMMAND BASE = ";PH
4070 PRINT"KLINGON COMMAND CENTRAL = ";PJ
4080 PRINT
4090 INPUT"COMMUNICATION ON CHANNEL ";XF
4100 IFXF=PHTHEN4320
4110 IFXF=PJTHEN4610
4120 PRINT
4130 PRINTAR$;"ALERT !!"
4140 PRINT"ATTEMPTED COMMUNICATION ON UNAUTHORIZED FREQUENCY"
4150 PRINT
4160 PRINT"WHILE SECURITY CHECK IS CONDUCTED ON ENTERPRISE"
4170 GOSUB3770:A=XX
4180 GOSUB3770:I=(XX/2)+(X4/7)
4190 PRINT"YOUR ";D$(A);" WILL BE INOPERATIVE FOR ";I "UNITS OF STARTIME"
4200 D(A)=D(A)-I:GOTO700
4210 PRINT
4220 PRINT"SECURITY CONTROL ADVISES THAT NO AUTHORIZATION HAS BEEN"
4230 PRINT"GIVEN TO ACTIVATE SELF- DESTRUCT SYSTEM."
4240 PRINT"PROCEED WITH ASSIGNED MISSION":PRINT:GOTO 2680
4250 PRINT
4260 PRINT"BE ADVISED, YOUR MISSION PROGRESS FACTOR IS";PR
4270 GOSUB 3770
4280 TF=(XX*X4)/1.6:IF TF<10 THEN TF=TF+10
4290 PRINT" THE TOLERANCE FACTOR FOR THIS MISSION IS [+/-]";TF;"PERCENT"
4300 PRINT
4310 RETURN
4320 ONSGN(XM)+2GOTO4330,4370,4390
4330 IFABS(XM)>(TF*1.5)THEN4450
4340 IFABS(XM)>TFTHEN4420
4350 PRINT:PRINT"CAPTAIN, YOU ARE BEHIND SCHEDULE - LET'S GO !!"
4360 GOTO 700
4370 PRINT:PRINT"YOU ARE EXACTLY ON COMPUTED SCHEDULE; PROCEED WITH MISSION"
4380 GOTO700
4390 IFXM>TFTHEN4540:IFXM>(TF*1.5)THEN4570
4400 PRINT:PRINT"YOU ARE AHEAD OF COMPUTED SCHEDULE, KEEP UP THE GOOD WORK !!"
4410 GOTO700
4420 PRINT:PRINT"YOU ARE BEHIND SCHEDULE AND OUT OF TOLERANCE FACTOR !!"
4430 PRINT"COMMAND CONTROL PROJECTS FAILURE...YOU MAY SURRENDER TO ENEMY"
4440 EQ=1:SD=1:GOTO 3890
4450 YY=AC^X4
4460 PRINTCHR$(26)
4470 PRINTAR$;"---------COMPUTER PROJECTION----------":PRINT
4480 PRINT"PROJECTED LIKELIHOOD OF SUCCESS FOR YOUR MISSION =";YY;"PERCENT"
4490 PRINT"WE HAVE AUTO ACTIVATED SELF-DESTRUCT SYSTEM ON YOUR VESSEL"
4500 PRINT"GOODBYE, CAPTAIN.............":PRINT
4510 PRINT"END OF MESSAGE FROM FEDERATION COMMAND":PRINT:PRINT
4520 GOSUB 5430
4530 GOTO 5300
4540 PRINT:PRINT"YOU ARE AHEAD OF SCHEDULE AND BEYOND TOLERANCE FACTOR"
4550 PRINT"CALL KLINGON LEADERS AND REQUEST THEIR SURRENDER":KQ=1
4560 PRINT:GOTO3890
4570 PRINTAR$;"MESSAGE FROM COMMAND BASE"
4580 PRINT:PRINT"ENEMY HAS SURRENDERED TO FEDERATION COMMAND !!"
4590 PRINT:PRINT:PRINT:PRINT
4600 GOTO2640
4610 IF KQ=1 THEN 4860:IF EQ=1 THEN 4640
4620 ON SGN(XM)+2 GOTO 4630,4690,4740
4630 IF ABS(XM)<=TFTHEN4690
4640 PRINT:PRINT"KLINGON COMMAND ON FREQUENCY"
4650 PRINT"NATURALLY, WE ARE PLEASED THAT YOU ARE CONCEDING, CAPTAIN"
4660 PRINT"WE ARE PRESENTLY BOARDING YOUR CRAFT"
4670 PRINT:PRINT"HERE IS A MESSAGE FROM YOUR LEADERS-":PRINT:GOSUB 5430
4680 PRINTCHR$(26):GOTO 2600
4690 GOSUB 3770
4700 IFXX<=5THEN 4730
4710 PRINT:PRINT"MESSAGE FROM KLINGON COMMAND...."
4720 PRINT"NO FURTHER COMMUNICATIONS AT THIS TIME":GOTO 4820
4730 PRINT:PRINT"WE'LL TALK WITH OUR WEAPONS, EARTH-SWINE !!":GOTO 4820
4740 GOSUB 3770
4750 AQ=INT((XX+1)/2)
4760 ON AQ GOTO 4710,4730,4770,4770,4740
4770 GF=TF*1.5
4780 IFXM>GFTHEN 4860
4790 IFXM>TFTHEN 4830
4800 PRINT:PRINT"CAPTAIN, DESPITE YOUR SLIGHT ADVANTAGE, YOU ARE NO MATCH FOR"
4810 PRINT"THE GLORIOUS KLINGON FLEET"
4820 PRINTTAB(25)"END OF MESSAGE FROM KLINGON COMMAND":GOTO700
4830 GOSUB3770
4840 IFXX<=5THENPRINT" KLINGON COMMAND TO ENTERPRISE..":GOTO4730
4850 GOTO4870
4860 PRINTCHR$(26)
4870 PRINT:PRINT"MESSAGE FROM KLINGON LEADERS..."
4880 PRINT:PRINT"WE CONCEDE THE WAR, SIR, CONGRATULATIONS !!":GOTO3600
4890 AV=INT(X4/2)+1:DR=-1
4900 IF TEC<AV THEN 4920
4910 IF C$<>"D" THEN 4960 ELSE 4980
4920 AU=AV-TEC:IFAU=1THENKF$=""ELSEKF$="S"
4930 PRINT:PRINT"DAMAGE REPAIR INACTIVE !!"
4940 PRINT"REQUIRES";AU;"MORE RECHARGE UNIT";KF$
4950 PRINT:GOTO 700
4960 PRINT:PRINTAR$"YOU MUST BE DOCKED AT STARBASE FOR DAMAGE REPAIR !!"
4970 PRINT:GOTO 700
4980 PRINT
4990 PRINT:FORA=1TO10
5000 IFD(A)<0THENPRINT TAB(10)A;TAB(20)D$(A);TAB(40)"DAMAGED"
5010 NEXT
5020 PRINT:PRINT"IF NO DAMAGE INDICATED ABOVE, ANSWER WITH 0 (ZERO)"
5030 INPUT "WHICH ONE TO REPAIR ";A
5040 IFA<1ORA>10THENPRINTAR$;:GOTO 700
5050 IF D(A)<0 THEN 5070
5060 PRINT:PRINTD$(A);" NOT DAMAGED !!":GOTO 5030
5070 PRINT:PRINTTAB(20)D$(A);"---REPAIRED":PRINT
5080 D(A)=0:TEC=0:GOTO700
5090 PRINT:PRINTAR$;"NOTHING DAMAGED AT PRESENT":GOTO700
5100 PRINT
5110 GOSUB4290
5120 PRINT"INITIAL MISSION PROGRESS FACTOR WAS";PR
5130 PRINT"CURRENT MISSION PROGRESS FACTOR IS ";MR
5140 IF XM<0 THEN PW$=" WORSENED "ELSE PW$=" IMPROVED "
5150 PRINT
5160 PRINT"YOUR COMBAT SITUATION HAS";PW$;"BY A FACTOR OF";XM;"PERCENT"
5170 IF ABS(XM)>=TF THEN EG$=" NOT "ELSE EG$=" "
5180 IF EG$=" "THEN EH$=""ELSE EH$=AR$
5190 PRINT EH$;"YOUR PROGRESS IS";EG$;"WITHIN TOLERANCE FOR THIS MISSION"
5200 PRINT
5210 IF EG$=" NOT "THEN 5220 ELSE 2670
5220 IF XM<0 THEN 5230 ELSE 5270
5230 PRINT:SD=1:KD=0
5240 PRINT"CAPTAIN, COMMAND CENTRAL PROJECTS DEFEAT BY ENEMY. YOU ARE NOW"
5250 PRINT"AUTHORIZED TO SURRENDER OR TO ACTIVATE SELF-DESTRUCT SYSTEM"
5260 GOTO2670
5270 PRINT:SD=0:KD=1
5280 PRINT"CAPTAIN, FEDERATION COMMAND PROJECTS SUCCESS FOR YOUR MISSION."
5290 GOTO 4540
5300 PRINTCHR$(26)
5310 GOSUB 5420
5320 PRINT"SELF DESTRUCT SYSTEM ACTIVATED"
5330 PRINT:PRINT:PRINT:GOSUB 5420
5340 PRINT"COUNTDOWN BEGUN !":PRINT:PRINT
5350 PRINTTAB(25)"FIVE":PRINT:GOSUB 5420
5360 PRINTTAB(20)"FOUR":PRINT:GOSUB 5420
5370 PRINTTAB(15)"THREE":PRINT:GOSUB 5420
5380 PRINTTAB(10)"TWO":PRINT:GOSUB 5420
5390 PRINTTAB(5)"ONE":PRINT:GOSUB 5420
5400 PRINT"ZERO":GOSUB 5420
5410 PRINTCHR$(26):GOTO5440
5420 FOR I=1 TO 50:A=A+1:NEXT:RETURN
5430 FOR I=1 TO 1200:A=A+1:NEXT:RETURN
5440 RESET