home *** CD-ROM | disk | FTP | other *** search
- 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
- B 1542
- 1541 PRINTCHR$