home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpmug
/
cpmug021.ark
/
STRTRK_2.ASC
< prev
next >
Wrap
Text File
|
1984-04-29
|
21KB
|
546 lines
1000 'EXPANDED APRIL 1977 BY W.A.BURTON
1001 'PIRATED JAN. 1978 BY ZOSO
1002 DIM G(8,8),S(8,8),K(3,3)
1003 PRINTCHR$(26)
1004 PRINT TAB(21)"--STARTREK--":PRINT
1005 PRINT
1006 INPUT "WHAT IS YOUR SECURITY CLEARANCE NUMBER (1 TO 1000)";T9
1007 E8=T9
1008 IF T9<1 OR T9>1000 THEN PRINT AR$;"INVALID!! REENTER!!":GOTO 1006
1009 FOR A=1 TO T9/2
1010 R9=RND(1):R9=RND(2)
1011 NEXT
1012 CLEAR:PRINTCHR$(26):INPUT" ENTER RANK (1=LOW,12=HIGH)";R9
1013 RR=R9
1014 X4=R9:R9=R9+1E-03:W1=W1+1E-03
1015 PRINT CHR$(26)
1016 PRINT "COMMAND ORDER : STAND BY !"
1017 PRINT "YOU ARE PRESENTLY BEING ASSIGNED TO A MISSION..."
1018 PRINT " WITH A FAILURE FACTOR OF"; (RR*20)
1019 PRINT" GOOD-BYE, SIR..."
1020 CX=.017453:AR$=" ---> "
1021 XA=INT(X4*50):AC=(1/(X4+.1))
1022 IFX4>=9THEN1379
1023 E=3000-XA+100:P=10:S9=200
1024 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2)
1025 Q1=INT(RND(1)*8+1):Q2=INT(RND(1)*8+1)
1026 S1=INT(RND(1)*8+1):S2=INT(RND(1)*8+1)
1027 DATA WARP ENGINES,SHORT RANGE SENSORS,LONG RANGE SENSORS
1028 DATA PHASERS, PHOTON TORPEDOES,SHIELD CONTROL
1029 DATA DAMAGE CONTROL, COMPUTER,DAMAGE REPAIR,COMMUNICATIONS
1030 FOR A=1TO10:READ D$(A):NEXT A
1031 A$(0)=" . ":A$(1)=" E ":A$(2)=" * ":A$(3)=" K ":A$(4)=" B "
1032 F1=.86:F2=.01:F3=.95:F4=.99:K9=0:B9=K9
1033 FORI=1TO8:FORJ=1TO8:R1=RND(1):R2=RND(1):R3=INT(8*RND(1)+1)
1034 K3=-(R1>F1-F2*R9)-(R1>F3-F2*R9)-(R1>F4-F2*R9):K9=K9+K3
1035 B3=-(R2>F3):B9=B9+B3:G(I,J)=100*K3+10*B3+R3:NEXTJ,I
1036 IF NOT(B9>0ANDK9>0)THEN1032
1037 PRINT"OBJECTIVE:DESTROY"K9"KLINGONS USING"B9"STARBASE";
1038 U=K9:Y=B9
1039 IFB9=1THENPRINT" ";:GOTO1041
1040 PRINT"S ";
1041 T9=K9+RND(1)*K9/R9+10-R9:PR=T9/K9:PRINT"IN"T9"STARDAYS."
1042 GOSUB 1425
1043 S3=0:B3=S3:K3=B3:FORA=1TO8:FORB=1TO8:S(A,B)=0:NEXTB,A
1044 FORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:S(S1,S2)=1
1045 X=.01*G(Q1,Q2):K3=INT(X):Y=(X-K3)*10:B3=INT(Y)
1046 S3=G(Q1,Q2)-100*K3-10*B3
1047 IF K3=0THENFORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:GOTO1051
1048 PRINTAR$;"CONDITION RED !!!!!":FORA=1TOK3
1049 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1049
1050 S(R1,R2)=3:K(A,1)=R1:K(A,2)=R2:K(A,3)=S9:NEXT A:IFB3=0THEN1054
1051 IFB3=0THEN1054
1052 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1052
1053 S(R1,R2)=4
1054 IFS3=0THEN1058
1055 FORA=1TOS3
1056 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1056
1057 S(R1,R2)=2:NEXTA
1058 G(Q1,Q2)=INT(G(Q1,Q2))+.5
1059 PRINT
1060 PRINT"QUADRANT (";MID$(STR$(Q1),2,1);",";MID$(STR$(Q2),2,1);")"
1061 PRINT"SECTOR (";MID$(STR$(S1),2,1);",";MID$(STR$(S2),2,1);")"
1062 IFKP<>0THEN1404
1063 IF DT=1 THEN 1267
1064 IFS<200*K3THENPRINTAR$;"SHIELD ENERGY TOO LOW":SL=1:A=6:GOTO1074
1065 A=2: GOTO1074
1066 PRINT
1067 PRINTD$(2):FORA=1TO8:FORB=1TO8:PRINTA$(S(A,B));:NEXTB:PRINT:NEXTA
1068 PRINT:PRINT"SHIELDS";S;SPC(4);"ENERGY";E;SPC(4);"PHOTONS";P;
1069 PRINTSPC(4);"STARDAYS";T9-T
1070 GOSUB1321:INPUT"COMMAND";A
1071 IF A>10 OR A<0 THEN INPUT" ----> COMMAND";A
1072 IFA>10ORA<0THENPRINT"WARNING - PROPER COMMANDS ONLY !! ":GOTO 1070
1073 IFA=1THEN1077
1074 IFD(A)>=0THEN1077
1075 PRINTAR$;"CAPTAIN, WE DON'T HAVE ";D$(A);" ANYMORE."
1076 IF DT=1 THEN 1267 ELSE 1070
1077 ONAGOTO1081,1066,1146,1152,1178,1213,1222,1267,1489,1389
1078 PRINT:FORA=1TO9:PRINTA;" = ";D$(A):NEXTA
1079 A=10
1080 PRINTA;"= ";D$(A):GOTO1070
1081 INPUT"COURSE";C1:IF C1<0 OR C1>359.99 THEN1084
1082 INPUT"WARP FACTOR";W1
1083 SL=0:KP=0:GOTO 1085
1084 PRINTAR$"REJECTED ! COURSE MUST BE IN RANGE OF O TO 359.99 DGRS."
1085 IFNOT(W1>0)THEN1070
1086 IFD(1)>=0ORW1<=ACTHEN1089
1087 PRINTAR$;"WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = ";AC
1088 GOTO1081
1089 TEC=TEC+1:C$="":IFK3>0THENGOSUB1228
1090 IFE>5*W1THEN1097
1091 IFS<1THEN1244
1092 PRINT"CAPTAIN, YOU ONLY HAVE"E"UNITS OF ENERGY. "
1093 PRINT"REFUEL FROM YOUR SHIELD RESERVES, WHICH HAVE"S"UNITS?"
1094 A=6
1095 IFD(A)<0THEN1244
1096 GOTO1070
1097 FORI=1TO10:IFD(I)>=0THEN1101
1098 D(I)=D(I)+1:IFD(I)<0THEN1101
1099 IFD(7)<0THEN1101
1100 PRINT"DAMAGE CONTROL REPORT: "D$(I)" REPAIRED."
1101 NEXTI:IFRND(1)>.1THEN1112
1102 IFRND(1)>.1THEN1112
1103 GOTO1109
1104 IFRND(1)>R9/10THENRETURN
1105 R1=INT(RND(1)*8+1):IFD(R1)<0THENRETURN
1106 D(R1)=D(R1)-10*RND(1)-1:IFD(7)<0THENRETURN
1107 IFD(7)<0THENRETURN
1108 PRINT:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" OUT.":PRINT:RETURN
1109 R1=INT(RND(1)*8+1):IFD(R1)>=0THEN1112
1110 IFD(7)<0THEN1112
1111 PRINT:D(R1)=0:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" REPAIRED.":PRINT
1112 W1=W1*8:A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFW1<1THENW1=W1*1.25
1113 E=E-2*W1:T=T+W1/25:IFT>T9THEN1251
1114 A2=INT(A1+W1*COS(C1*CX)+.5)
1115 B2=INT(B1+W1*SIN(C1*CX)+.5)
1116 IFNOT(A2<0ORA2>63ORB2<0ORB2>63)THEN1119
1117 PRINTAR$;"CAPTAIN, HEED STARFLEET REGULATIONS! ( STAY IN GALAXY ) !!
1118 T=T+W1/24:GOTO1070
1119 DEF FNA1(X)=INT(.5+A1+X*COS(C1*CX))
1120 DEF FNB1(X)=INT(.5+B1+X*SIN(C1*CX))
1121 FORX=0TOINT(W1)
1122 IFNOT(Q1=8-INT(FNB1(X)/8)ANDQ2=INT(FNA1(X)/8+1))THENX=W1:GOTO1139
1123 S3=8-FNB1(X)+8*INT(FNB1(X)/8):S4=FNA1(X)+1-8*INT(FNA1(X)/8)
1124 IFS(S3,S4)<2THEN1139
1125 S(S1,S2)=0:S1=8-FNB1(X-1)+8*INT(FNB1(X-1)/8)
1126 S2=FNA1(X-1)+1-8*INT(FNA1(X 1)/8):S(S1,S2)=1
1127 PRINTAR$;"NAVIGATIONAL ERROR :ENGINES SHUT DOWN AT (";
1128 PRINTMID$(STR$(S1),2,1);","MID$(STR$(S2),2,1);")"
1129 T=T+(W1/24)
1130 PRINT" YOU LOST "T" UNITS STARTIME RESTARTING ENGINES."
1131 PRINT
1132 IF S(S3,S4)<>4 THEN 1070
1133 PRINT"SHIELDS LOWERED FOR REFUELING"
1134 S=0:P=10:C$="D":E=3000-XA+100
1135 GOSUB 1228
1136 FORR1=1TO 10
1137 IFD(R1)>=0THENNEXTR1:GOTO1070
1138 D(R1)=D(R1)+(11*RND(1)/R9):NEXTR1:GOTO1070
1139 NEXT X:S(S1,S2)=0:S1=8-B2+8*INT(B2/8):S2=A2+1-8*INT(A2/8)
1140 Q3=8-INT(B2/8):Q4=INT(A2/8)+1
1141 IFNOT(Q1=Q3ANDQ2=Q4)THENQ1=Q3:Q2=Q4:GOTO1043
1142 S(S1,S2)=1:FORA=S1-1TOS1+1:FORB=S2-1TOS2+1
1143 IFA>8ORB>8ORA<1ORB<1THEN1145
1144 IFS(A,B)=4THEN1133
1145 NEXTB,A:GOTO1070
1146 PRINT
1147 FOR A=(Q1-1) TO (Q1+1):FOR B=(Q2-1) TO (Q2+1)
1148 IFA<1ORB<1ORA>8ORB>8THENPRINT" ***";:NEXTB:PRINT" ":PRINT:NEXTA:GOTO1070
1149 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
1150 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
1151 G(A,B)=INT(G(A,B))+.5:NEXTB:PRINT" ":PRINT:NEXTA:GOTO1070
1152 PRINT
1153 IFK3<=0THEN1226
1154 IFD(8)>=0THEN1156
1155 PRINTAR$;" COMPUTER FAILURE HAMPERS ACCURACY"
1156 PRINT"PHASERS LOCKED ON TARGET. ENERGY AVAILABLE="E
1157 PRINT"NUMBER OF UNITS TO FIRE:";
1158 INPUT X
1159 IF E-X<0THENPRINT"NOT ENOUGH POWER":GOTO1070
1160 T=T+.05:IFT>T9THEN1251
1161 E=E-X
1162 IF C$<>"D"THEN GOSUB 1228
1163 IFD(8)>=0THEN1165
1164 X=X*RND(1)
1165 FORI=1TO3
1166 IFK(I,3)<=0THEN1176
1167 H=(X/FND(0))+SGN(RND(1)-.5)*8*RND(1)
1168 K(I,3)=K(I,3)-H
1169 PRINTH"UNIT HIT ON VESSEL AT (";MID$(STR$(K(I,1)),2,1);",";
1170 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"K(I,3)"
1171 IFK(I,3)>0THEN1176
1172 PRINT"KLINGON AT (";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
1173 PRINT") DESTROYED":K3=K3-1:K9=K9-1:IFK9=0THEN1264
1174 G(Q1,Q2)=G(Q1,Q2)-100:S(K(I,1),K(I,2))=0:K(I,1)=0:K(I,2)=0
1175 K(I,3)=0
1176 NEXT I
1177 GOTO1070
1178 PRINT
1179 IFP>0THEN1182
1180 PRINTAR$;"ALL PHOTON TORPEDOES EXPENDED"
1181 GOTO1070
1182 INPUT"DIRECTION";C1
1183 T=T+.05:IFT>T9THEN1251
1184 P=P-1:IF C$<>"D" THEN GOSUB 1228
1185 A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFC1=90*INT(C1/90)THEN1208
1186 DEF FNA1(W1)=INT(.5+A1+W1*COS(C1*CX))
1187 DEF FNB1(W1)=INT(.5+B1+W1*SIN(C1*CX))
1188 FORW1=0TO10STEP.9
1189 IFW1=0THENS3=S1:S4=S2:GOTO1194
1190 IFNOT(Q1=8-INT(FNB1(W1)/8)ANDQ2=INT(FNA1(W1)/8+1))THEN1070
1191 S3=8-FNB1(W1)+8*INT(FNB1(W1)/8):S4=FNA1(W1)+1-8*INT(FNA1(W1)/8)
1192 IFFNA1(W1)=A2ANDFNB1(W1)=B2THEN1206
1193 A2=FNA1(W1):B2=FNB1(W1)
1194 PRINT"(";MID$(STR$(S3),2,1);",";MID$(STR$(S4),2,1);")";A$(S(S3,S4))
1195 ON S(S3,S4)+1GOTO1206,1206,1204,1196,1203
1196 IFRND(1)<(.1*X4) THENPRINT"SHIELDS DEFLECT TORPEDO":GOTO1070
1197 PRINT"KLINGON DESTROYED":S(S3,S4)=0:G(Q1,Q2)=G(Q1,Q2)-100
1198 K3=K3-1:K9=K9-1:IFK9=0THEN1264
1199 FORA=1TO3
1200 IFK(A,1)=S3ANDK(A,2)=S4THENK(A,1)=0:K(A,2)=0:K(A,3)=0
1201 NEXTA
1202 GOTO1070
1203 PRINTAR$;"STARBASE DESTROYED":B3=0:B9=B9-1:S(S3,S4)=0:GOTO1205
1204 PRINTAR$;"YOU CAN'T DESTROY A STAR":GOTO1070
1205 G(Q1,Q2)=G(Q1,Q2)-10:GOTO1070
1206 NEXT W1
1207 GOTO1070
1208 FORW1=0TO8
1209 S3=INT(S1-W1*SIN(C1*CX))
1210 S4=INT(S2+W1*COS(C1*CX))
1211 IFS3>8ORS4>8ORS3<1ORS4<1THEN1070
1212 GOTO1194
1213 PRINT
1214 PRINT"ENERGY AVAILABLE="E+S" NUMBER OF UNITS TO SHIELDS";
1215 INPUT X
1216 IFX<0THEN1070
1217 IFE+S-X<0THEN1214
1218 E=E+S-X
1219 S=X
1220 IFSL=1THEN1065
1221 GOTO1070
1222 PRINT
1223 PRINT"DEVICE STATE OF REPAIR"
1224 FORR1=1TO10:PRINTD$(R1);TAB(21) D(R1):NEXTR1
1225 IF DT=1 THEN 1267 ELSE 1070
1226 PRINT"SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT"
1227 IF DT=1 THEN 1267 ELSE 1070
1228 IF C$="D" AND K3<>0 THEN PRINT"STARBASE PROTECTS ENTERPRISE" ELSE 1230
1229 GOTO1070
1230 PRINT
1231 FORI=1TO3
1232 IFK(I,3)<=0THEN1242
1233 H=K(I,3)/FND(0)+SGN(RND(1)-.5)*RND(1)*7
1234 S=S-H:PRINTH"UNIT HIT FROM ("MID$(STR$(K(I,1)),2,1);",";
1235 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"S
1236 IFS<0THEN1254
1237 GOSUB1104
1238 IFRND(1)>R9/10THEN1242
1239 R1=INT(8*RND(1)+1):R2=INT(8*RND(1)+1)
1240 IFNOT(S(R1,R2)=0)THEN1239
1241 S(R1,R2)=3:S(K(I,1),K(I,2))=0:K(I,1)=R1:K(I,2)=R2
1242 NEXTI
1243 RETURN
1244 PRINT AR$;" ENTERPRISE DEAD IN SPACE"
1245 PRINT
1246 CY=1:PRINT:GOTO1258
1247 IFK3<=0THEN1258
1248 GOSUB1228
1249 GOTO1247
1250 PRINT
1251 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
1252 PRINT"IT IS STARDATE"T:PRINT
1253 GOTO1258
1254 PRINT
1255 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
1256 PRINT"ENTERPRISE DISABLED !!":PRINT:PRINT
1257 CY=0
1258 PRINT"THERE ARE"K9"KLINGONS REMAINING.":IFCY<>0THEN1355
1259 PRINT"YOU HAVE FAILED !!":PRINT
1260 L=INT(RND(1)*5)
1261 ONL+1GOTO 1343,1346,1348,1350,1353
1262 PRINT:INPUT"DO YOU WANT TO TRY AGAIN";X$
1263 IF LEFT$(X$,1)="Y" THEN 1012 ELSE 1541
1264 PRINT"THE FEDERATION IS SAVED !!"
1265 PRINT"YOU ARE HEREBY PROMOTED TO ADMIRAL!!!!":PRINT
1266 GOTO1262
1267 DT=1
1268 INPUT"COMPUTER ON--COMMAND";A
1269 IF A>=10 THEN PRINT AR$;" NO SUCH COMMAND !!":GOTO 1268
1270 ONA+1GOTO1289,1294,1299,1283,1059,1339,1341,1510,1070
1271 PRINT"FUNCTIONS AVAILABLE FROM COMPUTER"
1272 PRINT" 0 = GALACTIC MEMORY MAP"
1273 PRINT" 1 = GENERAL STATUS REPORT"
1274 PRINT" 2 = PHOTON TRAJECTORY"
1275 PRINT" 3 = NEW MISSION"
1276 PRINT" 4 = PRESENT POSITION"
1277 PRINT" 5 = SELF-DESTRUCT"
1278 PRINT" 6 = WARP-COMPASS"
1279 PRINT" 7 = MISSION PROGRESS REPORT"
1280 PRINT" 8 = EXIT COMPUTER"
1281 GOTO1267
1282 PRINT:PRINT"--TEMPORARY MALFUNCTION--":GOTO 1070
1283 IF XM<0 THEN 1287
1284 PRINT AR$;"SAFETY CHECK -- DO YOU WISH TO ABORT MISSION":INPUT AN$
1285 IF LEFT$(AN$,1)<>"Y" THEN 1288 ELSE 1012
1286 PRINT
1287 PRINT"YOU HAVE NOT BEEN AUTHORIZED FOR NEW MISSION !!":PRINT
1288 GOTO 1267
1289 PRINT"QUADRANT CODE MEMORY MAP"
1290 FORA=1TO :FORB=1TO8:IFG(A,B)=INT(G(A,B))THENPRINT" ???";:GOTO1293
1291 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
1292 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
1293 NEXTB:PRINT" ":NEXTA:GOTO 1267
1294 PRINT" STATUS REPORT"
1295 PRINT"NUMBER OF KLINGONS LEFT ="K9
1296 PRINT"NUMBER OF STARDATES LEFT ="T9-T
1297 PRINT"NUMBER OF STARBASES LEFT ="B9
1298 A=7:GOTO1074
1299 IFK3=0THEN1226
1300 IFD(2)<0THENA=2:GOTO1073
1301 PRINT"COORD","LOWDIR","HIGHDIR","DIST"
1302 FORA=1TO47:PRINT"-";:NEXTA
1303 PRINT
1304 FORI=0TO3
1305 IFNOT(K(I,3)>0)THEN1318
1306 W1=SQR((S1-K(I,1))^2+(S2-K(I,2))^2)
1307 IF W1=0 THENPRINT"--->MALFUNCTION !":GOTO1070
1308 ON ERROR GOTO 1282
1309 C1=1.5708-ATN((K(I,2)-S2)/W1/SQR(1-((K(I,2)-S2)/W1)^2))
1310 ON ERROR GOTO 1282
1311 C1=C1*SGN(S1-K(I,1))/CX
1312 C2(I)=C1-(10*RND(1))
1313 C3(I)=C1+(10*RND(1))
1314 IF C3(I)<0 THEN C3(I)=C3(I)+360
1315 IF C2(I)<0 THEN C2(I)=C2(I)+360
1316 PRINT"(";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
1317 PRINT")",C2(I),C3(I),W1
1318 NEXTI
1319 IF DT=1 THEN 1267 ELSE 1070
1320 RETURN
1321 MR=(T9-T)/K9:DT=0
1322 XM=((MR-PR)/PR)*100
1323 IFKA=1THENPRINTTK-T"STARDATES LEFT TO SAVE STARBASE.":GOTO1332
1324 IFRND(1)>.01*R9ORB9=0THENRETURN
1325 KA=1:FORA=1TO8:FORB=1TO8
1326 IFG(A,B)-100*INT(G(A,B)/100)>9THENK1=A:K2=B:IFRND(1)>.5THENA=8:B=8
1327 NEXTB,A:TK=T+.09*SQR((Q1-K1)^2+(Q2-K2)^2)*(10-R9)
1328 TK=TK+1
1329 PRINTAR$;"!!! STARBASE IN QUADRANT ("MID$(STR$(K1),2,1)",";
1330 PRINTMID$(STR$(K2),2,1)") IS UNDER ATTACK!!"
1331 PRINT"YOU HAVE"TK-T"STARDATES TO SAVE IT!":RETURN
1332 IFT<TKTHEN1337
1333 PRINT"TOO LATE!":KA=0:G(K1,K2)=G(K1,K2)-10:B9=B9-1
1334 IFNOT(Q1=K1ANDQ2=K2)THENRETURN
1335 FORA=1TO8:FORB=1TO8:IFS(A,B)=4THENS(A,B)=0
1336 NEXTB,A:RETURN
1337 IFQ1=K1ANDQ2=K2THENPRINT"YOU ARRIVED IN TIME! STARBASE SAVED!"
1338 KA=0:GOTO1070
1339 IF SD<>1 THEN 1421 ELSE 1530
1340 GOTO1070
1341 GOSUB 1365
1342 GOTO 1267
1343 PRINT"YOU HAVE SCREWED UP ONCE TOO OFTEN !"
1344 PRINT"OFF TO THE VULCAN TORTURE CAMPS !!"
1345 IFT<= 0THEN1262ELSE1355
1346 PRINT"YOU WILL BE EXECUTED AT SUNRISE"
1347 GOTO1355
1348 PRINT"YOU WILL BE PUT TO DEATH FOR YOUR INCOMPETENCE"
1349 GOTO1355
1350 PRINT"YOU WILL BE CONFINED TO YOUR QUARTERS UNTIL"
1351 PRINT"VULCAN'S MOONS BECOME TOURIST TRAPS !!"
1352 IFT<=0THEN1262ELSE1355
1353 PRINT"IMBECILE !! WE HOPE YOU CONSIDER SUICIDE!"
1354 IFT<=0THEN1262ELSE1355
1355 L=(U-K9)*10+((U-K9)*500/T)-100*(Y-B9)
1356 IFE<=0ORS<0THENL=L-200
1357 IFK9=0THENL=L+(R9*100)
1358 PRINT:PRINT
1359 PRINT"YOUR MISSION RATING IS: ";L
1360 PRINT:PRINT:PRINT:PRINT:PRINT
1361 GOSUB 1543
1362 PRINTCHR$(26)
1363 GOTO1544
1364 GOTO1262
1365 PRINT
1366 PRINT" O9O"
1367 PRINT" 135 . O45"
1368 PRINT" . . ."
1369 PRINT" . . ."
1370 PRINT"18O . . . . . . .OOO WARP-COMPASS"
1371 PRINT" . . ."
1372 PRINT" . . ."
1373 PRINT" 225 . 315"
1374 PRINT" 27O"
1375 PRINT
1376 RETURN
1377 XX=INT(RND(2)*10)+1
1378 RETURN
1379 PRINT:IFX4>12THEN1388
1380 PRINT"COMMAND CENTRAL ADVISES THAT YOUR RANKING-";X4;"-IS IN THE EXPERT"
1381 PRINT"CATEGORY. BE ADVISED THAT IF YOU ARE NOT PROPERLY QUALIFIED"
1382 PRINT"YOUR CHANCES OF AVOIDING FAILURE ARE NIL."
1383 PRINT
1384 PRINT"DO YOU WISH REASSIGNMENT TO A LESS HAZARDOUS MISSION (Y OR N)"
1385 INPUTAN$
1386 IFLEFT$(AN$,1)="Y"THEN1012
1387 PRINTCHR$(26):GOTO1023
1388 PRINT"YOU HAVE REQUESTED A SUICIDE MISSION":GOTO1383
1389 PRINT"--COMMUNICATIONS ACTIVE--"
1390 PRINT
1391 GOSUB1377
1392 PD=XX
1393 GOSUB1377
1394 PE=XX
1395 GOSUB1377
1396 PF=XX
1397 GOSUB1377
1398 PG=XX
1399 PH=PD*10+PE
1400 PJ=PF*10+PG
1401 IFPH=PJTHEN 1282
1402 KP=1:IFPD=PEORPF=PGTHEN1403ELSE1405
1403 PRINT"SUNSPOTS BLOCK TRANSMISSION AT : ":GOTO1060
1404 PRINT"MOVE ELSEWHERE AND TRY AGAIN":PRINT:GOTO 1081
1405 PRINT"AUTHORIZED FREQUENCIES":PRINT
1406 PRINT"FEDERATION COMMAND BASE = ";PH
1407 PRINT"KLINGON COMMAND CENTRAL = ";PJ
1408 PRINT
1409 INPUT"COMMUNICATION ON CHANNEL ";XF
1410 IFXF=PHTHEN1432
1411 IFXF=PJTHEN1461
1412 PRINT
1413 PRINTAR$;"ALERT !!"
1414 PRINT"ATTEMPTED COMMUNICATION ON UNAUTHORIZED FREQUENCY"
1415 PRINT
1416 PRINT"WHILE SECURITY CHECK IS CONDUCTED ON ENTERPRISE"
1417 GOSUB1377:A=XX
1418 GOSUB1377:I=(XX/2)+(X4/7)
1419 PRINT"YOUR ";D$(A);" WILL BE INOPERATIVE FOR ";I "UNITS OF STARTIME"
1420 D(A)=D(A)-I:GOTO1070
1421 PRINT
1422 PRINT"SECURITY CONTROL ADVISES THAT NO AUTHORIZATION HAS BEEN"
1423 PRINT"GIVEN TO ACTIVATE SELF- DESTRUCT SYSTEM."
1424 PRINT"PROCEED WITH ASSIGNED MISSION":PRINT:GOTO 1268
1425 PRINT
1426 PRINT"BE ADVISED, YOUR MISSION PROGRESS FACTOR IS";PR
1427 GOSUB 1377
1428 TF=(XX*X4)/1.6:IF TF<10 THEN TF=TF+10
1429 PRINT" THE TOLERANCE FACTOR FOR THIS MISSION IS [+/-]";TF;"PERCENT"
1430 PRINT
1431 RETURN
1432 ONSGN(XM)+2GOTO1433,1437,1439
1433 IFABS(XM)>(TF*1.5)THEN1445
1434 IFABS(XM)>TFTHEN1442
1435 PRINT:PRINT"CAPTAIN, YOU ARE BEHIND SCHEDULE - LET'S GO !!"
1436 GOTO 1070
1437 PRINT:PRINT"YOU ARE EXACTLY ON COMPUTED SCHEDULE; PROCEED WITH MISSION"
1438 GOTO1070
1439 IFXM>TFTHEN1454:IFXM>(TF*1.5)THEN1457
1440 PRINT:PRINT"YOU ARE AHEAD OF COMPUTED SCHEDULE, KEEP UP THE GOOD WORK !!"
1441 GOTO1070
1442 PRINT:PRINT"YOU ARE BEHIND SCHEDULE AND OUT OF TOLERANCE FACTOR !!"
1443 PRINT"COMMAND CONTROL PROJECTS FAILURE...YOU MAY SURRENDER TO ENEMY"
1444 EQ=1:SD=1:GOTO 1389
1445 YY=AC^X4
1446 PRINTCHR$(26)
1447 PRINTAR$;"---------COMPUTER PROJECTION----------":PRINT
1448 PRINT"PROJECTED LIKELIHOOD OF SUCCESS FOR YOUR MISSION =";YY;"PERCENT"
1449 PRINT"WE HAVE AUTO ACTIVATED SELF-DESTRUCT SYSTEM ON YOUR VESSEL"
1450 PRINT"GOODBYE, CAPTAIN.............":PRINT
1451 PRINT"END OF MESSAGE FROM FEDERATION COMMAND":PRINT:PRINT
1452 GOSUB 1543
1453 GOTO 1530
1454 PRINT:PRINT"YOU ARE AHEAD OF SCHEDULE AND BEYOND TOLERANCE FACTOR"
1455 PRINT"CALL KLINGON LEADERS AND REQUEST THEIR SURRENDER":KQ=1
1456 PRINT:GOTO1389
1457 PRINTAR$;"MESSAGE FROM COMMAND BASE"
1458 PRINT:PRINT"ENEMY HAS SURRENDERED TO FEDERATION COMMAND !!"
1459 PRINT:PRINT:PRINT:PRINT
1460 GOTO1264
1461 IF KQ=1 THEN 1486:IF EQ=1 THEN 1464
1462 ON SGN(XM)+2 GOTO 1463,1469,1474
1463 IF ABS(XM)<=TFTHEN1469
1464 PRINT:PRINT"KLINGON COMMAND ON FREQUENCY"
1465 PRINT"NATURALLY, WE ARE PLEASED THAT YOU ARE CONCEDING, CAPTAIN"
1466 PRINT"WE ARE PRESENTLY BOARDING YOUR CRAFT"
1467 PRINT:PRINT"HERE IS A MESSAGE FROM YOUR LEADERS-":PRINT:GOSUB 1543
1468 PRINTCHR$(26):GOTO 1260
1469 GOSUB 1377
1470 IFXX<=5THEN 1473
1471 PRINT:PRINT"MESSAGE FROM KLINGON COMMAND...."
1472 PRINT"NO FURTHER COMMUNICATIONS AT THIS TIME":GOTO 1482
1473 PRINT:PRINT"WE'LL TALK WITH OUR WEAPONS, EARTH-SWINE !!":GOTO 1482
1474 GOSUB 1377
1475 AQ=INT((XX+1)/2)
1476 ON AQ GOTO 1471,1473,1477,1477,1474
1477 GF=TF*1.5
1478 IFXM>GFTHEN 1486
1479 IFXM>TFTHEN 1483
1480 PRINT:PRINT"CAPTAIN, DESPITE YOUR SLIGHT ADVANTAGE, YOU ARE NO MATCH FOR"
1481 PRINT"THE GLORIOUS KLINGON FLEET"
1482 PRINTTAB(25)"END OF MESSAGE FROM KLINGON COMMAND":GOTO1070
1483 GOSUB1377
1484 IFXX<=5THENPRINT" KLINGON COMMAND TO ENTERPRISE..":GOTO1473
1485 GOTO1487
1486 PRINTCHR$(26)
1487 PRINT:PRINT"MESSAGE FROM KLINGON LEADERS..."
1488 PRINT:PRINT"WE CONCEDE THE WAR, SIR, CONGRATULATIONS !!":GOTO1360
1489 AV=INT(X4/2)+1:DR=-1
1490 IF TEC<AV THEN 1492
1491 IF C$<>"D" THEN 1496 ELSE 1498
1492 AU=AV-TEC:IFAU=1THENKF$=""ELSEKF$="S"
1493 PRINT:PRINT"DAMAGE REPAIR INACTIVE !!"
1494 PRINT"REQUIRES";AU;"MORE RECHARGE UNIT";KF$
1495 PRINT:GOTO 1070
1496 PRINT:PRINTAR$"YOU MUST BE DOCKED AT STARBASE FOR DAMAGE REPAIR !!"
1497 PRINT:GOTO 1070
1498 PRINT
1499 PRINT:FORA=1TO10
1500 IFD(A)<0THENPRINT TAB(10)A;TAB(20)D$(A);TAB(40)"DAMAGED"
1501 NEXT
1502 PRINT:PRINT"IF NO DAMAGE INDICATED ABOVE, ANSWER WITH 0 (ZERO)"
1503 INPUT "WHICH ONE TO REPAIR ";A
1504 IFA<1ORA>10THENPRINTAR$;:GOTO 1070
1505 IF D(A)<0 THEN 1507
1506 PRINT:PRINTD$(A);" NOT DAMAGED !!":GOTO 1503
1507 PRINT:PRINTTAB(20)D$(A);"---REPAIRED":PRINT
1508 D(A)=0:TEC=0:GOTO1070
1509 PRINT:PRINTAR$;"NOTHING DAMAGED AT PRESENT":GOTO1070
1510 PRINT
1511 GOSUB1429
1512 PRINT"INITIAL MISSION PROGRESS FACTOR WAS";PR
1513 PRINT"CURRENT MISSION PROGRESS FACTOR IS ";MR
1514 IF XM<0 THEN PW$=" WORSENED "ELSE PW$=" IMPROVED "
1515 PRINT
1516 PRINT"YOUR COMBAT SITUATION HAS";PW$;"BY A FACTOR OF";XM;"PERCENT"
1517 IF ABS(XM)>=TF THEN EG$=" NOT "ELSE EG$=" "
1518 IF EG$=" "THEN EH$=""ELSE EH$=AR$
1519 PRINT EH$;"YOUR PROGRESS IS";EG$;"WITHIN TOLERANCE FOR THIS MISSION"
1520 PRINT
1521 IF EG$=" NOT "THEN 1522 ELSE 1267
1522 IF XM<0 THEN 1523 ELSE 1527
1523 PRINT:SD=1:KD=0
1524 PRINT"CAPTAIN, COMMAND CENTRAL PROJECTS DEFEAT BY ENEMY. YOU ARE NOW"
1525 PRINT"AUTHORIZED TO SURRENDER OR TO ACTIVATE SELF-DESTRUCT SYSTEM"
1526 GOTO1267
1527 PRINT:SD=0:KD=1
1528 PRINT"CAPTAIN, FEDERATION COMMAND PROJECTS SUCCESS FOR YOUR MISSION."
1529 GOTO 1454
1530 PRINTCHR$(26)
1531 GOSUB 1542
1532 PRINT"SELF DESTRUCT SYSTEM ACTIVATED"
1533 PRINT:PRINT:PRINT:GOSUB 1542
1534 PRINT"COUNTDOWN BEGUN !":PRINT:PRINT
1535 PRINTTAB(25)"FIVE":PRINT:GOSUB 1542
1536 PRINTTAB(20)"FOUR":PRINT:GOSUB 1542
1537 PRINTTAB(15)"THREE":PRINT:GOSUB 1542
1538 PRINTTAB(10)"TWO":PRINT:GOSUB 1542
1539 PRINTTAB(5)"ONE":PRINT:GOSUB 1542
1540 PRINT"ZERO":GOSUB 1542
1541 PRINTCHR$(26):GOTO1544
1542 FOR I=1 TO 50:A=A+1:NEXT:RETURN
1543 FOR I=1 TO 1200:A=A+1:NEXT:RETURN
1544 RESET