home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug027.ark / MEGATREK.ASC < prev    next >
Encoding:
Text File  |  1984-04-29  |  46.0 KB  |  1,371 lines

  1. 2 LQ=1000
  2. 7 DIM C$(20),G(8,8),D$(12),Q$(10,10),D4(12),D9(106)
  3. 10 DIM S2(8,8):Q$="?"
  4. 15 DATA S.R. SENSORS,L.R. SENSORS,PHASERS,PHOTON TUBES,LIFE SUPPORT
  5. 20 DATA WARP ENGINES,IMPULSE ENGINES,SHIELDS,SUBSPACE RADIO
  6. 21 DATA SHUTTLE CRAFT,COMPUTER,TRANSFER PANEL,ABANDON,CHART,COMPUTER
  7. 22 DATA DAMAGES,DESTRUCT,DOCK,IDLE,IMPULSE,LRSCAN,NAVIGATE,PHASERS,QUIT
  8. 23 DATA SHIELDS,SOS,SRSCAN,STATUS,TORPEDO,TRANSFER,VISUAL,WARP,SHORT
  9. 24 DATA MEDIUM,LONG,BEGINNER,NOVICE,SENIOR,EXPERT,COURSE,WCOST,ICOST
  10. 25 DATA PEFFECT,SCORE,OUT
  11. 27 DATA 10.5,12,1.5,9,0,3,7.5,6,4.5
  12. 28 DEF FNA(X)=INT(8*RND(X))+1:DEF FNB(X)=INT(10*RND(X))+1
  13. 29 DEF FND(X)=X/60
  14. 30 DEFFNR(X)=INT(X*10+.5)/10:DEFFNS(X)=INT(X*100+.5)/100
  15. 40 FORI=1TO12:READD$(I):NEXT:FORI=1TO20:READC$(I):NEXT
  16. 43 FORI=1TO3:READT$(I):NEXT:FORI=1TO4:READS$(I):NEXT:FORI=1TO6
  17. 44 READC2$(I):NEXT:FORI=1TO9:READC5(I):NEXT
  18. 46 GOSUB24001:S7$(1)="":S7$(2)="  ":S7$(3)=" ":S7$(4)=""
  19. 70 IFA2<>0THEN901
  20. 75 J4=0:T1=0:INPUT"COMMAND";A$:IFLEN(A$)>1THEN110
  21. 80 PRINT"2 LETTERS, PLEASE.":GOTO75
  22. 110 FORI=1TO20
  23. 120 IFA$=LEFT$(C$(I),LEN(A$))THEN150
  24. 130 NEXT
  25. 135 PRINT"ILLEGAL !! - USE THIS LIST"
  26. 140 PRINT:FORI=1TO20STEP4
  27. 141 PRINTC$(I);TAB(12);C$(I+1);TAB(22);C$(I+2);TAB(32);C$(I+3)
  28. 142 NEXT:PRINT:GOTO70
  29. 150 ONIGOTO201,226,251,276,291,301,326,351,376,401
  30. 160 ONI-10GOTO426,901,476,501,526,545,551,576,601,627
  31. 201 GOSUB 35001:GOTO70
  32. 226 GOSUB 3001:GOTO70
  33. 251 GOSUB5001:GOTO70
  34. 276 GOSUB8001:GOTO70
  35. 291 GOSUB36001:GOTO70
  36. 301 GOSUB7000:GOTO70
  37. 326 GOSUB33001:IFJ3=0THEN70
  38. 331 IFA2<>0THEN901
  39. 332 IFG(Q1,Q2)=1000THEN750
  40. 340 GOSUB1000:GOTO70
  41. 351 GOSUB13001:IFJ3=0THEN70
  42. 353 GOTO710
  43. 376 GOSUB14001:GOTO70
  44. 401 GOSUB34001
  45. 402 IFJ3=0THEN70
  46. 410 GOTO710
  47. 426 GOSUB20001:IFJ3=0THEN70
  48. 428 GOSUB1000:GOTO70
  49. 476 GOSUB26001:IFJ3=0THEN70
  50. 478 IFA2<>0THEN901
  51. 479 GOSUB1000:S9=0:GOTO70
  52. 501 GOSUB11001:GOTO70
  53. 526 GOSUB29002:GOTO70
  54. 545 PRINT:GOSUB37001:GOTO70
  55. 551 GOSUB21001:IFJ3=0THEN70ELSE710
  56. 576 GOSUB31001:IFJ3=0THEN70
  57. 585 IFA2<>0THEN901
  58. 590 IFG(Q1,Q2)<>LQTHEN70
  59. 595 GOTO750
  60. 601 IFJ3=0THEN70
  61. 603 IFA2<>0THEN901
  62. 610 IFG(Q1,Q2)<>LQTHEN70
  63. 615 GOTO750
  64. 627 GOSUB25010:GOTO70
  65. 710 IFA2<>0THEN901
  66. 720 IFT1<>0THENGOSUB9000
  67. 730 IFA2<>0THEN901
  68. 740 IFG(Q1,Q2)<LQTHEN790
  69. 750 GOSUB2001:IFA2<>0THEN901
  70. 760 IFA2<>0THEN901
  71. 770 GOTO740
  72. 790 GOSUB1000:GOTO70
  73. 901 PRINT:PRINT:INPUT"ANOTHER GAME ";A$
  74. 910 IFLEFT$(A$,1)="Y"THEN46
  75. 911 PRINTCHR$(12):END
  76. 1000 IF(C3<>0)AND(J4=0)THENGOSUB16001
  77. 1020 IFK3=0THENRETURN
  78. 1030 IFA2<>0THENRETURN
  79. 1040 P2=1/I8
  80. 1050 J5=0
  81. 1060 PRINT
  82. 1070 IFC5$="DOCKED"THEN1780
  83. 1080 H2=0:H3=0:C6=1
  84. 1090 IFS9=1THENC6=.5+.5*RND(1)
  85. 1100 A3=0
  86. 1110 FORL=1TOK3
  87. 1120 IFK6(L)<0THEN1540
  88. 1130 A3=1
  89. 1140 D6=.8+.05*RND(1)
  90. 1150 H4=K6(L)*D6^K8(L)
  91. 1160 IF(S4=0)AND(S9=0)THEN1230
  92. 1170 P3=.1:IFP2*S3>P3THENP3=P2*S3
  93. 1180 H5=P3*C6*H4+1
  94. 1190 IFH5>S3THENH5=S3
  95. 1195 S3=S3-H5:H4=H4-H5
  96. 1210 IF(P3>.1)AND(H4<5E-03*E1)THEN1540
  97. 1230 J5=1
  98. 1240 PRINTFNR(H4);"UNIT HIT ON THE ";S5$;" FROM ";
  99. 1250 J6=K4(L):J7=K5(L)
  100. 1260 IFQ$(J6,J7)="K"THENPRINT"KLINGON AT";
  101. 1270 IFQ$(J6,J7)="C"THENPRINT"COMMANDER AT";
  102. 1280 PRINTJ6;"-";J7
  103. 1290 IFH4>H2THENH2=H4
  104. 1300 H3=H3+H4
  105. 1310 IFH4<(275-25*S8)*(1+.5*RND(1))THEN1530
  106. 1320 N4=1+INT(H4/(500+100*RND(1)))
  107. 1330 PRINT"*** CRITICAL HIT--";
  108. 1340 K9=1
  109. 1350 FORW4=1TON4
  110. 1360 J9=INT(12*RND(1))+1
  111. 1370 C5(W4)=J9
  112. 1380 E3=(H4*D5)/(N4*(75+25*RND(1)))
  113. 1390 IFJ9=6THENE3=E3/3
  114. 1395 D4(J9)=D4(J9)+E3
  115. 1400 IFW4=1THEN1470
  116. 1420 FORV=1TOW4
  117. 1430 IFJ9=C5(V-1)THEN1480
  118. 1440 NEXTV
  119. 1450 K9=K9+1
  120. 1460 IFK9=3THENPRINT
  121. 1465 PRINT " AND ";
  122. 1470 PRINTD$(J9);
  123. 1480 NEXTW4
  124. 1490 PRINT " DAMAGED."
  125. 1500 IFD4(8)=0THEN1530
  126. 1510 IFS4<>0THENPRINT"*** SHIELDS KNOCKED DOWN."
  127. 1520 S4=0
  128. 1530 E1=E1-H4
  129. 1540 NEXTL
  130. 1550 IFA3=0THENRETURN
  131. 1560 IFE1<=0THEN1750
  132. 1570 P4=100*P2*S3+.5
  133. 1580 IFJ5<>0THEN1610
  134. 1590 PRINT"ENEMY ATTACK--SHIELDS REDUCED TO ";
  135. 1600 GOTO1650
  136. 1610 PRINT"ENERGY LEFT:";FNS(E1);"   SHIELDS ";
  137. 1620 IFS4<>0THENPRINT"UP,";
  138. 1630 IF(S4=0)AND(D4(8)=0)THENPRINT"DOWN, ";
  139. 1640 IFD4(8)>0THENPRINT"DAMAGED, ";
  140. 1650 PRINTINT(P4);"%"
  141. 1660 IF(H2<200)AND(H3<500)THEN1800
  142. 1670 J8=INT(H3*RND(1)*.015)
  143. 1680 IFJ8<2THEN1800
  144. 1690 PRINT
  145. 1700 PRINT"---> 'SICKBAY TO BRIDGE.  WE SUFFERED ";J8;"CASUALTIES IN THAT ATTACK"
  146. 1730 C4=C4+J8
  147. 1740 GOTO1800
  148. 1750 F9=5
  149. 1760 GOSUB10000:RETURN
  150. 1780 PRINT"*** KLINGONS ATTACK-- STARBASE SHIELDS PROTECT THE ";S5$
  151. 1800 FORW4=1TOK3
  152. 1810 K8(W4)=K7(W4)
  153. 1820 NEXTW4
  154. 1830 GOSUB28000:RETURN
  155. 2001 PRINT:IFJ4=0THEN2050
  156. 2020 PRINT"*** RED ALERT!  RED ALERT!"
  157. 2030 PRINT"*** THE ";S5$;" HAS STOPPED IN QUADRANT CONTAINING SUPERNOVA"
  158. 2050 PRINT "*** AUTO-OVERRIDE ATTEMPTS TO HURL ";S5$;" TO OTHER QUADRANT"
  159. 2080 S2(Q1,Q2)=1
  160. 2090 GOSUB18000
  161. 2100 IFD4(6)=0THEN2290
  162. 2110 PRINT
  163. 2120 PRINT"WARP ENGINES DAMAGED."
  164. 2140 PRINT:PRINT"TRYING TO ENGAGE IMPULSE ENGINES..."
  165. 2150 IFD4(7)=0THEN2190
  166. 2160 PRINT"IMPULSE ENGINES DAMAGED."
  167. 2165 F9=8
  168. 2170 GOSUB10000
  169. 2180 RETURN
  170. 2190 P2=.75*E1
  171. 2200 D6=4E-03*(P2-50)
  172. 2210 D7=1.4142+1.2*RND(1)
  173. 2220 D1=D6
  174. 2230 IFD6>D7THEND1=D7
  175. 2240 T1=D1/.4
  176. 2250 D2=12*RND(1)
  177. 2260 J4=0
  178. 2270 GOSUB13200
  179. 2280 GOTO2400
  180. 2290 W1=6+2*RND(1)
  181. 2300 W2=W1*W1
  182. 2310 P2=.75*E1
  183. 2320 D6=P2/(W1*W1*W1*(S4+1))
  184. 2330 D7=1.4142+2*RND(1)
  185. 2340 D1=D6
  186. 2350 IFD6>D7THEND1=D7
  187. 2360 T1=10*D1/W2
  188. 2370 D2=12*RND(1)
  189. 2380 J4=0
  190. 2390 GOSUB34500
  191. 2400 IFJ4<>0THEN2440
  192. 2410 F9=8
  193. 2420 GOSUB10000
  194. 2430 RETURN
  195. 2440 IFR1<>0THENRETURN
  196. 2450 F9=1
  197. 2460 GOSUB10000
  198. 2470 RETURN
  199. 3001 PRINT:PRINT"      1   2   3   4   5   6   7   8"
  200. 3010 PRINT"     --- --- --- --- --- --- --- ---"
  201. 3020 FORI=1TO8
  202. 3030 PRINTI;" ";
  203. 3040 FORJ=1TO8
  204. 3060 ONSGN(S2(I,J))+2GOTO3070,3090,3110
  205. 3070 PRINT" .1.";
  206. 3080 GOTO 3160
  207. 3090 PRINT" ...";
  208. 3100 GOTO3160
  209. 3110 IFS2(I,J)>LQTHEN3150
  210. 3120 IFG(I,J)<LQTHENPRINTS7$(LEN(STR$(G(I,J))));STR$(G(I,J));
  211. 3130 IFG(I,J)=LQTHENPRINT" ***";
  212. 3140 GOTO3160
  213. 3150 PRINTS2(I,J)-LQ;
  214. 3160 NEXTJ:PRINT:NEXTI:PRINT
  215. 3190 PRINT"THE ";S5$;" IS CURRENTLY IN (";Q1;"-";Q2;")"
  216. 3200 RETURN
  217. 4001 PRINTCHR$(12)
  218. 4070 S8=0:L2=0
  219. 4090 PRINT"MISSION DURATION...: ";
  220. 4095 INPUTA$
  221. 4100 FOR I=1TO3
  222. 4110 IFA$=LEFT$(T$(I),LEN(A$))THEN4150
  223. 4120 NEXTI
  224. 4130 PRINT"WOULD YOU LIKE A SHORT, MEDIUM OR LONG GAME";
  225. 4140 GOTO4095
  226. 4150 L2=I
  227. 4160 PRINT"ARE YOU A BEGINNER, NOVICE, SENIOR OR EXPERT ";
  228. 4170 INPUTA$
  229. 4180 FORI=1TO4
  230. 4190 IFA$=LEFT$(S$(I),LEN(A$))THEN4220
  231. 4200 NEXTI
  232. 4210 GOTO4160
  233. 4220 S8=I:MR=I
  234. 4230 INPUT"ENTER MISSION PASSWORD...";X$:PRINT
  235. 4245 PRINT"....STAND BY...."
  236. 4250 J=RND(1)
  237. 4280 D5=.5*S8:I2=INT(L2+1+RND(1)*3)
  238. 4290 IFI2>5THENI2=5
  239. 4300 R3=I2
  240. 4310 I5=7*L2
  241. 4320 R5=I5
  242. 4340 R7=(S8-2*RND(1)+1)*S8*.1+.1
  243. 4350 IFR7<.2THENR7=R7+.1
  244. 4360 I1=INT(2*R7*I5)
  245. 4370 R1=I1
  246. 4380 I4=INT(S8+.0625*I1*RND(1))
  247. 4390 R2=I4
  248. 4400 I3=(I1+4*I4)*I5
  249. 4410 R4=I3
  250. 4420 RETURN
  251. 5001 IFD4(11)=0THEN5030
  252. 5010 PRINT" COMPUTER DISABLED"
  253. 5020 RETURN
  254. 5030 PRINT"----COMPUTER ACTIVE----"
  255. 5040 INPUT"PROGRAM NAME";B$
  256. 5050 FORI=1TO6
  257. 5060 IFB$=LEFT$(C2$(I),LEN(B$))THEN5120
  258. 5070 NEXT
  259. 5080 PRINT"VALID PROGRAMS ARE:"
  260. 5090 PRINT"  COURSE    WCOST   SCORE"
  261. 5100 PRINT"  PEFFECT   ICOST   OUT"
  262. 5110 GOTO5040
  263. 5120 ON IGOTO5210,5302,5410,5510,5610,5700
  264. 5210 INPUT "ENTER QUADRANT AND SECTOR - ";A3,A4
  265. 5220 IF(A3<>INT(A3))OR(A4<>INT(A4))THEN5990
  266. 5221 IFA3<0THEN5040
  267. 5222 IFA3=0THENA3=10*Q1+Q2
  268. 5223 A3=A3+.5
  269. 5225 K=INT(A3/10)
  270. 5226 IF(K<1)OR(K>8)THEN5990
  271. 5227 C6(1)=K:K=INT(A3-C6(1)*10)
  272. 5228 IF(K<1)OR(K>8)THEN5990
  273. 5229 C6(2)=K:A4=A4+.5
  274. 5230 K=INT(A4/100)
  275. 5231 IF(K<1)OR(K>10)THEN5990
  276. 5232 C6(1)=C6(1)+(K-1)/10:K=INT(A4-K*100)
  277. 5233 IF(K<1)OR(K>10)THEN5990
  278. 5234 C6(2)=C6(2)+(K-1)/10
  279. 5235 X=Q1+((S6-1)/10)-C6(1):Y=Q2+((S7-1)/10)-C6(2)
  280. 5236 D1=0:D2=0:IF(X=0)AND(Y=0)THEN5250
  281. 5237 D1=SQR(X*X+Y*Y)
  282. 5238 IFX<0THENZ7=SGN(Y)*(3.1416-ATN(ABS(Y/X)))
  283. 5239 IFX=0THENZ7=SGN(Y)*1.5708
  284. 5240 IFX>0THENZ7=ATN(Y/X)
  285. 5245 D2=12-Z7*1.9098593#:IFD2>12THEND2=D2-12
  286. 5250 PRINT"COURSE IS";FNS(D2);" FOR A DISTANCE OF";
  287. 5260 PRINTFNS(D1);"QUADRANTS.":GOTO5040
  288. 5302 INPUT"ENTER DISTANCE AND WARP FACTOR";D1,A4
  289. 5304 IF(D1<0)THEN5040
  290. 5310 C7=D1*A4*A4*A4
  291. 5315 T1=(10*D1)/((A4*A4)+1E-05)
  292. 5320 PRINT"IT WOULD TAKE";FNS(T1);"STARDATES AND USE"
  293. 5325 PRINTFNR(C7);"UNITS OF ENERGY  (";FNR(C7+C7);"IF SHIELDS ARE UP)"
  294. 5330 GOTO5040
  295. 5410 INPUT"ENTER DISTANCE...";D1
  296. 5420 IFD1<0THEN5040
  297. 5430 C7=250*D1+50:T1=D1/.4
  298. 5440 PRINT"IT WOULD TAKE";FNR(T1);"STARDATES AND USE"
  299. 5450 PRINTC7;"UNITS OF ENERGY"
  300. 5460 GOTO5040
  301. 5510 INPUT"ENTER PHASER RANGE IN QUADRANTS";A3
  302. 5520 IFA3<0THEN5040
  303. 5530 A3=A3*10:C7=(.9^A3)*100
  304. 5540 PRINT"PHASERS ARE ";LEFT$(STR$(C7),5);"% EFFECTIVE AT THAT RANGE"
  305. 5550 GOTO5040
  306. 5610 GOSUB23000
  307. 5620 GOTO5040
  308. 5700 RETURN
  309. 5990 PRINT"FORMAT IS MN,XXYY...WHERE MN IS THE QUADRANT"
  310. 5991 PRINT"AND XXYY IS THE SECTOR...E.G. 64,0307 REFERS"
  311. 5992 PRINT"TO QUADRANT 6-4, SECTOR 3-7."
  312. 5995 GOTO 5040
  313. 6000 IFT2$<>"C"THEN6100
  314. 6010 C3=0:PRINT"*** COMMANDER AT";
  315. 6030 FORF=1TOR2:IF(C1(F)=Q1)AND(C2(F)=Q2)THEN6050
  316. 6040 NEXTF
  317. 6050 C1(F)=C1(R2):C2(F)=C2(R2):C1(R2)=0:C2(R2)=0
  318. 6060 R2=R2-1:F1(2)=1E+30
  319. 6070 IFR2<>0THENF1(2)=D0-(I4/R2)*LOG(RND(1))
  320. 6080 K2=K2+1
  321. 6090 GOTO6120
  322. 6100 PRINT"*** KLINGON AT";
  323. 6110 K1=K1+1
  324. 6120 PRINTA5;"-";A6;"DESTROYED."
  325. 6130 Q$(A5,A6)=".":R1=R1-1
  326. 6140 IFR1=0THENRETURN
  327. 6150 R5=R4/(R1+4*R2)
  328. 6160 G(Q1,Q2)=G(Q1,Q2)-100
  329. 6170 FORF=1TOK3
  330. 6180 IF(K4(F)=A5)AND(K5(F)=A6)THEN6200
  331. 6190 NEXTF
  332. 6200 K3=K3-1
  333. 6210 IFF>K3THEN6250
  334. 6220 FORG=FTOK3
  335. 6230 K4(G)=K4(G+1):K5(G)=K5(G+1):K6(G)=K6(G+1)
  336. 6235 K7(G)=K7(G+1):K8(G)=K7(G)
  337. 6240 NEXTG
  338. 6250 K4(K3+1)=0:K5(K3+1)=0:K7(K3+1)=0:K8(K3+1)=0:K6(K3+1)=0
  339. 6260 RETURN
  340. 7000 IFC5$="DOCKED"THEN7100
  341. 7010 IFB6=0THEN7020
  342. 7015 IF(ABS(S6-B6)<=1)AND(ABS(S7-B7)<=1)THEN7040
  343. 7020 PRINTS5$;" NOT ADJACENT TO A BASE."
  344. 7030 RETURN
  345. 7040 C5$="DOCKED"
  346. 7050 PRINT"---> DOCKING COMPLETED"
  347. 7060 E1=I7:S3=I8:T4=I9:L1=J1
  348. 7070 RETURN
  349. 7100 PRINT"CAPTAIN, WE'RE ALREADY DOCKED!"
  350. 7110 RETURN
  351. 8001 J=0:PRINT:FORI=1TO12
  352. 8010 IFD4(I)<=0THEN8070
  353. 8020 IFJ<>0THEN8060
  354. 8030 PRINT"     DEVICE";SPC(12);"-REPAIR TIMES-"
  355. 8040 PRINTSPC(21);"IN FLIGHT    DOCKED":J=1
  356. 8060 PRINT"  ";D$(I);TAB(23);FNS(D4(I));TAB(33);FNS(D3*D4(I))
  357. 8070 NEXTI
  358. 8080 IFJ=0THENPRINT" - ALL DEVICES FUNCTIONAL -"
  359. 8090 RETURN
  360. 9000 M=0:D7=D0+T1:FORL=1TO5
  361. 9020 IFF1(L)>D7THEN9040
  362. 9030 M=L:D7=F1(L)
  363. 9040 NEXTL
  364. 9050 X6=D7-D0:D0=D7
  365. 9060 R4=R4-(R1+4*R2)*X6
  366. 9070 R5=R4/(R1+4*R2)
  367. 9080 IFR5>0THEN9120
  368. 9090 F9=2
  369. 9100 GOSUB10000
  370. 9110 RETURN
  371. 9120 IF(D4(5)=0)OR(C5$="DOCKED")THEN9180
  372. 9130 IF(L1>=X6)OR(D4(5)<=L1)THEN9160
  373. 9140 F9=3:GOSUB10000
  374. 9150 RETURN
  375. 9160 L1=L1-X6
  376. 9170 IFD4(5)<=X6THENL1=J1
  377. 9180 R=X6
  378. 9190 IFC5$="DOCKED"THENR=X6/D3
  379. 9200 FORL=1TO12
  380. 9210 IFD4(L)<=0THEN9230
  381. 9220 D4(L)=D4(L)-R
  382. 9225 IFD4(L)<0THEND4(L)=0
  383. 9226 IFD4(L)<>0THEN9230
  384. 9227 PRINT:PRINT"DAMAGE CONTROL-  ";D$(L);" NOW OPERATIONAL."
  385. 9230 NEXTL
  386. 9240 IFM=0THENRETURN
  387. 9250 T1=T1-X6
  388. 9260 ONMGOTO9280,9291,9340,9355,9475
  389. 9280 X2=0:Y2=0:GOSUB27000
  390. 9285 F1(1)=D0-.5*I5*LOG(RND(1))
  391. 9286 IFG(Q1,Q2)=LQTHENRETURN
  392. 9287 GOTO9000
  393. 9291 IFR2=0THEN9330
  394. 9292 IFC5$="DOCKED"THEN9325
  395. 9293 I=INT(RND(1)*R2)+1
  396. 9294 Y6=(C1(I)-Q1)^2+(C2(I)-Q2)^2
  397. 9295 IFY6=0THEN9325
  398. 9296 Y6=SQR(Y6):T1=.17778*Y6
  399. 9297 PRINT:PRINT"*** ";S5$;" CAUGHT IN LONG-RANGE TRACTOR BEAM--"
  400. 9298 Q1=C1(I):Q2=C2(I)
  401. 9299 S6=FNB(1):S7=FNB(1)
  402. 9300 PRINT"PULLED TO QUADRANT";Q1;"-";Q2;", SECTOR";S6;"-";S7
  403. 9301 IFR6<>0THENPRINT"(IDLE PERIOD CANCELLED)"
  404. 9302 R6=0
  405. 9303 IFS4<>0THEN9320
  406. 9304 IF(D4(8)=0)AND(S3>0)THEN9310
  407. 9305 PRINT"(SHIELDS NOT CURRENTLY USABLE.)"
  408. 9307 GOTO9320
  409. 9310 GOSUB26500
  410. 9315 S9=0
  411. 9320 GOSUB18000
  412. 9325 F1(2)=D0+T1-1.5*(I5/R2)*LOG(RND(1))
  413. 9326 GOTO9000
  414. 9330 F1(2)=1E+30:GOTO9000
  415. 9340 D9(1)=D0:D9(2)=R1:D9(3)=R2:D9(4)=R3:D9(5)=R4:D9(6)=R5
  416. 9342 D9(7)=S1:D9(8)=B1:D9(9)=K1:D9(10)=K2
  417. 9343 FORI=1TO8:FORJ=1TO8:D9(I-1+8*(J-1)+11)=G(I,J):NEXTJ:NEXTI
  418. 9344 FORI=75TO84:D9(I)=C1(I-74):NEXT
  419. 9345 FORI=85TO94:D9(I)=C2(I-84):NEXT
  420. 9346 FORI=95TO99:D9(I)=B2(I-94):NEXT
  421. 9347 FORI=100TO104:D9(I)=B3(I-99):NEXT
  422. 9348 D9(105)=B4:D9(106)=B5
  423. 9349 S0=1:F1(3)=D0-.3*I5*LOG(RND(1)):GOTO9000
  424. 9355 IF(R2=0)OR(R3=0)THEN9400
  425. 9360 FORI=1TOR3:FORJ=1TOR2:IF(B2(I)=C1(J))AND(B3(I)=C2(J))THEN9410
  426. 9370 NEXTJ:NEXTI
  427. 9380 F1(4)=D0+.5+3*RND(1)
  428. 9390 F1(5)=1E+30:GOTO9000
  429. 9400 F1(4)=1E+30:F1(5)=1E+30:GOTO9000
  430. 9410 B4=B2(I):B5=B3(I)
  431. 9420 IF(B4=Q1)AND(B5=Q2)THEN9380
  432. 9430 F1(5)=D0+.5+3*RND(1)
  433. 9440 F1(4)=F1(5)-.3*I5*LOG(RND(1))
  434. 9450 IFD4(9)>0THEN9000
  435. 9460 PRINT:PRINT"  CAPTAIN, THE STARBASE IN";B4;"-";B5;"IS UNDER ATTACK-"
  436. 9462 PRINT"  AND CAN ONLY RESIST UNTIL STARDATE";FNR(F1(5));"!!!"
  437. 9465 IFR6=0THEN9000
  438. 9466 INPUT"  SHALL WE CANCEL IDLE PERIOD";B$
  439. 9468 IFLEFT$(B$,1)="Y"THENR6=0
  440. 9469 GOTO9000
  441. 9475 F1(5)=1E+30:IF(R2=0)OR(R3=0)THEN9000
  442. 9485 K=INT(G(B4,B5)/100):IFG(B4,B5)-K*100<10THEN9000
  443. 9490 FORI=1TOR2:IF(C1(I)=B4)AND(C2(I)=B5)THEN9520
  444. 9510 NEXT:GOTO9000
  445. 9520 IFS2(B4,B5)=-1THENS2(B4,B5)=0
  446. 9530 IFS2(B4,B5)>999THENS2(B4,B5)=S2(B4,B5)-10
  447. 9540 IF(B4<>Q1)OR(B5<>Q2)THEN9630
  448. 9550 FORI=1TOK3:K=K4(I):L=K5(I)
  449. 9560 IFQ$(K,L)="C"THEN9570
  450. 9565 NEXT
  451. 9570 IFK6(I)<25+50*RND(1)THEN9000
  452. 9580 Q$(B6,B7)=".":B6=0:B7=0
  453. 9590 GOSUB17000
  454. 9600 PRINT:PRINT"CAPTAIN, I BELIEVE THE STARBASE HAS BEEN DESTROYED"
  455. 9620 GOTO9680
  456. 9630 IF(R3=1)OR(D4(9)>0)THEN9680
  457. 9640 PRINT
  458. 9650 PRINT"--> STARFLEET COMMAND REPORTS THAT STARBASE IN QUADRANT";B4;"-";B5
  459. 9660 PRINT"HAS BEEN DESTROYED BY ENEMY COMMANDER !!"
  460. 9680 G(B4,B5)=G(B4,B5)-10
  461. 9690 IFR3<=1THEN9730
  462. 9700 FORI=1TOR3:IF(B2(I)=B4)AND(B3(I)=B5)THEN9720
  463. 9710 NEXT
  464. 9720 B2(I)=B2(R3):B3(I)=B3(R3)
  465. 9730 R3=R3-1
  466. 9740 GOTO9000
  467. 10000 PRINT:PRINT:PRINT:INPUT"CONFLICT RESOLVED - PREPARED FOR RATING ";B$
  468. 10001 PRINTCHR$(12):A2=1:PRINT:PRINT"IT IS STARDATE";FNR(D0):PRINT
  469. 10010 ONF9GOTO10025,10135,10165,10190,10200,10205,10225,10240
  470. 10015 ONF9-8GOTO10250,10271,10285
  471. 10025 PRINT"YOU HAVE DESTROYED THE KLINGON INVASION FLEET":PRINT
  472. 10030 PRINT"     ***THE FEDERATION IS SAVED***":G1=1
  473. 10035 IF(A1=0)OR(B1<>0)THEN10110
  474. 10040 IFLEFT$(S5$,1)<>"E"THEN10110
  475. 10045 IF3*S1+35*N1+C4>=100THEN10110
  476. 10050 IFD0-J2<=6THEN10075
  477. 10060 R8=.1*S8*(S8+1)+.1
  478. 10065 IF(K1+K2)/(D0-J2)<R8THEN10110
  479. 10075 PRINT:PRINT"YOU HAVE DONE SO WELL THAT COMMAND"
  480. 10076 IFS8=4THEN10090
  481. 10080 PRINT"PROMOTES YOU.....";
  482. 10085 IFS8=1THENPRINT"TO NOVICE CLASS!"
  483. 10086 IFS8=2THENPRINT"TO SENIOR CLASS!"
  484. 10087 IFS8=3THENPRINT"TO EXPERT CLASS!"
  485. 10088 PRINT"   ***CONGRATULATIONS***":GOTO10110
  486. 10090 PRINT"PROMOTES YOU TO 'COMMODORE EMERITUS'."
  487. 10100 PRINT:PRINT"NOW YOU CAN RETIRE !"
  488. 10110 GOSUB23000
  489. 10120 RETURN
  490. 10135 PRINT"TIME HAS RUN OUT - THE FEDERATION HAS BEEN CONQUERED AND YOUR CRAFT"
  491. 10136 PRINT"IS NOW ENEMY PROPERTY... YOU WILL STAND TRIAL AS A WAR-CRIMINAL..."
  492. 10137 PRINT"ON THE BASIS OF YOUR RECORD YOU WILL BE";
  493. 10139 IFR1*3>I1THEN10150
  494. 10140 PRINT" SUMMARILY EXECUTED"
  495. 10145 A1=0:GOSUB23000:RETURN
  496. 10150 PRINT" IMPRISONED FOR LIFE"
  497. 10165 PRINT"YOUR LIFE SUPPORT RESERVES HAVE RUN OUT, AND"
  498. 10170 PRINT"YOU WILL SOON DIE!!!"
  499. 10172 PRINT
  500. 10175 PRINT"YOUR STARSHIP IS A DERELICT IN SPACE."
  501. 10180 GOTO10300
  502. 10190 PRINT"YOUR ENERGY SUPPLY IS EXHAUSTED.":GOTO10172
  503. 10200 PRINT"THE ";S5$;" HAS BEEN DESTROYED IN BATTLE."
  504. 10201 GOTO10300
  505. 10205 RETURN
  506. 10225 PRINT"YOUR STARSHIP HAS BEEN DESTROYED BY A NOVA."
  507. 10230 PRINT"NICE WORK, IDIOT !!!":GOTO10300
  508. 10240 PRINT"THE ";S5$;" HAS BEEN INCINERATED BY A SUPERNOVA."
  509. 10241 GOTO10300
  510. 10250 PRINT"YOU HAVE BEEN CAPTURED BY THE ENEMY. IF YOU STILL HAD A STARBASE,"
  511. 10255 PRINT"YOU WOULD HAVE BEEN REPATRIATED. SINCE YOU HAVE NO BASES, YOU WILL"
  512. 10260 PRINT"BE MERCILESSLY TORTURED !!"
  513. 10266 GOTO10300
  514. 10271 PRINT:PRINT"THE ";S5$;" IS NOW AN EXPANDING CLOUD"
  515. 10272 PRINT"OF SUB-ATOMIC PARTICLES...":GOTO10300
  516. 10285 PRINT"STARBASE WAS UNABLE TO RE-MATERIALIZE YOUR STARSHIP."
  517. 10300 PRINT
  518. 10310 IFLEFT$(S5$,1)="F"THENS5$=""
  519. 10315 IFLEFT$(S5$,1)="E"THENS5$="FAERIE QUEENE"
  520. 10316 A1=0
  521. 10320 IFR1=0THEN10355
  522. 10325 G3=R4/I3:B8=(R1+2*R2)/(I1+2*I4)
  523. 10326 A3=G3/B8
  524. 10327 IF A3<1+.5+RND(1)THEN10345
  525. 10330 PRINT"AS A RESULT OF YOUR ACTIONS, A TREATY WITH THE KLINGON"
  526. 10331 PRINT"EMPIRE HAS BEEN SIGNED.  THE TERMS OF THE TREATY ARE"
  527. 10332 IFA3<3*RND(1)THEN10340
  528. 10335 PRINT"FAVORABLE TO THE FEDERATION.":PRINT
  529. 10336 PRINT"CONGRATULATIONS.":GOTO10350
  530. 10340 PRINT"HIGHLY UNFAVORABLE TO THE FEDERATION.":GOTO10350
  531. 10345 PRINT"THE FEDERATION WILL BE DESTROYED!"
  532. 10350 GOSUB23000:RETURN
  533. 10355 PRINT"SINCE YOU TOOK THE LAST KLINGON WITH YOU, YOU ARE"
  534. 10360 PRINT"A MARTYR AND A HERO.":G1=1:A1=0
  535. 10390 GOSUB23000:RETURN
  536. 11001 IFC5$<>"DOCKED"THEN11020
  537. 11010 PRINT"--> CAPTAIN, WE'RE ALREADY DOCKED!"
  538. 11015 RETURN
  539. 11020 IFD4(9)=0THEN11030
  540. 11025 PRINT"SUBSPACE RADIO DAMAGED...CANNOT TRANSMIT.":RETURN
  541. 11030 IFR3<>0THEN11050
  542. 11040 PRINT"CAPTAIN, NO RESPONSE FROM STARBASE !":RETURN
  543. 11050 N1=N1+1:IFB6=0THEN11070
  544. 11060 GOTO11130
  545. 11070 D1=1E+30
  546. 11080 FORL=1TOR3:X=10*SQR((B2(L)-Q1)^2+(B3(L)-Q2)^2)
  547. 11090 IFX>D1THEN11110
  548. 11100 D1=X:K=L
  549. 11110 NEXTL
  550. 11120 Q1=B2(K):Q2=B3(K):GOSUB18000
  551. 11130 Q$(S6,S7)="."
  552. 11135 PRINT
  553. 11140 PRINT"STARBASE IN QUADRANT";Q1;"-";Q2;"RESPONDS --";
  554. 11145 PRINT"  ";S5$;" DEMATERIALIZES."
  555. 11146 P2=(1-.98^D1)^.333333
  556. 11150 FORL=1TO3
  557. 11155 IFL=1THENPRINT"1ST ";
  558. 11160 IFL=2THENPRINT"2ND ";
  559. 11170 IFL=3THENPRINT"3RD ";
  560. 11180 PRINT"ATTEMPT TO RE-MATERIALIZE THE ";S5$;". . . . .";
  561. 11190 IFRND(1)>P2THEN11220
  562. 11200 PRINT"FAILS.":NEXTL
  563. 11210 F9=11:GOSUB10000:RETURN
  564. 11220 FORL=1TO5:I=B6+INT(3*RND(1))-1
  565. 11230 IF(I<1)OR(I>10)THEN11260
  566. 11235 J=B7+INT(3*RND(1))-1
  567. 11240 IF(J<1)OR(J>10)THEN11260
  568. 11250 IFQ$(I,J)="."THEN11270
  569. 11260 NEXTL:PRINT"FAILS.":GOTO11210
  570. 11270 PRINT"SUCCEEDS.":S6=I:S7=J:Q$(I,J)=LEFT$(S5$,1)
  571. 11280 GOSUB7000:PRINT"CAPTAIN, WE MADE IT!":RETURN
  572. 12001 P4=2:L5=K3:N=1
  573. 12010 FORK=1TOL5
  574. 12020 IFH3(K)=0THEN12240
  575. 12030 D6=.9+.01*RND(1):H2=H3(K)*D6^K7(N)
  576. 12040 P3=K6(N)
  577. 12050 P=ABS(P3):IFP4*H2<PTHENP=P4*H2
  578. 12060 K6(N)=P3-SGN(P3)*ABS(P)
  579. 12070 X8=K4(N):Y8=K5(N)
  580. 12080 IFH2>4.99THEN12100
  581. 12090 PRINT"MINOR HIT ON ":GOTO12110
  582. 12100 PRINTFNR(H2);"UNIT HIT ON ";
  583. 12110 M$=Q$(X8,Y8)
  584. 12120 IF M$="K"THENPRINT"KLINGON AT";
  585. 12125 IFM$="C"THENPRINT"COMMANDER AT";
  586. 12130 PRINTX8;"-";Y8
  587. 12140 IFK6(N)<>0THEN12180
  588. 12150 A5=X8:A6=Y8:T2$=Q$(X8,Y8):GOSUB6000
  589. 12160 IFR1<>0THEN12250
  590. 12170 F9=1:GOSUB10000:GOTO12250
  591. 12180 IFK6(N)<0THEN12240
  592. 12190 IFRND(1)<.9THEN12240
  593. 12200 IFK6(N)>(.4+.4*RND(1))*P3THEN12240
  594. 12205 PRINT
  595. 12210 PRINT"*** CAPTAIN, THE VESSEL AT SECTOR";
  596. 12215 PRINTX8;"-";Y8
  597. 12220 PRINT"   HAS JUST LOST ITS FIREPOWER !!!"
  598. 12225 PRINT
  599. 12230 K6(N)=-K6(N)
  600. 12240 N=N+1
  601. 12250 NEXTK
  602. 12260 RETURN
  603. 13001 J3=0
  604. 13010 IFD4(7)<>0THEN13250
  605. 13020 IFE1<=75THEN13070
  606. 13030 INPUT"ENTER COURSE....";D2
  607. 13040 IFD2<.01ORD2>12THENGOSUB40000ELSE13048
  608. 13041 RETURN
  609. 13048 INPUT"DISTANCE ";D1:IFD1>0THEN13050
  610. 13049 RETURN
  611. 13050 P3=50+250*D1
  612. 13060 IFP3<E1THEN13140
  613. 13070 PRINT
  614. 13080 PRINT"1ST OFFICER SPOCK-  'CAPTAIN, THE IMPULSE ENGINES"
  615. 13090 PRINT"REQUIRE 50 UNITS OF ENERGY TO ENGAGE, PLUS 250 UNITS PER ";
  616. 13100 IFE1>75THEN13120
  617. 13110 PRINT"QUADRANT.  THEY ARE USELESS NOW.'":RETURN
  618. 13120 PRINT"QUADRANT.  WE CAN GO A MAXIMUM OF ";
  619. 13130 PRINTFNR(4E-03*(E1-50)-.05);"QUADRANTS.'":RETURN
  620. 13140 T1=D1/.4
  621. 13150 IFT1<R5THEN13200
  622. 13160 PRINT"SIR, MAX. SPEED UNDER IMPULSE IS ONLY 4 SECTORS PER STARDATE"
  623. 13170 INPUT"-- AUTHORIZE ";B$
  624. 13190 IFLEFT$(B$,1)<>"Y"THENRETURN
  625. 13200 GOSUB15001:J3=1
  626. 13210 IFA2<>0THENRETURN
  627. 13220 E1=E1-P3
  628. 13230 IFE1>0THENRETURN
  629. 13240 F9=4:GOSUB10000:RETURN
  630. 13250 PRINT"IMPULSE ENGINES DAMAGED.":RETURN
  631. 14001 N$="    #"
  632. 14005 PRINT
  633. 14010 IFD4(2)<>0THEN14180
  634. 14020 PRINT"L.R. SCAN FOR QUADRANT";Q1;"-";Q2:PRINT
  635. 14030 I=Q1-1:J=Q1+1:K=Q2-1:L=Q2+1
  636. 14040 FORM=ITOJ:FORN=KTOL
  637. 14050 IF(M<=0)OR(M>8)THEN14110
  638. 14060 IF(N<=0)OR(N>8)THEN14110
  639. 14070 IFD4(11)=0THENS2(M,N)=1
  640. 14080 IFG(M,N)>=LQTHEN PRINT"  ***";" ";
  641. 14090 IFG(M,N)<LQTHENPRINTSPC(5-LEN(STR$(G(M,N))));G(M,N);
  642. 14100 GOTO14120
  643. 14110 PRINTN$;" ";
  644. 14120 NEXTN:PRINT
  645. 14130 PRINT
  646. 14140 NEXTM
  647. 14150 IFD4(11)=0THENRETURN
  648. 14160 PRINT"*** WARNING *** - COMPUTER DISABLED - SCAN NOT RECORDED."
  649. 14170 RETURN
  650. 14180 PRINT"LONG RANGE SENSORS DAMAGED.":RETURN
  651. 15001 A5=(15-D2)*.523599:D4=-SIN(A5):D6=COS(A5):B8=ABS(D4)
  652. 15030 IFABS(D6)>B8THENB8=ABS(D6)
  653. 15040 D4=D4/B8:D6=D6/B8:T5=0:T6=0
  654. 15050 IFD0+T1<F1(2)THEN15080
  655. 15060 T5=1:C5$="RED":D1=D1*(F1(2)-D0)/T1+.1
  656. 15070 T1=F1(2)-D0+1E-05
  657. 15080 Q$(S6,S7)=".":X7=S6:Y7=S7:H9=INT(10*D1*B8+.5)
  658. 15090 IFH9=0THEN15115
  659. 15100 FORL=1TOH9
  660. 15102 X7=X7+D4:X1=INT(X7+.5):Y7=Y7+D6:Y1=INT(Y7+.5)
  661. 15105 IF(X1<1)OR(X1>10)THEN15150
  662. 15106 IF(Y1<1)OR(Y1>10)THEN15150
  663. 15108 IFQ$(X1,Y1)="O"THEN15111
  664. 15109 IFQ$(X1,Y1)<>"."THEN15125
  665. 15110 NEXTL
  666. 15111 D1=.1*SQR((S6-X1)^2+(S7-Y1)^2)
  667. 15112 S6=X1:S7=Y1
  668. 15115 F4=S6:F5=S7
  669. 15116 IFQ$(X1,Y1)<>"O"THEN15320
  670. 15120 T2=FNA(1):T3=FNA(1)
  671. 15122 Q1=FNA(1):Q2=FNA(1):S6=FNB(1):S7=FNB(1):PRINT
  672. 15123 PRINT"*** SPACE PORTAL ENTERED ***":GOTO15307
  673. 15125 T6=1:K=50*D1/T1+1E-03:D1=.1*SQR((S6-X1)^2+(S7-Y1)^2)
  674. 15127 IF(Q$(X1,Y1)="K")OR(Q$(X1,Y1)="C")THEN15145
  675. 15129 PRINT:PRINTS5$;" BLOCKED BY ";
  676. 15130 IFQ$(X1,Y1)="*"THENPRINT"STAR AT";
  677. 15131 IFQ$(X1,Y1)="B"THENPRINT"STARBASE AT";
  678. 15132 PRINT" SECTOR";X1;"-";Y1;"...."
  679. 15133 PRINT"EMERGENCY STOP REQUIRED";FNR(K);"UNITS OF ENERGY."
  680. 15135 E1=E1-K
  681. 15137 S6=INT(X7-D4+.5):F4=S6:S7=INT(Y7-D6+.5):F5=S7
  682. 15140 IFE1>0THEN15320
  683. 15141 F9=4:GOSUB10000:RETURN
  684. 15145 S6=X1:S7=Y1:GOSUB22001:F4=S6:F5=S7:GOTO15320
  685. 15150 IFK3=0THEN15165
  686. 15155 FORL=1TOK3
  687. 15156 F3=SQR((X1-K4(L))^2+(Y1-K5(L))^2)
  688. 15158 K8(L)=.5*(F3+K7(L)):NEXTL
  689. 15160 IFG(Q1,Q2)<>LQTHENGOSUB1000
  690. 15162 IFA2<>0THENRETURN
  691. 15165 X7=10*(Q1-1)+S6:Y7=10*(Q2-1)+S7
  692. 15170 X1=INT(X7+10*D1*B8*D4+.5)
  693. 15175 Y1=INT(Y7+10*D1*B8*D6+.5):L6=0
  694. 15180 L5=0
  695. 15185 IFX1>0THEN15195
  696. 15190 X1=-X1+1:L5=1
  697. 15195 IFY1>0THEN15210
  698. 15200 Y1=-Y1+1:L5=1
  699. 15210 IFX1<=80THEN15220
  700. 15215 X1=161-X1:L5=1
  701. 15220 IFY1<=80THEN15230
  702. 15225 Y1=161-Y1:L5=1
  703. 15230 IFL5=0THEN15240
  704. 15235 L6=1:GOTO15180
  705. 15240 IFL6=0THEN15270
  706. 15260 PRINT:PRINT"*** MESSAGE FROM STARFLEET COMMAND.....STARDATE";FNR(DO)
  707. 15261 PRINT"PERMISSION TO EXIT GALAXY - DENIED -"
  708. 15265 PRINT"'ENGINES SHUT DOWN AT ";
  709. 15266 Z1=INT((X1+9)/10):Z2=INT((Y1+9)/10)
  710. 15267 PRINT"QUADRANT";Z1;"-";Z2;",  ";
  711. 15268 PRINT"SECTOR";X1-10*(Z1-1);"-";Y1-10*(Z2-1);"'"
  712. 15270 IFT5<>0THENRETURN
  713. 15295 Q1=INT((X1+9)/10):Q2=INT((Y1+9)/10)
  714. 15296 S6=X1-10*(Q1-1):S7=Y1-10*(Q2-1)
  715. 15307 PRINT:GOTO15315
  716. 15310 PRINTCHR$(12):PRINT"ENTERING THE QUADRANT  (";Q1;"-";Q2;")"
  717. 15315 Q$(S6,S7)=LEFT$(S5$,1):GOSUB18000:GOSUB29002:GOSUB14001:RETURN
  718. 15320 Q$(S6,S7)=LEFT$(S5$,1)
  719. 15321 IFL6=1THENRETURN
  720. 15325 IFK3=0THEN15390
  721. 15330 FORL=1TOK3
  722. 15340 F3=SQR((F4-K4(L))^2+(F5-K5(L))^2)
  723. 15350 K8(L)=.5*(K7(L)+F3)
  724. 15360 K7(L)=F3
  725. 15370 NEXTL
  726. 15380 GOSUB28000
  727. 15390 GOSUB17000:RETURN
  728. 16001 A=1:B=1
  729. 16010 FORK=1TOK3
  730. 16020 C=K4(K):D=K5(K)
  731. 16030 IFQ$(C,D)="C"THEN16050
  732. 16040 NEXTK
  733. 16050 N=0:F=K6(K)+100*K3
  734. 16060 IFF>LQTHENN=INT(RND(1)*K7(K)+1)
  735. 16065 IF((C5$="DOCKED")AND((B4<>Q1)OR(B5<>Q2)))THENN=-S8
  736. 16070 IFN=0THENN=INT(((F+200*RND(1))/150)-5)
  737. 16071 IFN=0THENRETURN
  738. 16072 IF(N>0)AND(K7(K)<1.5)THENRETURN
  739. 16075 IFABS(N)>S8THENN=SGN(N)*ABS(S8)
  740. 16080 T=ABS(N):P=S6-C:Q=S7-D
  741. 16085 IF2*ABS(P)<ABS(Q)THENP=0
  742. 16090 IF2*ABS(Q)<ABS(P)THENQ=0
  743. 16095 IFP<>0THENP=SGN(P*N)
  744. 16100 IFQ<>0THENQ=SGN(Q*N)
  745. 16105 R=C:S=D:Q$(C,D)="."
  746. 16110 FORL2=1TOT:L=R+P:M=S+Q
  747. 16115 IF(L>0)AND(L<=10)THEN16120
  748. 16117 ONSGN(N)+2GOTO16240,16165,16165
  749. 16120 IF(M>0)AND(M<=10)THEN16130
  750. 16125 ONSGN(N)+2GOTO16240,16135,16135
  751. 16130 IFQ$(L,M)="."THEN16195
  752. 16135 IF(Q=B)OR(P=0)THEN16165
  753. 16140 M=S+B
  754. 16145 IF(M>0)AND(M<=10)THEN16155
  755. 16150 ONSGN(N)+2GOTO16240,16160,16160
  756. 16155 IFQ$(L,M)="."THEN16195
  757. 16160 B=-B
  758. 16165 IF(P=A)OR(Q=0)THEN16200
  759. 16170 L=R+A
  760. 16175 IF(L>0)AND(L<=10)THEN16185
  761. 16180 ONSGN(N)+2GOTO16240,16190,16190
  762. 16185 IFQ$(L,M)="."THEN16195
  763. 16190 A=-A:GOTO16200
  764. 16195 R=L:S=M
  765. 16200 NEXTL2
  766. 16205 Q$(R,S)="C"
  767. 16210 IF(R=C)AND(S=D)THENRETURN
  768. 16215 K4(K)=R:K5(K)=S:K7(K)=SQR((S6-R)^2+(S7-S)^2)
  769. 16220 K8(K)=K7(K):IFN>0THENPRINT"*** COMMANDER ADVANCES TO";
  770. 16225 IFN<0THENPRINT"*** COMMANDER RETREATS TO";
  771. 16230 PRINT" SECTOR";R;"-";S:GOSUB28000:RETURN
  772. 16240 I=Q1+INT((L+9)/10)-1:J=Q2+INT((M+9)/10)-1
  773. 16245 IF(I<1)OR(I>8)THEN16350
  774. 16250 IF(J<1)OR(J>8)THEN16350
  775. 16260 FORL3=1TOR2
  776. 16265 IF(C1(L3)=I)AND(C2(L3)=J)THEN16350
  777. 16270 NEXTL3:PRINT"*** COMMANDER ESCAPES TO ";
  778. 16275 PRINT"QUADRANT";I;"-";J;"  (AND REGAINS STRENGTH)"
  779. 16280 K4(K)=K4(K3):K5(K)=K5(K3):K7(K)=K7(K3):K8(K)=K8(K3)
  780. 16285 K6(K)=K6(K3):K3=K3-1:C3=0
  781. 16290 IFC5$<>"DOCKED"THENGOSUB17000
  782. 16300 GOSUB28000
  783. 16310 G(Q1,Q2)=G(Q1,Q2)-100:G(I,J)=G(I,J)+100
  784. 16320 FORL3=1TOR2
  785. 16330 IF(C1(L3)=Q1)AND(C2(L3)=Q2)THEN16340
  786. 16335 NEXTL3
  787. 16340 C1(L3)=I:C2(L3)=J:RETURN
  788. 16350 A=-A:B=-B:GOTO16200
  789. 17000 C5$="GREEN":IFE1<LQTHENC5$="YELLOW"
  790. 17020 IFG(Q1,Q2)>99THENC5$="RED"
  791. 17030 RETURN
  792. 18000 J4=1:B6=0:B7=0:K3=0:C3=0:U=G(Q1,Q2):IFU>999THEN18290
  793. 18030 K3=INT(.01*U):FORA=1TO10:FORB=1TO10:Q$(A,B)=".":NEXTB:NEXTA
  794. 18040 Q$(S6,S7)=LEFT$(S5$,1):U=G(Q1,Q2):IFU<100THEN18150
  795. 18050 U=U-100*K3:FORA=1TOK3
  796. 18060 S=FNB(1):K4(A)=S:T=FNB(1):K5(A)=T
  797. 18070 IFQ$(S,T)<>"."THEN18060
  798. 18080 Q$(S,T)="K":K7(A)=SQR((S6-S)^2+(S7-T)^2):K8(A)=K7(A)
  799. 18090 K6(A)=RND(1)*150+325:NEXTA
  800. 18100 IFR2=0THEN18140
  801. 18110 FORA=1TOR2
  802. 18115 IF(C1(A)=Q1)AND(C2(A)=Q2)THEN18130
  803. 18120 NEXTA:GOTO18140
  804. 18130 Q$(S,T)="C":K6(K3)=LQ+400*RND(1):C3=1
  805. 18140 GOSUB28000
  806. 18150 IFU<10THEN18190
  807. 18160 U=U-10
  808. 18170 B6=FNB(1):B7=FNB(1):IFQ$(B6,B7)<>"."THEN18170
  809. 18180 Q$(B6,B7)="B"
  810. 18190 GOSUB17000:IFU<1THENRETURN
  811. 18200 FORA=1TOU
  812. 18210 S=FNB(1):T=FNB(1):IFQ$(S,T)<>"."THEN18210
  813. 18220 Q$(S,T)="*":NEXTA
  814. 18230 IF(T2<>Q1)OR(T3<>Q2)THENRETURN
  815. 18240 S=FNB(1):T=FNB(1):IFQ$(S,T)<>"."THEN18240
  816. 18250 Q$(S,T)="O":PRINT
  817. 18260 PRINT"*** SHORT-RANGE SENSORS DETECT A SPACE-WARP IN THIS QUADRANT"
  818. 18280 RETURN
  819. 18290 FORA=1TO10:FORB=1TO10:Q$(A,B)=".":NEXTB:NEXTA
  820. 18300 Q$(S6,S7)=LEFT$(S5$,1):RETURN
  821. 19002 IFRND(1)>.1THEN19015
  822. 19010 GOSUB27000:RETURN
  823. 19015 Q$(A5,A6)=".":PRINT"*** STAR AT SECTOR";A5;"-";A6;"NOVAS."
  824. 19020 G(Q1,Q2)=G(Q1,Q2)-1:S1=S1+1
  825. 19025 B9=1:T6=1:T7=1:K=0:X1=0:Y1=0
  826. 19030 H4(B9,1)=A5:H4(B9,2)=A6
  827. 19035 FORM=B9TOT6:FORQ=1TO3:FORJ=1TO3
  828. 19040 IFJ*Q=4THEN19260
  829. 19045 J5=H4(M,1)+Q-2:J6=H4(M,2)+J-2
  830. 19050 IF(J5<1)OR(J5>10)THEN19260
  831. 19055 IF(J6<1)OR(J6>10)THEN19260
  832. 19060 IFQ$(J5,J6)="."THEN19260
  833. 19065 IFQ$(J5,J6)="O"THEN19260
  834. 19070 IFQ$(J5,J6)<>"*"THEN19105
  835. 19075 IFRND(1)>=.1THEN19085
  836. 19080 X2=J5:Y2=J6:GOSUB27000:RETURN
  837. 19085 T7=T7+1:H4(T7,1)=J5:H4(T7,2)=J6:G(Q1,Q2)=G(Q1,Q2)-1
  838. 19090 S1=S1+1:PRINT"*** STAR AT SECTOR";J5;"-";J6;"NOVAS."
  839. 19100 GOTO19255
  840. 19105 IFQ$(J5,J6)<>"B"THEN19140
  841. 19110 G(Q1,Q2)=G(Q1,Q2)-10:FORV=1TOR3
  842. 19115 IF(B2(V)<>Q1)OR(B3(V)<>Q2)THEN19125
  843. 19120 B2(V)=B2(R3):B3(V)=B3(R3)
  844. 19125 NEXTV:R3=R3-1:B6=0:B7=0:B1=B1+1:GOSUB17000
  845. 19130 PRINT"*** STARBASE AT SECTOR";J5;"-";J6;"DESTROYED."
  846. 19135 GOTO19255
  847. 19140 IF(S6<>J5)OR(S7<>J6)THEN19190
  848. 19145 PRINT"*** STARSHIP BUFFETED BY NOVA.":IFS4<>0THEN19155
  849. 19150 E1=E1-LQ:GOTO19170
  850. 19155 IFS3>=LQTHEN19180
  851. 19160 D6=LQ-S3:E1=E1-D6:GOSUB17000:S3=0:S4=0
  852. 19165 PRINT"*** STARSHIP SHIELDS KNOCKED OUT.":D4(8)=5E-03*D5*RND(1))*D6
  853. 19170 IFE1>0THEN19185
  854. 19175 F9=7:GOSUB10000:RETURN
  855. 19180 S3=S3-LQ
  856. 19185 X1=X1+S6-H4(M,1):Y1=Y1+S7-H4(M,2):K=K+1:GOTO19260
  857. 19190 IFQ$(J5,J6)<>"C"THEN19250
  858. 19195 FORV=1TOK3
  859. 19200 IF(K4(V)=J5)AND(K5(V)=J6)THEN19210
  860. 19205 NEXTV
  861. 19210 K6(V)=K6(V)-800:IFK6(V)<=0THEN19250
  862. 19215 N5=J5+J5-H4(M,1):N6=J6+J6-H4(M,2)
  863. 19220 PRINT"*** COMMANDER AT SECTOR";J5;"-";J6;"DAMAGED";
  864. 19225 IF(N5<1)OR(N5>10)OR(N6<1)OR(N6>10)THEN19245
  865. 19230 PRINT" AND BUFFETED TO SECTOR";N5;"-";N6
  866. 19235 Q$(N5,N6)="C":K4(V)=N5:K5(V)=N6
  867. 19240 K7(V)=SQR((S6-N5)^2+(S7-N6)^2):K8(V)=K7(V)
  868. 19241 Q$(J5,J6)="."
  869. 19245 PRINT:GOTO19260
  870. 19250 A5=J5:A6=J6:T2$=Q$(J5,J6):GOSUB6000:GOTO19260
  871. 19255 PRINT:Q$(J5,J6)="."
  872. 19260 NEXTJ:NEXTQ:NEXTM
  873. 19265 IFT6=T7THEN19280
  874. 19270 B9=T6+1:T6=T7:GOTO19035
  875. 19280 IFK=0THENRETURN
  876. 19290 D1=K*.1
  877. 19300 IFX1<>0THENX1=SGN(X1)
  878. 19310 IFY1<>0THENY1=SGN(Y1)
  879. 19320 I=3*(X1+1)+Y1+2
  880. 19330 D2=C5(I)
  881. 19340 IFD2=0THEND1=0
  882. 19350 IFD1=0THENRETURN
  883. 19360 PRINT:PRINT"FORCE OF NOVA DISPLACES STARSHIP."
  884. 19370 GOSUB15001:RETURN
  885. 20001 P=2:J3=1
  886. 20020 IFC5$<>"DOCKED"THEN20030
  887. 20025 PRINT"PHASERS CAN'T BE FIRED THRU BASE SHIELDS.":GOTO20080
  888. 20030 IFD4(3)=0THEN20050
  889. 20040 PRINT"PHASER BANKS DAMAGED.":GOTO20080
  890. 20050 IFS4=0THEN20060
  891. 20055 PRINT"SHIELDS MUST BE DOWN TO FIRE PHASERS.":GOTO20080
  892. 20060 IFK3>0THEN20090
  893. 20065 PRINT
  894. 20070 PRINT"THE SHORT-RANGE SENSORS DETECT NO ENEMY IN THIS QUADRANT."
  895. 20080 J3=0:RETURN
  896. 20090 PRINT"PHASERS LOCKED ON TARGET.  ENERGY AVAILABLE=";
  897. 20095 PRINT.01*INT(100*E1)
  898. 20100 INPUT"UNITS TO FIRE";P1:IFP1<E1THEN20120
  899. 20110 PRINT"ENERGY AVAILABLE =";:GOTO20095
  900. 20120 IFP1>0THEN20140
  901. 20130 J3=0:RETURN
  902. 20140 E1=E1-P1
  903. 20142 IFD4(11)=0THEN20147
  904. 20144 P1=P1*(RND(1)*.5+.5)
  905. 20145 PRINT:PRINT"COMPUTER MALFUNCTION HAMPERS PHASER ACCURACY.":PRINT
  906. 20147 E=P1:IFK3=0THEN20310
  907. 20150 E=0:T5=(K3*(K3+1))/2
  908. 20160 FORI=1TOK3:H3(I)=((K3+1-I)/T5)*P1
  909. 20170 H5(I)=ABS(K6(I))/(P*.9^K7(I))
  910. 20180 IFH3(I)<=H5(I)THEN20200
  911. 20190 E=E+(H3(I)-H5(I)):H3(I)=H5(I)
  912. 20200 NEXTI
  913. 20210 IFE=0THEN20280
  914. 20220 FORI=1TOK3:R7=H5(I)-H3(I)
  915. 20230 IFR7<=0THEN20260
  916. 20240 IFR7>=ETHEN20270
  917. 20250 H3(I)=H5(I):E=E-R7
  918. 20260 NEXTI:GOTO20280
  919. 20270 H3(I)=H3(I)+E:E=0
  920. 20280 GOSUB12001
  921. 20290 IF(E<>0)AND(A2=0)THEN20310
  922. 20300 J3=1:RETURN
  923. 20310 PRINTFNR(E);"EXPENDED ON EMPTY SPACE.":J3=1:RETURN
  924. 21001 J3=1:IFD4(4)=0THEN21015
  925. 21010 PRINT"PHOTON TUBES DAMAGED.":GOTO21035
  926. 21015 IFT4<>0THEN21025
  927. 21020 PRINT"NO TORPEDOS LEFT.":GOTO21035
  928. 21025 INPUT"TORPEDO COURSE";C6
  929. 21030 IFC6<.01ORC6>12THENGOSUB40000ELSE21040
  930. 21035 J3=0:RETURN
  931. 21040 INPUT"BURST OF 3";B$:N=1
  932. 21045 IFLEFT$(B$,1)="N"THEN21070
  933. 21050 IFLEFT$(B$,1)<>"Y"THEN21040
  934. 21051 IFT4>2THEN21060
  935. 21055 PRINT"NO BURST.  ONLY";T4;"TORPEDOS LEFT.":GOTO21035
  936. 21060 INPUT"SPREAD ANGLE (3 - 30 DEG)";G2
  937. 21061 IFG2<0THEN21035
  938. 21062 IF(G2<3)OR(G2>30)THEN21060
  939. 21063 G2=FND(G2)
  940. 21065 N=3
  941. 21070 FORZ6=1TON
  942. 21075 IFC5$<>"DOCKED"THENT4=T4-1
  943. 21080 Z7=Z6:R=RND(1)
  944. 21085 R=(R+RND(1))*.5-.5
  945. 21090 IF(R>=-.4)AND(R<=.4)THEN21125
  946. 21095 R=(RND(1)+1.2)*R:IFN=3THEN21105
  947. 21100 PRINT"*** METEORITE DEFLECTION":R=INT(RND(1)*50)+1
  948. 21101 PRINT"TORPEDO EFFECTIVENESS REDUCED"; R;"%":PRINT:GOTO21110
  949. 21105 PRINT"*** TORPEDO NUMBER";Z6;"MISFIRE - ";R;"% DOWN"
  950. 21110 IF RND(1)>.2THEN21125
  951. 21115 PRINT"*** PHOTON TUBES DAMAGED BY MISFIRE."
  952. 21120 D4(4)=D5*(1+2*RND(1)):GOTO21440
  953. 21125 IF(S4<>0)OR(C5$="DOCKED")THENR=R+1E-03*S3*R
  954. 21130 A3=C6+.25*R:IFN=1THEN21140
  955. 21135 A8=(15-A3+(2-Z6)*G2)*.523599:PRINT
  956. 21137 PRINT"TRACK FOR TORPEDO NUMBER";Z7;"--":GOTO21145
  957. 21140 PRINT:PRINT"TORPEDO TRACK --":A8=(15-A3)*.523599
  958. 21145 X4=-SIN(A8):Y4=COS(A8):B8=ABS(X4)
  959. 21146 IFABS(Y4)>ABS(X4)THENB8=ABS(Y4)
  960. 21150 X4=X4/B8:Y4=Y4/B8:X5=S6:Y5=S7
  961. 21155 FORL9=1TO15:X5=X5+X4:A5=INT(X5+.5)
  962. 21160 IF(A5<1)OR(A5>10)THEN21430
  963. 21165 Y5=Y5+Y4:A6=INT(Y5+.5)
  964. 21170 IF(A6<1)OR(A6>10)THEN21430
  965. 21175 IF(L9=5)OR(L9=9)THENPRINT
  966. 21180 PRINTFNR(X5);"-";FNR(Y5);", ";
  967. 21185 IFQ$(A5,A6)<>"."THEN21195
  968. 21190 GOTO21425
  969. 21195 PRINT:IFQ$(A5,A6)="K"THEN21220
  970. 21200 IFQ$(A5,A6)<>"C"THEN21325
  971. 21205 IFRND(1)>.1THEN21220
  972. 21210 PRINT"*** COMMANDER AT SECTOR";A5;"-";A6;"USES ANTI-PHOTON DEVICE !"
  973. 21215 PRINT"-- TORPEDO NEUTRALIZED.":GOTO21435
  974. 21220 FORV=1TOK3
  975. 21225 IF(A5=K4(V))AND(A6=K5(V))THEN21235
  976. 21230 NEXTV
  977. 21235 K=K6(V):W3=200+800*RND(1)
  978. 21240 IFABS(K)<W3THENW3=ABS(K)
  979. 21245 K6(V)=K-SGN(K)*ABS(W3):IFK6(V)<>0THEN21255
  980. 21250 T2$=Q$(A5,A6):GOSUB6000:GOTO21435
  981. 21255 IFQ$(A5,A6)="K"THENPRINT"*** KLINGON AT";
  982. 21260 IFQ$(A5,A6)="C"THENPRINT"*** COMMANDER AT";
  983. 21265 PRINTA5;"-";A6;
  984. 21270 A7=A8+2.5*(RND(1)-.5)
  985. 21275 W3=ABS(-SIN(A7)):IFABS(COS(A7))>W3THENW3=ABS(COS(A7))
  986. 21280 X7=-SIN(A7)/W3:Y7=COS(A7)/W3
  987. 21285 P=INT(A5+X7+.5):Q=INT(A6+Y7+.5)
  988. 21290 IF(P<1)OR(P>10)OR(Q<1)OR(Q>10)THEN21320
  989. 21295 IFQ$(P,Q)<>"."THEN21320
  990. 21300 Q$(P,Q)=Q$(A5,A6):Q$(A5,A6)=".":PRINT"DAMAGED--"
  991. 21305 PRINT"   DISPLACED BY BLAST TO SECTOR";P;"-";Q
  992. 21310 K4(V)=P:K5(V)=Q:K7(V)=SQR((S6-P)^2+(S7-Q)^2)
  993. 21311 K8(V)=K7(V)
  994. 21315 GOSUB28000:GOTO21435
  995. 21320 PRINT"DAMAGED, BUT NOT DESTROYED.":GOTO21435
  996. 21325 IFQ$(A5,A6)<>"B"THEN21365
  997. 21330 PRINT"*** STARBASE DESTROYED...!!!"
  998. 21335 IFS2(Q1,Q2)<0THENS2(Q1,Q2)=0
  999. 21340 FORW=1TOR3
  1000. 21345 IF(B2(W)<>Q1)OR(B3(W)<>Q2)THEN21355
  1001. 21350 B2(W)=B2(R3):B3(W)=B3(R3)
  1002. 21355 NEXTW:Q$(A5,A6)=".":R3=R3-1:B6=0:B7=0
  1003. 21360 G(Q1,Q2)=G(Q1,Q2)-10:B1=B1+1:GOSUB17000:GOTO21435
  1004. 21365 IFQ$(A5,A6)<>"*"THEN21405
  1005. 21370 IFRND(1)>.15THEN21385
  1006. 21375 PRINT"*** STAR AT SECTOR";A5;"-";A6;"UNAFFECTED BY PHOTON BLAST"
  1007. 21380 GOTO21435
  1008. 21385 X2=A5:Y2=A6:GOSUB19002:A5=X2:A6=Y2
  1009. 21390 IFG(Q1,Q2)=LQTHENRETURN
  1010. 21395 IFA2<>0THENRETURN
  1011. 21400 GOTO21435
  1012. 21405 PRINT:PRINT"  >>> ORGANIAN TRUCE-MONITOR DESTROYED <<<":Q$(A5,A6)=".":PRINT
  1013. 21420 T2=0:T3=0:GOTO21435
  1014. 21425 NEXTL9
  1015. 21430 PRINT:PRINT"TORPEDO MISSED!"
  1016. 21435 NEXTZ6
  1017. 21440 IFR1<>0THENRETURN
  1018. 21445 F9=1:GOSUB10000:RETURN
  1019. 22001 PRINT:PRINT"*** RED ALERT!!   RED ALERT!! ***":PRINT
  1020. 22010 PRINT"*** COLLISION IMMINENT!!":PRINT
  1021. 22020 PRINT"*** ";S5$;" RAMS ";:W7=1:IFQ$(S6,S7)="C"THENW7=2
  1022. 22030 IFW7=1THENPRINT"KLINGON AT ";
  1023. 22040 IFW7=2THENPRINT"COMMANDER AT ";
  1024. 22050 PRINT"SECTOR";S6;"-";S7:A5=S6:A6=S7:T2$=Q$(S6,S7)
  1025. 22060 GOSUB6000:PRINT"*** ";S5$;" HEAVILY DAMAGED."
  1026. 22070 K=INT(5+RND(1)*20):PRINT"***SICKBAY REPORTS";K;"CASUALTIES!"
  1027. 22080 C4=C4+K:FORL=1TO12:I=RND(1)
  1028. 22090 J=(3.5*W7*(RND(1)+I)+1)*D5
  1029. 22100 IFL=6THENJ=J/3
  1030. 22110 D4(L)=D4(L)+T1+J:NEXTL:D4(6)=D4(6)-3
  1031. 22120 IFD4(6)<0THEND4(6)=0
  1032. 22130 S4=0:IFR1<>0THENRETURN
  1033. 22140 F9=1:GOSUB10000:RETURN
  1034. 23000 P=D0-J2:IF(P<>0)AND(R1=0)THEN23020
  1035. 23010 IFP<5THENP=5
  1036. 23020 N=(K2+K1)/P:K=INT(500*N+.5):L=0
  1037. 23030 IFG1<>0THENL=100*S8
  1038. 23035 I=0
  1039. 23040 IFLEFT$(S5$,1)="E"THENM=0
  1040. 23045 IFLEFT$(S5$,1)="F"THENM=1
  1041. 23050 IFLEFT$(S5$,1)=""THENM=2
  1042. 23060 IFA1=0THENI=200
  1043. 23070 J=10*K1+50*K2+K+L-I-100*B1-100*M-35*N1-3*S1-C4
  1044. 23080 PRINT:IFJ<>0THEN23100
  1045. 23090 PRINT"AS YET, YOU HAVE NO SCORE.":RETURN
  1046. 23100 PRINT"YOUR SCORE --":PRINT:IFK1=0THEN23120
  1047. 23110 PRINTK1;TAB(5);"ORDINARY KLINGON(S) DESTROYED";TAB(36);10*K1*MR
  1048. 23120 IFK2=0THEN23140
  1049. 23130 PRINTK2;TAB(5);"KLINGON COMMANDER(S) DESTROYED";TAB(36);50*K2*MR
  1050. 23140 IFK=0THEN23160
  1051. 23150 PRINTFNR(N);TAB(5);"KLINGONS PER STARDATE, AVERAGE";
  1052. 23155 PRINTTAB(36);K*MR
  1053. 23160 IFS1=0THEN23180
  1054. 23170 PRINTS1;TAB(5);"STAR(S) DESTROYED";TAB(36);-3*S1*MR
  1055. 23180 IFB1=0THEN23200
  1056. 23190 PRINTB1;TAB(5);"STARBASES DESTROYED";TAB(36);-100*B1*MR
  1057. 23200 IFN1=0THEN23220
  1058. 23210 PRINTN1;TAB(5);"SOS CALL(S) TO A STARBASE";TAB(36);-35*N1*MR
  1059. 23220 IFC4=0THEN23240
  1060. 23230 PRINTC4;TAB(5);"CASUALTIES INCURRED";TAB(36);-C4*MR
  1061. 23240 IFM=0THEN23260
  1062. 23250 PRINTM;TAB(5);"SHIP(S) LOST OR DESTROYED";TAB(36)-100*M*MR
  1063. 23260 IFA1<>0THEN23280
  1064. 23270 PRINTTAB(5)"PENALTY FOR GETTING KILLED";TAB(36);-200*MR
  1065. 23280 IFG1=0THEN23300
  1066. 23290 PRINTTAB(5);"BONUS FOR WINNING ";S$(S8);" GAME";TAB(36);L*MR
  1067. 23300 PRINTTAB(5);"-------------------------------------"
  1068. 23310 PRINTTAB(28);"TOTAL";TAB(36);J*MR;"**":RETURN
  1069. 24001 A2=0:G1=0:GOSUB4001:S5$="ENTERPRISE"
  1070. 24010 I7=5000:E1=I7:I8=2500:S3=I8:S4=0:S9=S4:J1=4:L1=J1
  1071. 24020 Q1=FNA(1):Q2=FNA(1):S6=FNB(1):S7=FNB(1):I9=10:T4=I9
  1072. 24030 W1=5:W2=25:FORI=1TO12:D4(I)=0:NEXT
  1073. 24040 J2=100*INT(31*RND(1)+20):D0=J2:K1=0:K2=0:N1=0:N2=0:R6=0:C4=0
  1074. 24050 A1=1:D3=.25:FORI=1TO8:FORJ=1TO8:S2(I,J)=0:NEXTJ:NEXTI
  1075. 24060 F1(1)=D0-.5*I5*LOG(RND(1)):F1(5)=1E+30
  1076. 24070 F1(2)=D0-1.5*(I5/R2)*LOG(RND(1)):I6=0
  1077. 24080 F1(3)=D0-.3*I5*LOG(RND(1)):F1(4)=D0-.3*I5*LOG(RND(1))
  1078. 24090 FORI=1TO8:FORJ=1TO8:K=INT(RND(1)*9+1):I6=I6+K
  1079. 24100 G(I,J)=K:NEXTJ:NEXTI:S1=0
  1080. 24110 FOR I=1TOI2
  1081. 24120 X=INT(RND(1)*6+2):Y=INT(RND(1)*6+2)
  1082. 24130 IFG(X,Y)>=10THEN24120
  1083. 24140 IFI<2THEN24180
  1084. 24150 K=I-1:FORJ=1TOK:D1=SQR((B2(J)-X)^2+(B3(J)-Y)^2)
  1085. 24160 IFD1<2THEN24120
  1086. 24170 NEXTJ
  1087. 24180 B2(I)=X:B3(I)=Y:S2(X,Y)=-1:G(X,Y)=G(X,Y)+10:NEXTI
  1088. 24190 B1=0:K=I1-I4:L=INT(.25*S8*(9-L2)+1)
  1089. 24200 M=INT((1-RND(1)^2)*L):IFM>KTHENM=K
  1090. 24210 N=100*M
  1091. 24220 X=FNA(1):Y=FNA(1):IFG(X,Y)+N>999THEN24220
  1092. 24230 G(X,Y)=G(X,Y)+N:K=K-M:IFK<>0THEN24200
  1093. 24240 FORI=1TOI4
  1094. 24250 X=FNA(1):Y=FNA(1):IF(G(X,Y)<99)AND(RND(1)<.75)THEN24250
  1095. 24260 IFG(X,Y)>899THEN24250
  1096. 24270 IFI=1THEN24300
  1097. 24280 M=I-1:FORJ=1TOM:IF(C1(J)=X)AND(C2(J)=Y)THEN24250
  1098. 24290 NEXTJ
  1099. 24300 G(X,Y)=G(X,Y)+100:C1(I)=X:C2(I)=Y:NEXTI
  1100. 24305 I=INT(D0):PRINT:S0=0
  1101. 24310 T2=FNA(1):T3=FNA(1):IFG(T2,T3)<100THEN24310
  1102. 24440 PRINT"STARDATE..............";I
  1103. 24450 PRINT"NUMBER OF KLINGONS....";I1
  1104. 24460 PRINT"NUMBER OF STARDATES...";INT(I5)
  1105. 24470 PRINT"NUMBER OF STARBASES...";I2
  1106. 24480 PRINT"STARBASE LOCATIONS....";
  1107. 24490 FORI=1TOI2:PRINTB2(I);"-";B3(I);
  1108. 24500 IFI<>I2THENPRINT", ";
  1109. 24510 NEXTI:PRINT:PRINT
  1110. 24530 GOSUB18000
  1111. 24531 PRINT:INPUT"READY TO CONTINUE";NL$:PRINTCHR$(12):GOSUB29002:GOSUB14001:RETURN
  1112. 25010 INPUT"WARP FACTOR";K
  1113. 25020 PRINT
  1114. 25025 IFK<1THEN25140
  1115. 25026 IFK>10THEN25150
  1116. 25030 J=W1:W1=K:W2=W1*W1
  1117. 25040 IF(W1<=J)OR(W1<=6)THEN25070
  1118. 25050 IFW1<=8THEN25080
  1119. 25060 IFW1>8THEN25100
  1120. 25070 PRINT"'WARP FACTOR";W1;"CAPTAIN'":RETURN
  1121. 25080 PRINT"*** OUR MAXIMUM SAFE SPEED IS WARP 6":RETURN
  1122. 25100 IFW1=10THEN25130
  1123. 25110 PRINT"*** CAPTAIN, OUR ENGINES MAY NOT TAKE IT !":RETURN
  1124. 25130 PRINT"-'AYE, CAPTAIN, WE'LL GIVE IT A TRY.'":RETURN
  1125. 25140 PRINT"-'WE CAN'T GO BELOW WARP 1, CAPTAIN.'":RETURN
  1126. 25150 PRINT"-'OUR TOP SPEED IS WARP 10, CAPTAIN.'"
  1127. 25160 RETURN
  1128. 26001 J3=0:IFD4(8)<>0THEN26600
  1129. 26010 IFS4<>0THEN26530
  1130. 26500 INPUT"SHIELDS ARE DOWN.  DO YOU WANT THEM UP";B$
  1131. 26510 IFLEFT$(B$,1)="Y"THEN26560
  1132. 26520 RETURN
  1133. 26530 INPUT"SHIELDS ARE UP.  DO YOU WANT THEM DOWN";B$
  1134. 26540 IFLEFT$(B$,1)="Y"THEN26590
  1135. 26550 RETURN
  1136. 26560 S4=1:S9=1:IFC5$<>"DOCKED"THENE1=E1-50
  1137. 26570 PRINT"SHIELDS RAISED.":IFE1<=0THEN26610
  1138. 26580 J3=1:RETURN
  1139. 26590 S4=0:S9=1:PRINT"SHIELDS LOWERED.":J3=1:RETURN
  1140. 26600 PRINT"SHIELDS DAMAGED AND DOWN. ":RETURN
  1141. 26610 PRINT:PRINT"SHIELDS CONSUME ALL ENERGY."
  1142. 26620 F9=4:GOSUB10000:RETURN
  1143. 27000 IFX2<>0THEN27100
  1144. 27010 N=INT(RND(1)*I6+1):FORX=1TO8:FORY=1TO8
  1145. 27020 N=N-(G(X,Y)-INT(G(X,Y)/10)*10):IFN<=0THEN27040
  1146. 27030 NEXTY:NEXTX:RETURN
  1147. 27040 IF(X<>Q1)OR(Y<>Q2)THEN27150
  1148. 27050 IFJ4<>0THEN27150
  1149. 27060 N=INT(RND(1)*(G(X,Y)-INT(G(X,Y)/10)*10))+1
  1150. 27070 FORX3=1TO10:FORY3=1TO10:IFQ$(X3,Y3)<>"*"THEN27090
  1151. 27080 N=N-1:IFN=0THEN27100
  1152. 27090 NEXTY3:NEXTX3
  1153. 27100 PRINT:PRINT"*** RED ALERT!!  RED ALERT!! ***
  1154. 27105 X3=X2:Y3=Y2
  1155. 27110 PRINT"*** INCIPIENT SUPERNOVA DETECTED AT SECTOR";X3;"-";Y3
  1156. 27120 X=Q1:Y=Q2:K=(X2-S6)^2+(Y2-S7)^2
  1157. 27130 IFK>1.5THEN27180
  1158. 27140 PRINT"*** EMERGENCY AUTO-OVERRIDE JAMMED ***":A2=1:GOTO27180
  1159. 27150 IFD4(9)<>0THEN27180
  1160. 27160 PRINT:PRINT"MESSAGE FROM STARFLEET COMMAND...STARDATE";INT(D0)
  1161. 27170 PRINT"'SUPERNOVA IN QUADRANT";X;"-";Y;
  1162. 27175 PRINT"....CAUTION ADVISED'"
  1163. 27180 N=G(X,Y):R=INT(N/100):Q=0
  1164. 27190 IF(X<>Q1)OR(Y<>Q2)THEN27210
  1165. 27200 K3=0:C3=0
  1166. 27210 IFR=0THEN27270
  1167. 27220 R1=R1-R:IFR2=0THEN27270
  1168. 27230 FORL=1TOR2:IF(C1(L)<>X)OR(C2(L)<>Y)THEN27260
  1169. 27240 C1(L)=C1(R2):C2(L)=C2(R2):C1(R2)=0:C2(R2)=0
  1170. 27250 R2=R2-1:R=R-1:Q=1:IFR2=0THENF1(2)=1E+30
  1171. 27260 NEXTL
  1172. 27270 IFR3=0THEN27310
  1173. 27280 FORL=1TOR3:IF(B2(L)<>X)OR(B3(L)<>Y)THEN27300
  1174. 27290 B2(L)=B2(R3):B3(L)=B3(R3):B2(R3)=0:B3(R3)=0:R3=R3-1
  1175. 27300 NEXTL
  1176. 27310 IFX2=0THEN27350
  1177. 27320 N=G(X,Y)-INT(G(X,Y)/100)*100
  1178. 27330 S1=S1+(N-INT(N/10)*10):B1=B1+INT(N/10)
  1179. 27340 K1=K1+R:K2=K2+Q
  1180. 27350 IF(S2(X,Y)<>0)AND(D4(9)<>0)THENS2(X,Y)=LQ+G(X,Y)
  1181. 27360 IF(D4(9)=0)OR((Q1=X)AND(Q2=Y))THENS2(X,Y)=1
  1182. 27370 G(X,Y)=1000
  1183. 27380 IF(R1<>0)OR((X=Q1)AND(Y=Q2))THEN27430
  1184. 27390 PRINTCHR$(12):PRINT"*** SUPERNOVA IN QUADRANT";X;"-";Y;"HAS DESTROYED THE"
  1185. 27400 PRINT"REMAINDER OF THE ENEMY FLEET !!"
  1186. 27420 F9=1:GOSUB10010:RETURN
  1187. 27430 IFA2=0THENRETURN
  1188. 27440 F9=8:GOSUB10010:RETURN
  1189. 28000 IFK3<=1THENRETURN
  1190. 28010 Z4=0:FORO=1TOK3-1:IFK7(O)<=K7(O+1)THEN28080
  1191. 28020 K=K7(O):K7(O)=K7(O+1):K7(O+1)=K
  1192. 28030 K=K8(O):K8(O)=K8(O+1):K8(O+1)=K
  1193. 28040 K=K4(O):K4(O)=K4(O+1):K4(O+1)=K
  1194. 28050 K=K5(O):K5(O)=K5(O+1):K5(O+1)=K
  1195. 28060 K=K6(O):K6(O)=K6(O+1):K6(O+1)=K
  1196. 28070 Z4=1
  1197. 28080 NEXTO
  1198. 28090 IFZ4<>0THEN28010
  1199. 28100 RETURN
  1200. 29002 IFD(1)<>0THEN29230
  1201. 29010 PRINT:PRINT"    1 2 3 4 5 6 7 8 9 10"
  1202. 29020 FORI=1TO10:IFI<10THENPRINT" ";
  1203. 29030 PRINTI;:FORJ=1TO10:PRINTQ$(I,J);" ";:NEXTJ
  1204. 29040 ONIGOTO29050,29060,29080,29090,29140
  1205. 29045 ONI-5GOTO29150,29160,29170,29200,29210
  1206. 29050 PRINT" STARDATE      ";FNR(D0):GOTO29220
  1207. 29060 IFC5$<>"DOCKED"THENGOSUB17000
  1208. 29070 PRINT" CONDITION      ";C5$:GOTO29220
  1209. 29080 PRINT" POSITION      ";Q1;"-";Q2;", ";S6;"-";S7:GOTO29220
  1210. 29090 PRINT" LIFE SUPPORT   ";:IFD4(5)<>0THEN29110
  1211. 29100 PRINT"ACTIVE":GOTO29220
  1212. 29110 IFC5$<>"DOCKED"THEN29130
  1213. 29120 PRINT"DAMAGED, SUPPORTED BY STARBASE":GOTO29220
  1214. 29130 PRINT"DAMAGED, RESERVES=";FNS(L1):GOTO29220
  1215. 29140 PRINT" WARP FACTOR   ";FNR(W1):GOTO29220
  1216. 29150 PRINT" ENERGY";SPC(8);.01*INT(100*E1):GOTO29220
  1217. 29160 PRINT" TORPEDOS      ";T4:GOTO29220
  1218. 29170 PRINT" SHIELDS        ";:B$="DOWN,":IFS4<>0THENB$="UP,"
  1219. 29180 IFD4(8)>0THENB$="DAMAGED,"
  1220. 29190 PRINTB$;INT(100*S3/I8+.5);"%":GOTO29220
  1221. 29200 PRINT" KLINGONS LEFT ";R1:GOTO29220
  1222. 29210 PRINT" TIME LEFT     ";FNS(R5)
  1223. 29220 NEXTI:RETURN
  1224. 29230 PRINT"SHORT RANGE SENSORS DAMAGED.":RETURN
  1225. 30001 PRINT:PRINT"*** TIME WARP ENTERED ***":PRINT"YOU ARE TRAVELING ";
  1226. 30010 IFS0<>0THEN30050
  1227. 30020 T1=-.5*I5*LOG(RND(1))
  1228. 30030 PRINT"FORWARD IN TIME";FNR(T1);"STARDATES."
  1229. 30040 F1(2)=F1(2)+T1:GOTO30200
  1230. 30050 M=D0:D0=D9(1)
  1231. 30060 PRINT"BACKWARD IN TIME";FNR(M-D0);"STARDATES.":S0=0
  1232. 30070 R1=D9(2):R2=D9(3):R3=D9(4):R4=D9(5):R5=D9(6)
  1233. 30080 S1=D9(7):B1=D9(8):K1=D9(9):K2=D9(10)
  1234. 30090 FORI=1TO8:FORJ=1TO8:G(I,J)=D9(I-1+8*(J-1)+11):NEXTJ:NEXTI
  1235. 30100 FORI=75TO84:C1(I-74)=D9(I):NEXT
  1236. 30110 FORI=85TO94:C2(I-84)=D9(I):NEXT
  1237. 30120 FORI=95TO99:B2(I-94)=D9(I):NEXT
  1238. 30130 FORI=100TO104:B3(I-99)=D9(I):NEXT:B4=D9(105):B5=D9(106)
  1239. 30140 F1(1)=D0-.5*I5*LOG(RND(1))
  1240. 30150 IFR2<>0THENF1(2)=D0-(I5/R2)*LOG(RND(1))
  1241. 30160 F1(3)=D0-.5*I5*LOG(RND(1))
  1242. 30170 FORI=1TO8:FORJ=1TO8:IF1<S2(I,J)THENS2(I,J)=1
  1243. 30180 NEXTJ:NEXTI
  1244. 30185 PRINT
  1245. 30190 PRINT"SPOCK HAS RECONSTRUCTED A CORRECT STAR CHART FROM MEMORY."
  1246. 30200 GOSUB18000:RETURN
  1247. 31001 J3=0:IFD4(12)<>0THEN31120
  1248. 31020 INPUT"NUMBER OF UNITS TO SHIELDS";Z3
  1249. 31030 IFZ3<0THENRETURN
  1250. 31040 IFE1+S3-Z3>0THEN31060
  1251. 31050 PRINT"SCOTT HERE-  'WE ONLY HAVE";FNR(E1+S3);"UNITS LEFT.'"
  1252. 31051 RETURN
  1253. 31060 E1=E1+S3-Z3:S3=Z3:PRINT"--ENERGY TRANSFER COMPLETE--"
  1254. 31070 PRINT"(SHIP ENERGY=";FNR(E1);"    SHIELD ENERGY=";FNR(S3);")"
  1255. 31075 J3=1
  1256. 31080 T1=.1:P5=(K3+4*C3)/48:IFP5<.1THENP5=.1
  1257. 31090 IFP5>RND(1)THENGOSUB1000
  1258. 31100 IFA2<>0THENRETURN
  1259. 31110 GOSUB9000:RETURN
  1260. 31120 PRINT"TRANSFER PANEL DAMAGED.":RETURN
  1261. 33001 J3=0:INPUT"HOW MANY STARDATES";Z5:IF(Z5<R5)AND(K3=0)THEN33030
  1262. 33020 INPUT"ARE YOU SURE";B$:IFLEFT$(B$,1)<>"Y"THENRETURN
  1263. 33030 R6=1
  1264. 33040 IFZ5<=0THENR6=0
  1265. 33050 IFR6=0THENRETURN
  1266. 33060 T1=Z5:Z6=Z5
  1267. 33070 IFK3=0THEN33100
  1268. 33080 T1=1+RND(1):IFZ5<T1THENT1=Z5
  1269. 33090 Z6=T1
  1270. 33100 IFT1<Z5THENGOSUB1000
  1271. 33110 IFA2<>0THENRETURN
  1272. 33120 GOSUB9000:J3=1:IFA2<>0THENRETURN
  1273. 33130 Z5=Z5-Z6:GOTO33040
  1274. 34001 J3=0:IFD4(6)<>0THEN34750
  1275. 34010 INPUT"ENTER COURSE...";D2:IFD2<.01ORD2>12THENGOSUB40000ELSE34013
  1276. 34012 RETURN
  1277. 34013 INPUT"DISTANCE...";D1:IFD1<=0THENRETURN
  1278. 34030 P=(D1+.05)*W1*W1*W1*(S4+1):IFP<E1THEN34150
  1279. 34040 J3=0:PRINT:PRINT"ENGINEERING TO BRIDGE--"
  1280. 34050 IF(S4=0)OR(.5*P>E1)THEN34080
  1281. 34060 PRINT"  WE HAVEN'T THE ENERGY TO GO THAT FAR WITH";
  1282. 34070 PRINT" THE SHIELDS UP.":RETURN
  1283. 34080 W=INT((E1/(D1+.05))^.333333):IFW<=0THEN34130
  1284. 34090 PRINT"  WE HAVEN'T THE ENERGY.  BUT WE COULD DO IT AT WARP";W
  1285. 34100 IFS4<>0THEN34120
  1286. 34110 RETURN
  1287. 34120 PRINT"  IF YOU'LL LOWER THE SHIELDS.":RETURN
  1288. 34130 PRINT"  WE CAN'T DO IT, CAPTAIN.  WE HAVEN'T GOT THE ENERGY."
  1289. 34140 RETURN
  1290. 34150 T1=10*D1/W2:IFT1<.8*R5THEN34500
  1291. 34160 PRINT:PRINT"MR. SPOCK - 'CAPTAIN, I COMPUTE THAT SUCH A TRIP"
  1292. 34170 PRINT" WILL REQUIRE APPROXIMATELY";FNR(100*T1/R5);
  1293. 34180 PRINT"PERCENT":PRINT"   OF OUR REMAINING TIME.  ARE YOU SURE ";
  1294. 34190 INPUT "THIS IS WISE";B$:IFLEFT$(B$,1)="Y"THEN34500
  1295. 34200 J3=0:RETURN
  1296. 34500 Q4=0:W=0:IFW1<=6THEN34660
  1297. 34510 P=D1*(6-W1)^2/66.6667:IFP>RND(1)THENQ4=1
  1298. 34520 IFQ4<>0THEND1=RND(1)*D1
  1299. 34530 W=0:IFW1<10THEN34550
  1300. 34540 IF.25*D1>RND(1)THENW=1
  1301. 34550 IF(Q4=0)AND(W=0)THEN34660
  1302. 34560 A=(15-D2)*.5236:X1=-SIN(A):X2=COS(A)
  1303. 34570 B8=ABS(X1):IFABS(X2)>ABS(X1)THENB8=ABS(X2)
  1304. 34580 X1=X1/B8:Y1=Y1/B8:N=INT(10*D1*B8+.5):X=S6:Y=S7
  1305. 34590 IFN=0THEN34660
  1306. 34600 FORL=1TON
  1307. 34610 X=X+X1:Q=INT(X+.5):IF(Q<1)OR(Q>10)THEN34660
  1308. 34620 Y=Y+Y1:R=INT(Y+.5):IF(R<1)OR(R>10)THEN34660
  1309. 34630 IFQ$(Q,R)="."THEN34650
  1310. 34640 Q4=0:W=0
  1311. 34650 NEXTL
  1312. 34660 GOSUB15001:IFA2<>0THENRETURN
  1313. 34670 E1=E1-D1*W1*W1*W1*(S4+1):IFE1>0THEN34690
  1314. 34680 F9=4:GOSUB10000:RETURN
  1315. 34690 T1=10*D1/W2:IFW<>0THENGOSUB30001
  1316. 34700 IFQ4=0THEN34740
  1317. 34710 PRINT:PRINT"ENGINEERING TO BRIDGE--":PRINT"   SCOTT HERE-  ";
  1318. 34715 PRINT"'WE'VE JUST BLOWN THE WARP ENGINES."
  1319. 34720 PRINT"   WE'LL HAVE TO SHUT 'ER DOWN HERE, CAPTAIN.'"
  1320. 34725 D4(6)=D5*(3*RND(1)+1)
  1321. 34740 J3=1:RETURN
  1322. 34750 PRINT"WARP ENGINES DAMAGED.":RETURN
  1323. 35001 ONSGN(D4(10))+2GOTO35010,35030,35020
  1324. 35010 PRINT"YE FAERIE QUEENE HAS NO SHUTTLE CRAFT.":RETURN
  1325. 35020 PRINT"SHUTTLE CRAFT DAMAGED.":RETURN
  1326. 35030 PRINT:PRINT"***ABANDON SHIP!  ABANDON SHIP!"
  1327. 35040 PRINT"***ALL HANDS ABANDON SHIP!":PRINT
  1328. 35050 PRINT"YOU AND THE BRIDGE CREW ESCAPE IN THE GALILEO."
  1329. 35060 PRINT"THE REMAINDER OF THE CREW BEAMS DOWN"
  1330. 35070 PRINT"TO THE NEAREST HABITABLE PLANET.":IFR3<>0THEN35090
  1331. 35080 F9=9:GOSUB10000:RETURN
  1332. 35090 PRINT:PRINT"YOU ARE CAPTURED BY KLINGONS AND RELEASED TO"
  1333. 35100 PRINT"THE FEDERATION IN A PRISONER-OF-WAR EXCHANGE."
  1334. 35110 PRINT"STARFLEET PUTS YOU IN COMMAND OF ANOTHER SHIP,"
  1335. 35120 PRINT"THE FAERIE QUEENE WHICH IS ANTIQUATED, BUT"
  1336. 35130 PRINT"STILL USABLE.":N=INT(RND(1)*R3+1):Q1=B2(N):Q2=B3(N)
  1337. 35140 S6=5:S7=5:GOSUB18000:Q$(S6,S7)="."
  1338. 35145 FORL=1TO3:S6=INT(3*RND(1)-1+B6)
  1339. 35150 IF(S6<1)OR(S7>10)THEN35180
  1340. 35160 S7=INT(3*RND(1)-1+B7):IF(S7<1)OR(S7>10)THEN35180
  1341. 35170 IFQ$(S6,S7)="."THEN35190
  1342. 35180 NEXTL:GOTO35140
  1343. 35190 S5$="FAERIE QUEENE":Q$(S6,S7)=LEFT$(S5$,1):C5$="DOCKED"
  1344. 35200 FORL=1TO12:D4(L)=0:NEXT:D4(10)=-1:E1=3000:I7=E1
  1345. 35210 S3=1500:I8=S3:T4=6:I9=T4:L1=3:J1=L1:S4=0:W1=5:W2=25
  1346. 35220 RETURN
  1347. 36001 IFD4(11)=0THEN36030
  1348. 36010 PRINT"COMPUTER DAMAGED - CANNOT EXECUTE DESTRUCT SEQUENCE"
  1349. 36020 RETURN
  1350. 36030 PRINT:PRINT"    ---WORKING---"
  1351. 36040 PRINT"IDENTIFICATION-POSITIVE"
  1352. 36050 PRINT"SELF-DESTRUCT-SEQUENCE-ACTIVATED":J=3
  1353. 36060 FORI=10TO6STEP-1:PRINTSPC(J);I:GOSUB36210:J=J+3:NEXT
  1354. 36070 PRINT"ENTER-YOUR-MISSION-PASSWORD-TO-CONTINUE"
  1355. 36080 PRINT"SELF-DESTRUCT-SEQUENCE-OTHERWISE-DESTRUCT"
  1356. 36090 PRINT"SEQUENCE-WILL-BE-ABORTED"
  1357. 36100 INPUTB$:IFB$<>X$THEN36190
  1358. 36110 PRINT"PASSWORD-ACCEPTED":J=10
  1359. 36120 FORI=5TO1STEP-1:PRINTSPC(J);I:GOSUB36210:J=J+3:NEXT
  1360. 36130 PRINT:PRINT"*****ENTROPY OF ";S5$;" MAXIMIZED*****"
  1361. 36140 PRINT:IFK3=0THEN36180
  1362. 36150 W=20*E1:FORL=1TOK3:IFK6(L)*K7(L)>WTHEN36170
  1363. 36160 A5=K4(L):A6=K5(L):T2$=Q$(A5,A6):GOSUB6000
  1364. 36170 NEXTL
  1365. 36180 F9=10:GOSUB10000:RETURN
  1366. 36190 PRINT"PASSWORD-REJECTED"
  1367. 36200 PRINT"CONTINUITY-EFFECTED":PRINT:RETURN
  1368. 36210 K=12345:FORM=1TO90:K=K+1:NEXTM:RETURN
  1369. 37001 FORI=1TO10:GOTO29040:RETURN
  1370. 40000 PRINT"---> COURSE(S) .01-12 ONLY !!!":RETURN
  1371.