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_2.ASC < prev    next >
Text File  |  1984-04-29  |  21KB  |  546 lines

  1. 1000 'EXPANDED APRIL 1977 BY W.A.BURTON
  2. 1001 'PIRATED JAN. 1978 BY ZOSO
  3. 1002 DIM G(8,8),S(8,8),K(3,3)
  4. 1003 PRINTCHR$(26)
  5. 1004 PRINT TAB(21)"--STARTREK--":PRINT
  6. 1005 PRINT
  7. 1006 INPUT "WHAT IS YOUR SECURITY CLEARANCE NUMBER (1 TO 1000)";T9
  8. 1007 E8=T9
  9. 1008 IF T9<1 OR T9>1000 THEN PRINT AR$;"INVALID!! REENTER!!":GOTO 1006
  10. 1009 FOR A=1 TO T9/2
  11. 1010 R9=RND(1):R9=RND(2)
  12. 1011 NEXT
  13. 1012 CLEAR:PRINTCHR$(26):INPUT"       ENTER RANK     (1=LOW,12=HIGH)";R9
  14. 1013 RR=R9
  15. 1014 X4=R9:R9=R9+1E-03:W1=W1+1E-03
  16. 1015 PRINT CHR$(26)
  17. 1016 PRINT "COMMAND ORDER : STAND BY !"
  18. 1017 PRINT "YOU ARE PRESENTLY BEING ASSIGNED TO A MISSION..."
  19. 1018 PRINT " WITH A FAILURE FACTOR OF"; (RR*20)
  20. 1019 PRINT"       GOOD-BYE, SIR..."
  21. 1020 CX=.017453:AR$=" ---> "
  22. 1021 XA=INT(X4*50):AC=(1/(X4+.1))
  23. 1022 IFX4>=9THEN1379
  24. 1023 E=3000-XA+100:P=10:S9=200
  25. 1024 DEF FND(D)=SQR((K(I,1)-S1)^2+(K(I,2)-S2)^2)
  26. 1025 Q1=INT(RND(1)*8+1):Q2=INT(RND(1)*8+1)
  27. 1026 S1=INT(RND(1)*8+1):S2=INT(RND(1)*8+1)
  28. 1027 DATA WARP ENGINES,SHORT RANGE SENSORS,LONG RANGE SENSORS
  29. 1028 DATA PHASERS, PHOTON TORPEDOES,SHIELD CONTROL
  30. 1029 DATA DAMAGE CONTROL, COMPUTER,DAMAGE REPAIR,COMMUNICATIONS
  31. 1030 FOR A=1TO10:READ D$(A):NEXT A
  32. 1031 A$(0)=" . ":A$(1)=" E ":A$(2)=" * ":A$(3)=" K ":A$(4)=" B "
  33. 1032 F1=.86:F2=.01:F3=.95:F4=.99:K9=0:B9=K9
  34. 1033 FORI=1TO8:FORJ=1TO8:R1=RND(1):R2=RND(1):R3=INT(8*RND(1)+1)
  35. 1034 K3=-(R1>F1-F2*R9)-(R1>F3-F2*R9)-(R1>F4-F2*R9):K9=K9+K3
  36. 1035 B3=-(R2>F3):B9=B9+B3:G(I,J)=100*K3+10*B3+R3:NEXTJ,I
  37. 1036 IF NOT(B9>0ANDK9>0)THEN1032
  38. 1037 PRINT"OBJECTIVE:DESTROY"K9"KLINGONS USING"B9"STARBASE";
  39. 1038 U=K9:Y=B9
  40. 1039 IFB9=1THENPRINT" ";:GOTO1041
  41. 1040 PRINT"S ";
  42. 1041 T9=K9+RND(1)*K9/R9+10-R9:PR=T9/K9:PRINT"IN"T9"STARDAYS."
  43. 1042 GOSUB 1425
  44. 1043 S3=0:B3=S3:K3=B3:FORA=1TO8:FORB=1TO8:S(A,B)=0:NEXTB,A
  45. 1044 FORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:S(S1,S2)=1
  46. 1045 X=.01*G(Q1,Q2):K3=INT(X):Y=(X-K3)*10:B3=INT(Y)
  47. 1046 S3=G(Q1,Q2)-100*K3-10*B3
  48. 1047 IF K3=0THENFORA=1TO3:FORB=1TO3:K(A,B)=0:NEXTB,A:GOTO1051
  49. 1048 PRINTAR$;"CONDITION RED !!!!!":FORA=1TOK3
  50. 1049 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1049
  51. 1050 S(R1,R2)=3:K(A,1)=R1:K(A,2)=R2:K(A,3)=S9:NEXT A:IFB3=0THEN1054
  52. 1051 IFB3=0THEN1054
  53. 1052 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1052
  54. 1053 S(R1,R2)=4
  55. 1054 IFS3=0THEN1058
  56. 1055 FORA=1TOS3
  57. 1056 R1=INT(RND(1)*8+1):R2=INT(RND(1)*8+1):IFS(R1,R2)<>0THEN1056
  58. 1057 S(R1,R2)=2:NEXTA
  59. 1058 G(Q1,Q2)=INT(G(Q1,Q2))+.5
  60. 1059 PRINT
  61. 1060 PRINT"QUADRANT (";MID$(STR$(Q1),2,1);",";MID$(STR$(Q2),2,1);")"
  62. 1061 PRINT"SECTOR   (";MID$(STR$(S1),2,1);",";MID$(STR$(S2),2,1);")"
  63. 1062 IFKP<>0THEN1404
  64. 1063 IF DT=1 THEN 1267
  65. 1064 IFS<200*K3THENPRINTAR$;"SHIELD ENERGY TOO LOW":SL=1:A=6:GOTO1074
  66. 1065 A=2: GOTO1074
  67. 1066 PRINT
  68. 1067 PRINTD$(2):FORA=1TO8:FORB=1TO8:PRINTA$(S(A,B));:NEXTB:PRINT:NEXTA
  69. 1068 PRINT:PRINT"SHIELDS";S;SPC(4);"ENERGY";E;SPC(4);"PHOTONS";P;
  70. 1069 PRINTSPC(4);"STARDAYS";T9-T
  71. 1070 GOSUB1321:INPUT"COMMAND";A
  72. 1071 IF A>10 OR A<0 THEN INPUT" ----> COMMAND";A
  73. 1072 IFA>10ORA<0THENPRINT"WARNING - PROPER COMMANDS ONLY !! ":GOTO 1070
  74. 1073 IFA=1THEN1077
  75. 1074 IFD(A)>=0THEN1077
  76. 1075 PRINTAR$;"CAPTAIN, WE DON'T HAVE ";D$(A);" ANYMORE."
  77. 1076 IF DT=1 THEN 1267 ELSE 1070
  78. 1077 ONAGOTO1081,1066,1146,1152,1178,1213,1222,1267,1489,1389
  79. 1078 PRINT:FORA=1TO9:PRINTA;" = ";D$(A):NEXTA
  80. 1079 A=10
  81. 1080 PRINTA;"= ";D$(A):GOTO1070
  82. 1081 INPUT"COURSE";C1:IF C1<0 OR C1>359.99 THEN1084
  83. 1082 INPUT"WARP FACTOR";W1
  84. 1083 SL=0:KP=0:GOTO 1085
  85. 1084 PRINTAR$"REJECTED ! COURSE MUST BE IN RANGE OF O TO 359.99 DGRS."
  86. 1085 IFNOT(W1>0)THEN1070
  87. 1086 IFD(1)>=0ORW1<=ACTHEN1089
  88. 1087 PRINTAR$;"WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = ";AC
  89. 1088 GOTO1081
  90. 1089 TEC=TEC+1:C$="":IFK3>0THENGOSUB1228
  91. 1090 IFE>5*W1THEN1097
  92. 1091 IFS<1THEN1244
  93. 1092 PRINT"CAPTAIN, YOU ONLY HAVE"E"UNITS OF ENERGY. "
  94. 1093 PRINT"REFUEL FROM YOUR SHIELD RESERVES, WHICH HAVE"S"UNITS?"
  95. 1094 A=6
  96. 1095 IFD(A)<0THEN1244
  97. 1096 GOTO1070
  98. 1097 FORI=1TO10:IFD(I)>=0THEN1101
  99. 1098 D(I)=D(I)+1:IFD(I)<0THEN1101
  100. 1099 IFD(7)<0THEN1101
  101. 1100 PRINT"DAMAGE CONTROL REPORT: "D$(I)" REPAIRED."
  102. 1101 NEXTI:IFRND(1)>.1THEN1112
  103. 1102 IFRND(1)>.1THEN1112
  104. 1103 GOTO1109
  105. 1104 IFRND(1)>R9/10THENRETURN
  106. 1105 R1=INT(RND(1)*8+1):IFD(R1)<0THENRETURN
  107. 1106 D(R1)=D(R1)-10*RND(1)-1:IFD(7)<0THENRETURN
  108. 1107 IFD(7)<0THENRETURN
  109. 1108 PRINT:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" OUT.":PRINT:RETURN
  110. 1109 R1=INT(RND(1)*8+1):IFD(R1)>=0THEN1112
  111. 1110 IFD(7)<0THEN1112
  112. 1111 PRINT:D(R1)=0:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" REPAIRED.":PRINT
  113. 1112 W1=W1*8:A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFW1<1THENW1=W1*1.25
  114. 1113 E=E-2*W1:T=T+W1/25:IFT>T9THEN1251
  115. 1114 A2=INT(A1+W1*COS(C1*CX)+.5)
  116. 1115 B2=INT(B1+W1*SIN(C1*CX)+.5)
  117. 1116 IFNOT(A2<0ORA2>63ORB2<0ORB2>63)THEN1119
  118. 1117 PRINTAR$;"CAPTAIN, HEED STARFLEET REGULATIONS! ( STAY IN GALAXY ) !!
  119. 1118 T=T+W1/24:GOTO1070
  120. 1119 DEF FNA1(X)=INT(.5+A1+X*COS(C1*CX))
  121. 1120 DEF FNB1(X)=INT(.5+B1+X*SIN(C1*CX))
  122. 1121 FORX=0TOINT(W1)
  123. 1122 IFNOT(Q1=8-INT(FNB1(X)/8)ANDQ2=INT(FNA1(X)/8+1))THENX=W1:GOTO1139
  124. 1123 S3=8-FNB1(X)+8*INT(FNB1(X)/8):S4=FNA1(X)+1-8*INT(FNA1(X)/8)
  125. 1124 IFS(S3,S4)<2THEN1139
  126. 1125 S(S1,S2)=0:S1=8-FNB1(X-1)+8*INT(FNB1(X-1)/8)
  127. 1126 S2=FNA1(X-1)+1-8*INT(FNA1(X 1)/8):S(S1,S2)=1
  128. 1127 PRINTAR$;"NAVIGATIONAL ERROR :ENGINES SHUT DOWN AT (";
  129. 1128 PRINTMID$(STR$(S1),2,1);","MID$(STR$(S2),2,1);")"
  130. 1129 T=T+(W1/24)
  131. 1130 PRINT" YOU LOST "T" UNITS STARTIME RESTARTING ENGINES."
  132. 1131 PRINT
  133. 1132 IF S(S3,S4)<>4 THEN 1070
  134. 1133 PRINT"SHIELDS LOWERED FOR REFUELING"
  135. 1134 S=0:P=10:C$="D":E=3000-XA+100
  136. 1135 GOSUB 1228
  137. 1136 FORR1=1TO 10
  138. 1137 IFD(R1)>=0THENNEXTR1:GOTO1070
  139. 1138 D(R1)=D(R1)+(11*RND(1)/R9):NEXTR1:GOTO1070
  140. 1139 NEXT X:S(S1,S2)=0:S1=8-B2+8*INT(B2/8):S2=A2+1-8*INT(A2/8)
  141. 1140 Q3=8-INT(B2/8):Q4=INT(A2/8)+1
  142. 1141 IFNOT(Q1=Q3ANDQ2=Q4)THENQ1=Q3:Q2=Q4:GOTO1043
  143. 1142 S(S1,S2)=1:FORA=S1-1TOS1+1:FORB=S2-1TOS2+1
  144. 1143 IFA>8ORB>8ORA<1ORB<1THEN1145
  145. 1144 IFS(A,B)=4THEN1133
  146. 1145 NEXTB,A:GOTO1070
  147. 1146 PRINT
  148. 1147 FOR A=(Q1-1) TO (Q1+1):FOR B=(Q2-1) TO (Q2+1)
  149. 1148 IFA<1ORB<1ORA>8ORB>8THENPRINT" ***";:NEXTB:PRINT" ":PRINT:NEXTA:GOTO1070
  150. 1149 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
  151. 1150 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
  152. 1151 G(A,B)=INT(G(A,B))+.5:NEXTB:PRINT" ":PRINT:NEXTA:GOTO1070
  153. 1152 PRINT
  154. 1153 IFK3<=0THEN1226
  155. 1154 IFD(8)>=0THEN1156
  156. 1155 PRINTAR$;" COMPUTER FAILURE HAMPERS ACCURACY"
  157. 1156 PRINT"PHASERS LOCKED ON TARGET.  ENERGY AVAILABLE="E
  158. 1157 PRINT"NUMBER OF UNITS TO FIRE:";
  159. 1158 INPUT X
  160. 1159 IF E-X<0THENPRINT"NOT ENOUGH POWER":GOTO1070
  161. 1160 T=T+.05:IFT>T9THEN1251
  162. 1161 E=E-X
  163. 1162 IF C$<>"D"THEN GOSUB 1228
  164. 1163 IFD(8)>=0THEN1165
  165. 1164 X=X*RND(1)
  166. 1165 FORI=1TO3
  167. 1166 IFK(I,3)<=0THEN1176
  168. 1167 H=(X/FND(0))+SGN(RND(1)-.5)*8*RND(1)
  169. 1168 K(I,3)=K(I,3)-H
  170. 1169 PRINTH"UNIT HIT ON VESSEL AT (";MID$(STR$(K(I,1)),2,1);",";
  171. 1170 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"K(I,3)"
  172. 1171 IFK(I,3)>0THEN1176
  173. 1172 PRINT"KLINGON AT (";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
  174. 1173 PRINT") DESTROYED":K3=K3-1:K9=K9-1:IFK9=0THEN1264
  175. 1174 G(Q1,Q2)=G(Q1,Q2)-100:S(K(I,1),K(I,2))=0:K(I,1)=0:K(I,2)=0
  176. 1175 K(I,3)=0
  177. 1176 NEXT I
  178. 1177 GOTO1070
  179. 1178 PRINT
  180. 1179 IFP>0THEN1182
  181. 1180 PRINTAR$;"ALL PHOTON TORPEDOES EXPENDED"
  182. 1181 GOTO1070
  183. 1182 INPUT"DIRECTION";C1
  184. 1183 T=T+.05:IFT>T9THEN1251
  185. 1184 P=P-1:IF C$<>"D" THEN GOSUB 1228
  186. 1185 A1=8*Q2+S2-9:B1=72-8*Q1-S1:IFC1=90*INT(C1/90)THEN1208
  187. 1186 DEF FNA1(W1)=INT(.5+A1+W1*COS(C1*CX))
  188. 1187 DEF FNB1(W1)=INT(.5+B1+W1*SIN(C1*CX))
  189. 1188 FORW1=0TO10STEP.9
  190. 1189 IFW1=0THENS3=S1:S4=S2:GOTO1194
  191. 1190 IFNOT(Q1=8-INT(FNB1(W1)/8)ANDQ2=INT(FNA1(W1)/8+1))THEN1070
  192. 1191 S3=8-FNB1(W1)+8*INT(FNB1(W1)/8):S4=FNA1(W1)+1-8*INT(FNA1(W1)/8)
  193. 1192 IFFNA1(W1)=A2ANDFNB1(W1)=B2THEN1206
  194. 1193 A2=FNA1(W1):B2=FNB1(W1)
  195. 1194 PRINT"(";MID$(STR$(S3),2,1);",";MID$(STR$(S4),2,1);")";A$(S(S3,S4))
  196. 1195 ON S(S3,S4)+1GOTO1206,1206,1204,1196,1203
  197. 1196 IFRND(1)<(.1*X4) THENPRINT"SHIELDS DEFLECT TORPEDO":GOTO1070
  198. 1197 PRINT"KLINGON DESTROYED":S(S3,S4)=0:G(Q1,Q2)=G(Q1,Q2)-100
  199. 1198 K3=K3-1:K9=K9-1:IFK9=0THEN1264
  200. 1199 FORA=1TO3
  201. 1200 IFK(A,1)=S3ANDK(A,2)=S4THENK(A,1)=0:K(A,2)=0:K(A,3)=0
  202. 1201 NEXTA
  203. 1202 GOTO1070
  204. 1203 PRINTAR$;"STARBASE DESTROYED":B3=0:B9=B9-1:S(S3,S4)=0:GOTO1205
  205. 1204 PRINTAR$;"YOU CAN'T DESTROY A STAR":GOTO1070
  206. 1205 G(Q1,Q2)=G(Q1,Q2)-10:GOTO1070
  207. 1206 NEXT W1
  208. 1207 GOTO1070
  209. 1208 FORW1=0TO8
  210. 1209 S3=INT(S1-W1*SIN(C1*CX))
  211. 1210 S4=INT(S2+W1*COS(C1*CX))
  212. 1211 IFS3>8ORS4>8ORS3<1ORS4<1THEN1070
  213. 1212 GOTO1194
  214. 1213 PRINT
  215. 1214 PRINT"ENERGY AVAILABLE="E+S"    NUMBER OF UNITS TO SHIELDS";
  216. 1215 INPUT X
  217. 1216 IFX<0THEN1070
  218. 1217 IFE+S-X<0THEN1214
  219. 1218 E=E+S-X
  220. 1219 S=X
  221. 1220 IFSL=1THEN1065
  222. 1221 GOTO1070
  223. 1222 PRINT
  224. 1223 PRINT"DEVICE        STATE OF REPAIR"
  225. 1224 FORR1=1TO10:PRINTD$(R1);TAB(21) D(R1):NEXTR1
  226. 1225 IF DT=1 THEN 1267 ELSE 1070
  227. 1226 PRINT"SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT"
  228. 1227 IF DT=1 THEN 1267 ELSE 1070
  229. 1228 IF C$="D" AND K3<>0 THEN PRINT"STARBASE PROTECTS ENTERPRISE" ELSE 1230
  230. 1229 GOTO1070
  231. 1230 PRINT
  232. 1231 FORI=1TO3
  233. 1232 IFK(I,3)<=0THEN1242
  234. 1233 H=K(I,3)/FND(0)+SGN(RND(1)-.5)*RND(1)*7
  235. 1234 S=S-H:PRINTH"UNIT HIT FROM ("MID$(STR$(K(I,1)),2,1);",";
  236. 1235 PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"S
  237. 1236 IFS<0THEN1254
  238. 1237 GOSUB1104
  239. 1238 IFRND(1)>R9/10THEN1242
  240. 1239 R1=INT(8*RND(1)+1):R2=INT(8*RND(1)+1)
  241. 1240 IFNOT(S(R1,R2)=0)THEN1239
  242. 1241 S(R1,R2)=3:S(K(I,1),K(I,2))=0:K(I,1)=R1:K(I,2)=R2
  243. 1242 NEXTI
  244. 1243 RETURN
  245. 1244 PRINT AR$;" ENTERPRISE DEAD IN SPACE"
  246. 1245 PRINT
  247. 1246 CY=1:PRINT:GOTO1258
  248. 1247 IFK3<=0THEN1258
  249. 1248 GOSUB1228
  250. 1249 GOTO1247
  251. 1250 PRINT
  252. 1251 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
  253. 1252 PRINT"IT IS STARDATE"T:PRINT
  254. 1253 GOTO1258
  255. 1254 PRINT
  256. 1255 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
  257. 1256 PRINT"ENTERPRISE DISABLED !!":PRINT:PRINT
  258. 1257 CY=0
  259. 1258 PRINT"THERE ARE"K9"KLINGONS REMAINING.":IFCY<>0THEN1355
  260. 1259 PRINT"YOU HAVE FAILED !!":PRINT
  261. 1260 L=INT(RND(1)*5)
  262. 1261 ONL+1GOTO 1343,1346,1348,1350,1353
  263. 1262 PRINT:INPUT"DO YOU WANT TO TRY AGAIN";X$
  264. 1263 IF LEFT$(X$,1)="Y" THEN 1012 ELSE 1541
  265. 1264 PRINT"THE FEDERATION IS SAVED !!"
  266. 1265 PRINT"YOU ARE HEREBY PROMOTED TO ADMIRAL!!!!":PRINT
  267. 1266 GOTO1262
  268. 1267 DT=1
  269. 1268 INPUT"COMPUTER ON--COMMAND";A
  270. 1269 IF A>=10 THEN PRINT AR$;" NO SUCH COMMAND !!":GOTO 1268
  271. 1270 ONA+1GOTO1289,1294,1299,1283,1059,1339,1341,1510,1070
  272. 1271 PRINT"FUNCTIONS AVAILABLE FROM COMPUTER"
  273. 1272 PRINT"   0 = GALACTIC MEMORY MAP"
  274. 1273 PRINT"   1 = GENERAL STATUS REPORT"
  275. 1274 PRINT"   2 = PHOTON TRAJECTORY"
  276. 1275 PRINT"   3 = NEW MISSION"
  277. 1276 PRINT"   4 = PRESENT POSITION"
  278. 1277 PRINT"   5 = SELF-DESTRUCT"
  279. 1278 PRINT"   6 = WARP-COMPASS"
  280. 1279 PRINT"   7 = MISSION PROGRESS REPORT"
  281. 1280 PRINT"   8 = EXIT COMPUTER"
  282. 1281 GOTO1267
  283. 1282 PRINT:PRINT"--TEMPORARY MALFUNCTION--":GOTO 1070
  284. 1283 IF XM<0 THEN 1287
  285. 1284 PRINT AR$;"SAFETY CHECK -- DO YOU WISH TO ABORT MISSION":INPUT AN$
  286. 1285 IF LEFT$(AN$,1)<>"Y" THEN 1288 ELSE 1012
  287. 1286 PRINT
  288. 1287 PRINT"YOU HAVE NOT BEEN AUTHORIZED FOR NEW MISSION !!":PRINT
  289. 1288 GOTO 1267
  290. 1289 PRINT"QUADRANT CODE MEMORY MAP"
  291. 1290 FORA=1TO:FORB=1TO8:IFG(A,B)=INT(G(A,B))THENPRINT" ???";:GOTO1293
  292. 1291 PRINT" "SPC(3-LOG(G(A,B)+1)/LOG(10));
  293. 1292 PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))/LOG(10)+1);
  294. 1293 NEXTB:PRINT" ":NEXTA:GOTO 1267
  295. 1294 PRINT"   STATUS REPORT"
  296. 1295 PRINT"NUMBER OF KLINGONS LEFT ="K9
  297. 1296 PRINT"NUMBER OF STARDATES LEFT ="T9-T
  298. 1297 PRINT"NUMBER OF STARBASES LEFT ="B9
  299. 1298 A=7:GOTO1074
  300. 1299 IFK3=0THEN1226
  301. 1300 IFD(2)<0THENA=2:GOTO1073
  302. 1301 PRINT"COORD","LOWDIR","HIGHDIR","DIST"
  303. 1302 FORA=1TO47:PRINT"-";:NEXTA
  304. 1303 PRINT
  305. 1304 FORI=0TO3
  306. 1305 IFNOT(K(I,3)>0)THEN1318
  307. 1306 W1=SQR((S1-K(I,1))^2+(S2-K(I,2))^2)
  308. 1307 IF W1=0 THENPRINT"--->MALFUNCTION !":GOTO1070
  309. 1308 ON ERROR GOTO 1282
  310. 1309 C1=1.5708-ATN((K(I,2)-S2)/W1/SQR(1-((K(I,2)-S2)/W1)^2))
  311. 1310 ON ERROR GOTO 1282
  312. 1311 C1=C1*SGN(S1-K(I,1))/CX
  313. 1312 C2(I)=C1-(10*RND(1))
  314. 1313 C3(I)=C1+(10*RND(1))
  315. 1314 IF C3(I)<0 THEN C3(I)=C3(I)+360
  316. 1315 IF C2(I)<0 THEN C2(I)=C2(I)+360
  317. 1316 PRINT"(";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
  318. 1317 PRINT")",C2(I),C3(I),W1
  319. 1318 NEXTI
  320. 1319 IF DT=1 THEN 1267 ELSE 1070
  321. 1320 RETURN
  322. 1321 MR=(T9-T)/K9:DT=0
  323. 1322 XM=((MR-PR)/PR)*100
  324. 1323 IFKA=1THENPRINTTK-T"STARDATES LEFT TO SAVE STARBASE.":GOTO1332
  325. 1324 IFRND(1)>.01*R9ORB9=0THENRETURN
  326. 1325 KA=1:FORA=1TO8:FORB=1TO8
  327. 1326 IFG(A,B)-100*INT(G(A,B)/100)>9THENK1=A:K2=B:IFRND(1)>.5THENA=8:B=8
  328. 1327 NEXTB,A:TK=T+.09*SQR((Q1-K1)^2+(Q2-K2)^2)*(10-R9)
  329. 1328 TK=TK+1
  330. 1329 PRINTAR$;"!!! STARBASE IN QUADRANT ("MID$(STR$(K1),2,1)",";
  331. 1330 PRINTMID$(STR$(K2),2,1)") IS UNDER ATTACK!!"
  332. 1331 PRINT"YOU HAVE"TK-T"STARDATES TO SAVE IT!":RETURN
  333. 1332 IFT<TKTHEN1337
  334. 1333 PRINT"TOO LATE!":KA=0:G(K1,K2)=G(K1,K2)-10:B9=B9-1
  335. 1334 IFNOT(Q1=K1ANDQ2=K2)THENRETURN
  336. 1335 FORA=1TO8:FORB=1TO8:IFS(A,B)=4THENS(A,B)=0
  337. 1336 NEXTB,A:RETURN
  338. 1337 IFQ1=K1ANDQ2=K2THENPRINT"YOU ARRIVED IN TIME! STARBASE SAVED!"
  339. 1338 KA=0:GOTO1070
  340. 1339 IF SD<>1 THEN 1421 ELSE 1530
  341. 1340 GOTO1070
  342. 1341 GOSUB 1365
  343. 1342 GOTO 1267
  344. 1343 PRINT"YOU HAVE SCREWED UP ONCE TOO OFTEN !"
  345. 1344 PRINT"OFF TO THE VULCAN TORTURE CAMPS !!"
  346. 1345 IFT<= 0THEN1262ELSE1355
  347. 1346 PRINT"YOU WILL BE EXECUTED AT SUNRISE"
  348. 1347 GOTO1355
  349. 1348 PRINT"YOU WILL BE PUT TO DEATH FOR YOUR INCOMPETENCE"
  350. 1349 GOTO1355
  351. 1350 PRINT"YOU WILL BE CONFINED TO YOUR QUARTERS UNTIL"
  352. 1351 PRINT"VULCAN'S MOONS BECOME TOURIST TRAPS !!"
  353. 1352 IFT<=0THEN1262ELSE1355
  354. 1353 PRINT"IMBECILE !! WE HOPE YOU CONSIDER SUICIDE!"
  355. 1354 IFT<=0THEN1262ELSE1355
  356. 1355 L=(U-K9)*10+((U-K9)*500/T)-100*(Y-B9)
  357. 1356 IFE<=0ORS<0THENL=L-200
  358. 1357 IFK9=0THENL=L+(R9*100)
  359. 1358 PRINT:PRINT
  360. 1359 PRINT"YOUR MISSION RATING IS: ";L
  361. 1360 PRINT:PRINT:PRINT:PRINT:PRINT
  362. 1361 GOSUB 1543
  363. 1362 PRINTCHR$(26)
  364. 1363 GOTO1544
  365. 1364 GOTO1262
  366. 1365 PRINT
  367. 1366 PRINT"             O9O"
  368. 1367 PRINT"  135         .        O45"
  369. 1368 PRINT"       .      .      ."
  370. 1369 PRINT"          .   .   ."
  371. 1370 PRINT"18O .  .  .   .   .  .  .OOO       WARP-COMPASS"
  372. 1371 PRINT"          .   .   ."
  373. 1372 PRINT"       .      .      ."
  374. 1373 PRINT"  225         .        315"
  375. 1374 PRINT"             27O"
  376. 1375 PRINT
  377. 1376 RETURN
  378. 1377 XX=INT(RND(2)*10)+1
  379. 1378 RETURN
  380. 1379 PRINT:IFX4>12THEN1388
  381. 1380 PRINT"COMMAND CENTRAL ADVISES THAT YOUR RANKING-";X4;"-IS IN THE EXPERT"
  382. 1381 PRINT"CATEGORY. BE ADVISED THAT IF YOU ARE NOT PROPERLY QUALIFIED"
  383. 1382 PRINT"YOUR CHANCES OF AVOIDING FAILURE ARE NIL."
  384. 1383 PRINT
  385. 1384 PRINT"DO YOU WISH REASSIGNMENT TO A LESS HAZARDOUS MISSION (Y OR N)"
  386. 1385 INPUTAN$
  387. 1386 IFLEFT$(AN$,1)="Y"THEN1012
  388. 1387 PRINTCHR$(26):GOTO1023
  389. 1388 PRINT"YOU HAVE REQUESTED A SUICIDE MISSION":GOTO1383
  390. 1389 PRINT"--COMMUNICATIONS ACTIVE--"
  391. 1390 PRINT
  392. 1391 GOSUB1377
  393. 1392 PD=XX
  394. 1393 GOSUB1377
  395. 1394 PE=XX
  396. 1395 GOSUB1377
  397. 1396 PF=XX
  398. 1397 GOSUB1377
  399. 1398 PG=XX
  400. 1399 PH=PD*10+PE
  401. 1400 PJ=PF*10+PG
  402. 1401 IFPH=PJTHEN 1282
  403. 1402 KP=1:IFPD=PEORPF=PGTHEN1403ELSE1405
  404. 1403 PRINT"SUNSPOTS BLOCK TRANSMISSION AT : ":GOTO1060
  405. 1404 PRINT"MOVE ELSEWHERE AND TRY AGAIN":PRINT:GOTO 1081
  406. 1405 PRINT"AUTHORIZED FREQUENCIES":PRINT
  407. 1406 PRINT"FEDERATION COMMAND BASE = ";PH
  408. 1407 PRINT"KLINGON COMMAND CENTRAL = ";PJ
  409. 1408 PRINT
  410. 1409 INPUT"COMMUNICATION ON CHANNEL ";XF
  411. 1410 IFXF=PHTHEN1432
  412. 1411 IFXF=PJTHEN1461
  413. 1412 PRINT
  414. 1413 PRINTAR$;"ALERT !!"
  415. 1414 PRINT"ATTEMPTED COMMUNICATION ON UNAUTHORIZED FREQUENCY"
  416. 1415 PRINT
  417. 1416 PRINT"WHILE SECURITY CHECK IS CONDUCTED ON ENTERPRISE"
  418. 1417 GOSUB1377:A=XX
  419. 1418 GOSUB1377:I=(XX/2)+(X4/7)
  420. 1419 PRINT"YOUR ";D$(A);" WILL BE INOPERATIVE FOR ";I "UNITS OF STARTIME"
  421. 1420 D(A)=D(A)-I:GOTO1070
  422. 1421 PRINT
  423. 1422 PRINT"SECURITY CONTROL ADVISES THAT NO AUTHORIZATION HAS BEEN"
  424. 1423 PRINT"GIVEN TO ACTIVATE SELF- DESTRUCT SYSTEM."
  425. 1424 PRINT"PROCEED WITH ASSIGNED MISSION":PRINT:GOTO 1268
  426. 1425 PRINT
  427. 1426 PRINT"BE ADVISED, YOUR MISSION PROGRESS FACTOR IS";PR
  428. 1427 GOSUB 1377
  429. 1428 TF=(XX*X4)/1.6:IF TF<10 THEN TF=TF+10
  430. 1429 PRINT" THE TOLERANCE FACTOR FOR THIS MISSION IS [+/-]";TF;"PERCENT"
  431. 1430 PRINT
  432. 1431 RETURN
  433. 1432 ONSGN(XM)+2GOTO1433,1437,1439
  434. 1433 IFABS(XM)>(TF*1.5)THEN1445
  435. 1434 IFABS(XM)>TFTHEN1442
  436. 1435 PRINT:PRINT"CAPTAIN, YOU ARE BEHIND SCHEDULE - LET'S GO !!"
  437. 1436 GOTO 1070
  438. 1437 PRINT:PRINT"YOU ARE EXACTLY ON COMPUTED SCHEDULE; PROCEED WITH MISSION"
  439. 1438 GOTO1070
  440. 1439 IFXM>TFTHEN1454:IFXM>(TF*1.5)THEN1457
  441. 1440 PRINT:PRINT"YOU ARE AHEAD OF COMPUTED SCHEDULE, KEEP UP THE GOOD WORK !!"
  442. 1441 GOTO1070
  443. 1442 PRINT:PRINT"YOU ARE BEHIND SCHEDULE AND OUT OF TOLERANCE FACTOR !!"
  444. 1443 PRINT"COMMAND CONTROL PROJECTS FAILURE...YOU MAY SURRENDER TO ENEMY"
  445. 1444 EQ=1:SD=1:GOTO 1389
  446. 1445 YY=AC^X4
  447. 1446 PRINTCHR$(26)
  448. 1447 PRINTAR$;"---------COMPUTER PROJECTION----------":PRINT
  449. 1448 PRINT"PROJECTED LIKELIHOOD OF SUCCESS FOR YOUR MISSION =";YY;"PERCENT"
  450. 1449 PRINT"WE HAVE AUTO ACTIVATED SELF-DESTRUCT SYSTEM ON YOUR VESSEL"
  451. 1450 PRINT"GOODBYE, CAPTAIN.............":PRINT
  452. 1451 PRINT"END OF MESSAGE FROM FEDERATION COMMAND":PRINT:PRINT
  453. 1452 GOSUB 1543
  454. 1453 GOTO 1530
  455. 1454 PRINT:PRINT"YOU ARE AHEAD OF SCHEDULE AND BEYOND TOLERANCE FACTOR"
  456. 1455 PRINT"CALL KLINGON LEADERS AND REQUEST THEIR SURRENDER":KQ=1
  457. 1456 PRINT:GOTO1389
  458. 1457 PRINTAR$;"MESSAGE FROM COMMAND BASE"
  459. 1458 PRINT:PRINT"ENEMY HAS SURRENDERED TO FEDERATION COMMAND !!"
  460. 1459 PRINT:PRINT:PRINT:PRINT
  461. 1460 GOTO1264
  462. 1461 IF KQ=1 THEN 1486:IF EQ=1 THEN 1464
  463. 1462 ON SGN(XM)+2 GOTO 1463,1469,1474
  464. 1463 IF ABS(XM)<=TFTHEN1469
  465. 1464 PRINT:PRINT"KLINGON COMMAND ON FREQUENCY"
  466. 1465 PRINT"NATURALLY, WE ARE PLEASED THAT YOU ARE CONCEDING, CAPTAIN"
  467. 1466 PRINT"WE ARE PRESENTLY BOARDING YOUR CRAFT"
  468. 1467 PRINT:PRINT"HERE IS A MESSAGE FROM YOUR LEADERS-":PRINT:GOSUB 1543
  469. 1468 PRINTCHR$(26):GOTO 1260
  470. 1469 GOSUB 1377
  471. 1470 IFXX<=5THEN 1473
  472. 1471 PRINT:PRINT"MESSAGE FROM KLINGON COMMAND...."
  473. 1472 PRINT"NO FURTHER COMMUNICATIONS AT THIS TIME":GOTO 1482
  474. 1473 PRINT:PRINT"WE'LL TALK WITH OUR WEAPONS, EARTH-SWINE !!":GOTO 1482
  475. 1474 GOSUB 1377
  476. 1475 AQ=INT((XX+1)/2)
  477. 1476 ON AQ GOTO 1471,1473,1477,1477,1474
  478. 1477 GF=TF*1.5
  479. 1478 IFXM>GFTHEN 1486
  480. 1479 IFXM>TFTHEN 1483
  481. 1480 PRINT:PRINT"CAPTAIN, DESPITE YOUR SLIGHT ADVANTAGE, YOU ARE NO MATCH FOR"
  482. 1481 PRINT"THE GLORIOUS KLINGON FLEET"
  483. 1482 PRINTTAB(25)"END OF MESSAGE FROM KLINGON COMMAND":GOTO1070
  484. 1483 GOSUB1377
  485. 1484 IFXX<=5THENPRINT" KLINGON COMMAND TO ENTERPRISE..":GOTO1473
  486. 1485 GOTO1487
  487. 1486 PRINTCHR$(26)
  488. 1487 PRINT:PRINT"MESSAGE FROM KLINGON LEADERS..."
  489. 1488 PRINT:PRINT"WE CONCEDE THE WAR, SIR, CONGRATULATIONS !!":GOTO1360
  490. 1489 AV=INT(X4/2)+1:DR=-1
  491. 1490 IF TEC<AV THEN 1492
  492. 1491 IF C$<>"D" THEN 1496 ELSE 1498
  493. 1492 AU=AV-TEC:IFAU=1THENKF$=""ELSEKF$="S"
  494. 1493 PRINT:PRINT"DAMAGE REPAIR INACTIVE !!"
  495. 1494 PRINT"REQUIRES";AU;"MORE RECHARGE UNIT";KF$
  496. 1495 PRINT:GOTO 1070
  497. 1496 PRINT:PRINTAR$"YOU MUST BE DOCKED AT STARBASE FOR DAMAGE REPAIR !!"
  498. 1497 PRINT:GOTO 1070
  499. 1498 PRINT
  500. 1499 PRINT:FORA=1TO10
  501. 1500 IFD(A)<0THENPRINT TAB(10)A;TAB(20)D$(A);TAB(40)"DAMAGED"
  502. 1501 NEXT
  503. 1502 PRINT:PRINT"IF NO DAMAGE INDICATED ABOVE, ANSWER WITH 0 (ZERO)"
  504. 1503 INPUT "WHICH ONE TO REPAIR ";A
  505. 1504 IFA<1ORA>10THENPRINTAR$;:GOTO 1070
  506. 1505 IF D(A)<0 THEN 1507
  507. 1506 PRINT:PRINTD$(A);"        NOT DAMAGED !!":GOTO 1503
  508. 1507 PRINT:PRINTTAB(20)D$(A);"---REPAIRED":PRINT
  509. 1508 D(A)=0:TEC=0:GOTO1070
  510. 1509 PRINT:PRINTAR$;"NOTHING DAMAGED AT PRESENT":GOTO1070
  511. 1510 PRINT
  512. 1511 GOSUB1429
  513. 1512 PRINT"INITIAL MISSION PROGRESS FACTOR WAS";PR
  514. 1513 PRINT"CURRENT MISSION PROGRESS FACTOR IS ";MR
  515. 1514 IF XM<0 THEN PW$=" WORSENED "ELSE PW$=" IMPROVED "
  516. 1515 PRINT
  517. 1516 PRINT"YOUR COMBAT SITUATION HAS";PW$;"BY A FACTOR OF";XM;"PERCENT"
  518. 1517 IF ABS(XM)>=TF THEN EG$=" NOT "ELSE EG$=" "
  519. 1518 IF EG$=" "THEN EH$=""ELSE EH$=AR$
  520. 1519 PRINT EH$;"YOUR PROGRESS IS";EG$;"WITHIN TOLERANCE FOR THIS MISSION"
  521. 1520 PRINT
  522. 1521 IF EG$=" NOT "THEN 1522 ELSE 1267
  523. 1522 IF XM<0 THEN 1523 ELSE 1527
  524. 1523 PRINT:SD=1:KD=0
  525. 1524 PRINT"CAPTAIN, COMMAND CENTRAL PROJECTS DEFEAT BY ENEMY. YOU ARE NOW"
  526. 1525 PRINT"AUTHORIZED TO SURRENDER OR TO ACTIVATE SELF-DESTRUCT SYSTEM"
  527. 1526 GOTO1267
  528. 1527 PRINT:SD=0:KD=1
  529. 1528 PRINT"CAPTAIN, FEDERATION COMMAND PROJECTS SUCCESS FOR YOUR MISSION."
  530. 1529 GOTO 1454
  531. 1530 PRINTCHR$(26)
  532. 1531 GOSUB 1542
  533. 1532 PRINT"SELF DESTRUCT SYSTEM ACTIVATED"
  534. 1533 PRINT:PRINT:PRINT:GOSUB 1542
  535. 1534 PRINT"COUNTDOWN BEGUN !":PRINT:PRINT
  536. 1535 PRINTTAB(25)"FIVE":PRINT:GOSUB 1542
  537. 1536 PRINTTAB(20)"FOUR":PRINT:GOSUB 1542
  538. 1537 PRINTTAB(15)"THREE":PRINT:GOSUB 1542
  539. 1538 PRINTTAB(10)"TWO":PRINT:GOSUB 1542
  540. 1539 PRINTTAB(5)"ONE":PRINT:GOSUB 1542
  541. 1540 PRINT"ZERO":GOSUB 1542
  542. 1541 PRINTCHR$(26):GOTO1544
  543. 1542 FOR I=1 TO 50:A=A+1:NEXT:RETURN
  544. 1543 FOR I=1 TO 1200:A=A+1:NEXT:RETURN
  545. 1544 RESET
  546.