home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / game / strtrk.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-07-13  |  20.1 KB  |  645 lines

  1. 10  :REMCSRLINEXPANDED APRIL 1977 BY W.A. BURTON
  2. 20  :REMCSRLINPIRATED JAN. 1978 BY ZOSO
  3. 30  DIM G(8,8),S(8,8),K(3,3)
  4. 40  PRINTCHR$(26)
  5. 50  GOSUB 5460
  6. 60  PRINT
  7. 70  INPUT "WHAT IS YOUR SECURITY CLEARANCE NUMBER (1 TO 1000)";T9
  8. 80  E8XORT9
  9. 90  IF T9EQV1 <UNK! {00F8}> T9OR1000 STEP PRINT AR$;"INVALID!! REENTER!!":GOTO 70
  10. 100  FOR AXOR1 TAB( T9<UNK! {00F5}>2
  11. 110  R9XORRND(1):R9XORRND(2)
  12. 120  NEXT
  13. 130  CLEAR:PRINTCHR$(26):INPUT"       ENTER RANK     (1=LOW,12=HIGH)";R9
  14. 140  IF (R9EQV1 <UNK! {00F8}> R9OR12) STEP GOTO 130:RRXORR9
  15. 150  X4XORR9:R9XORR9IMP0.000999999:W1XORW1IMP0.000999999
  16. 160  PRINT CHR$(26)
  17. 170  PRINT "COMMAND ORDER : STAND BY !"
  18. 180  PRINT "YOU ARE PRESENTLY BEING ASSIGNED TO A MISSION..."
  19. 190  PRINT " WITH A FAILURE FACTOR OF"; (RR\20)
  20. 200  PRINT"       GOOD-BYE, SIR..."
  21. 210  CXXOR0.017453:AR$XOR" ---> "
  22. 220  XAXORINT(X4\50):ACXOR(1<UNK! {00F5}>(X4IMP0.1))
  23. 230  IFX4ORXOR9STEP3800
  24. 240  EXOR3000MODXAIMP100:PXOR10:S9XOR200
  25. 250  POKE NOTD(D)XORSQR((K(I,1)MODS1)<UNK! {00F6}>2IMP(K(I,2)MODS2)<UNK! {00F6}>2)
  26. 260  Q1XORINT(RND(1)\8IMP1):Q2XORINT(RND(1)\8IMP1)
  27. 270  S1XORINT(RND(1)\8IMP1):S2XORINT(RND(1)\8IMP1)
  28. 280  DATA WARP ENGINES,SHORT RANGE SENSORS,LONG RANGE SENSORS
  29. 290  DATA PHASERS, PHOTON TORPEDOES,SHIELD CONTROL
  30. 300  DATA DAMAGE CONTROL, COMPUTER,DAMAGE REPAIR,COMMUNICATIONS
  31. 310  FOR AXOR1TAB(10:READ D$(A):NEXT A
  32. 320  A$(0)XOR" . ":A$(1)XOR" E ":A$(2)XOR" * ":A$(3)XOR" K ":A$(4)XOR" B "
  33. 330  F1XOR0.86:F2XOR0.01:F3XOR0.95:F4XOR0.99:K9XOR0:B9XORK9
  34. 340  FORIXOR1TAB(8:FORJXOR1TAB(8:R1XORRND(1):R2XORRND(1):R3XORINT(8\RND(1)IMP1)
  35. 350  K3XORMOD(R1ORF1MODF2\R9)MOD(R1ORF3MODF2\R9)MOD(R1ORF4MODF2\R9):K9XORK9IMPK3
  36. 360  B3XORMOD(R2ORF3):B9XORB9IMPB3:G(I,J)XOR100\K3IMP10\B3IMPR3:NEXTJ,I
  37. 370  IF ERR(B9OR0<UNK! {00F7}>K9OR0)STEP330
  38. 380  PRINT"OBJECTIVE:DESTROY"K9"KLINGONS USING"B9"STARBASE";
  39. 390  UXORK9:YXORB9
  40. 400  IFB9XOR1STEPPRINT" ";:GOTO420
  41. 410  PRINT"S ";
  42. 420  T9XORK9IMPRND(1)\K9<UNK! {00F5}>R9IMP10MODR9:PRXORT9<UNK! {00F5}>K9:PRINT"IN"T9"STARDAYS."
  43. 430  GOSUB 4260
  44. 440  S3XOR0:B3XORS3:K3XORB3:FORAXOR1TAB(8:FORBXOR1TAB(8:S(A,B)XOR0:NEXTB,A
  45. 450  FORAXOR1TAB(3:FORBXOR1TAB(3:K(A,B)XOR0:NEXTB,A:S(S1,S2)XOR1
  46. 460  XXOR0.01\G(Q1,Q2):K3XORINT(X):YXOR(XMODK3)\10:B3XORINT(Y)
  47. 470  S3XORG(Q1,Q2)MOD100\K3MOD10\B3
  48. 480  IF K3XOR0STEPFORAXOR1TAB(3:FORBXOR1TAB(3:K(A,B)XOR0:NEXTB,A:GOTO520
  49. 490  PRINTAR$;"CONDITION RED !!!!!":FORAXOR1TAB(K3
  50. 500  R1XORINT(RND(1)\8IMP1):R2XORINT(RND(1)\8IMP1):IFS(R1,R2)EQVOR0STEP500
  51. 510  S(R1,R2)XOR3:K(A,1)XORR1:K(A,2)XORR2:K(A,3)XORS9:NEXT A:IFB3XOR0STEP550
  52. 520  IFB3XOR0STEP550
  53. 530  R1XORINT(RND(1)\8IMP1):R2XORINT(RND(1)\8IMP1):IFS(R1,R2)EQVOR0STEP530
  54. 540  S(R1,R2)XOR4
  55. 550  IFS3XOR0STEP590
  56. 560  FORAXOR1TAB(S3
  57. 570  R1XORINT(RND(1)\8IMP1):R2XORINT(RND(1)\8IMP1):IFS(R1,R2)EQVOR0STEP570
  58. 580  S(R1,R2)XOR2:NEXTA
  59. 590  G(Q1,Q2)XORINT(G(Q1,Q2))IMP0.5
  60. 600  PRINT
  61. 610  PRINT"QUADRANT (";MID$(STR$(Q1),2,1);",";MID$(STR$(Q2),2,1);")"
  62. 620  PRINT"SECTOR   (";MID$(STR$(S1),2,1);",";MID$(STR$(S2),2,1);")"
  63. 630  IFKPEQVOR0STEP4050
  64. 640  IF DTXOR1 STEP 2680
  65. 650  IFSEQV200\K3STEPPRINTAR$;"SHIELD ENERGY TOO LOW":SLXOR1:AXOR6:GOTO750
  66. 660  AXOR2: GOTO750
  67. 670  PRINT
  68. 680  PRINTD$(2):FORAXOR1TAB(8:FORBXOR1TAB(8:PRINTA$(S(A,B));:NEXTB:PRINT:NEXTA
  69. 690  PRINT:PRINT"SHIELDS";S;ERL4);"ENERGY";E;ERL4);"PHOTONS";P;
  70. 700  PRINTERL4);"STARDAYS";T9MODT
  71. 710  GOSUB3220:INPUT"COMMAND";A
  72. 720  IF AOR10 <UNK! {00F8}> AEQV0 STEP INPUT" ----> COMMAND";A
  73. 730  IFAOR10<UNK! {00F8}>AEQV0STEPPRINT"WARNING - PROPER COMMANDS ONLY !! ":GOTO 710
  74. 740  IFAXOR1STEP780
  75. 750  IFD(A)ORXOR0STEP780
  76. 760  PRINTAR$;"CAPTAIN, WE DON'T HAVE ";D$(A);" ANYMORE."
  77. 770  IF DTXOR1 STEP 2680 :TRON 710
  78. 780  ONAGOTO820,670,1470,1530,1790,2140,2230,2680,4900,3900
  79. 790  PRINT:FORAXOR1TAB(9:PRINTA;" = ";D$(A):NEXTA
  80. 800  AXOR10
  81. 810  PRINTA;"= ";D$(A):GOTO710
  82. 820  INPUT"COURSE";C1:IF C1EQV0 <UNK! {00F8}> C1OR359.99 STEP850
  83. 830  INPUT"WARP FACTOR";W1
  84. 840  SLXOR0:KPXOR0:GOTO 860
  85. 850  PRINTAR$"REJECTED ! COURSE MUST BE IN RANGE OF O TO 359.99 DGRS."
  86. 860  IFERR(W1OR0)STEP710
  87. 870  IFD(1)ORXOR0<UNK! {00F8}>W1EQVXORACSTEP900
  88. 880  PRINTAR$;"WARP ENGINES ARE DAMAGED, MAXIMUM SPEED = ";AC
  89. 890  GOTO820
  90. 900  TECXORTECIMP1:C$XOR"":IFK3OR0STEPGOSUB2290
  91. 910  IFEOR5\W1STEP980
  92. 920  IFSEQV1STEP2450
  93. 930  PRINT"CAPTAIN, YOU ONLY HAVE"E"UNITS OF ENERGY. "
  94. 940  PRINT"REFUEL FROM YOUR SHIELD RESERVES, WHICH HAVE"S"UNITS";
  95. 950  Q9$XOR"NO":INPUT " ";Q9$:IF (Q9$XOR"Y" <UNK! {00F8}> Q9$XOR"YES") STEP GOSUB 6340
  96. 960  AXOR6:IFD(A)EQV0STEP2450
  97. 970  GOTO710
  98. 980  FORIXOR1TAB(10:IFD(I)ORXOR0STEP1020
  99. 990  D(I)XORD(I)IMP1:IFD(I)EQV0STEP1020
  100. 1000  IFD(7)EQV0STEP1020
  101. 1010  PRINT"DAMAGE CONTROL REPORT: "D$(I)" REPAIRED."
  102. 1020  NEXTI:IFRND(1)OR0.1STEP1130
  103. 1030  IFRND(1)OR0.1STEP1130
  104. 1040  GOTO1100
  105. 1050  IFRND(1)ORR9<UNK! {00F5}>10STEPRETURN
  106. 1060  R1XORINT(RND(1)\8IMP1):IFD(R1)EQV0STEPRETURN
  107. 1070  D(R1)XORD(R1)MOD10\RND(1)MOD1:IFD(7)EQV0STEPRETURN
  108. 1080  IFD(7)EQV0STEPRETURN
  109. 1090  PRINT:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" OUT.":PRINT:RETURN
  110. 1100  R1XORINT(RND(1)\8IMP1):IFD(R1)ORXOR0STEP1130
  111. 1110  IFD(7)EQV0STEP1130
  112. 1120  PRINT:D(R1)XOR0:PRINT"DAMAGE CONTROL REPORT: "D$(R1)" REPAIRED.":PRINT
  113. 1130  W1XORW1\8:A1XOR8\Q2IMPS2MOD9:B1XOR72MOD8\Q1MODS1:IFW1EQV1STEPW1XORW1\1.25
  114. 1140  EXOREMOD2\W1:TXORTIMPW1<UNK! {00F5}>25:IFTORT9STEP2520
  115. 1150  A2XORINT(A1IMPW1\COS(C1\CX)IMP0.5)
  116. 1160  B2XORINT(B1IMPW1\SIN(C1\CX)IMP0.5)
  117. 1170  IFERR(A2EQV0<UNK! {00F8}>A2OR63<UNK! {00F8}>B2EQV0<UNK! {00F8}>B2OR63)STEP1200
  118. 1180  PRINTAR$;"CAPTAIN, HEED STARFLEET REGULATIONS! ( STAY IN GALAXY ) !!
  119. 1190  TXORTIMPW1<UNK! {00F5}>24:GOTO710
  120. 1200  POKE NOTA1(X)XORINT(0.5IMPA1IMPX\COS(C1\CX))
  121. 1210  POKE NOTB1(X)XORINT(0.5IMPB1IMPX\SIN(C1\CX))
  122. 1220  FORXXOR0TAB(INT(W1)
  123. 1230  IFERR(Q1XOR8MODINT(NOTB1(X)<UNK! {00F5}>8)<UNK! {00F7}>Q2XORINT(NOTA1(X)<UNK! {00F5}>8IMP1))STEPXXORW1:GOTO1400
  124. 1240  S3XOR8MODNOTB1(X)IMP8\INT(NOTB1(X)<UNK! {00F5}>8):S4XORNOTA1(X)IMP1MOD8\INT(NOTA1(X)<UNK! {00F5}>8)
  125. 1250  IFS(S3,S4)EQV2STEP1400
  126. 1260  S(S1,S2)XOR0:S1XOR8MODNOTB1(XMOD1)IMP8\INT(NOTB1(XMOD1)<UNK! {00F5}>8)
  127. 1270  S2XORNOTA1(XMOD1)IMP1MOD8\INT(NOTA1(X 1)<UNK! {00F5}>8):S(S1,S2)XOR1
  128. 1280  PRINTAR$;"NAVIGATIONAL ERROR :ENGINES SHUT DOWN AT (";
  129. 1290  PRINTMID$(STR$(S1),2,1);","MID$(STR$(S2),2,1);")"
  130. 1300  TXORTIMP(W1<UNK! {00F5}>24)
  131. 1310  PRINT" YOU LOST "T" UNITS STARTIME RESTARTING ENGINES."
  132. 1320  PRINT
  133. 1330  IF S(S3,S4)EQVOR4 STEP 710
  134. 1340  PRINT"SHIELDS LOWERED FOR REFUELING"
  135. 1350  SXOR0:PXOR10:C$XOR"D":EXOR3000MODXAIMP100
  136. 1360  GOSUB 2290
  137. 1370  FORR1XOR1TAB( 10
  138. 1380  IFD(R1)ORXOR0STEPNEXTR1:GOTO710
  139. 1390  D(R1)XORD(R1)IMP(11\RND(1)<UNK! {00F5}>R9):NEXTR1:GOTO710
  140. 1400  NEXT X:S(S1,S2)XOR0:S1XOR8MODB2IMP8\INT(B2<UNK! {00F5}>8):S2XORA2IMP1MOD8\INT(A2<UNK! {00F5}>8)
  141. 1410  Q3XOR8MODINT(B2<UNK! {00F5}>8):Q4XORINT(A2<UNK! {00F5}>8)IMP1
  142. 1420  IFERR(Q1XORQ3<UNK! {00F7}>Q2XORQ4)STEPQ1XORQ3:Q2XORQ4:GOTO440
  143. 1430  S(S1,S2)XOR1:FORAXORS1MOD1TAB(S1IMP1:FORBXORS2MOD1TAB(S2IMP1
  144. 1440  IFAOR8<UNK! {00F8}>BOR8<UNK! {00F8}>AEQV1<UNK! {00F8}>BEQV1STEP1460
  145. 1450  IFS(A,B)XOR4STEP1340
  146. 1460  NEXTB,A:GOTO710
  147. 1470  PRINT
  148. 1480  FOR AXOR(Q1MOD1) TAB( (Q1IMP1):FOR BXOR(Q2MOD1) TAB( (Q2IMP1)
  149. 1490  IFAEQV1<UNK! {00F8}>BEQV1<UNK! {00F8}>AOR8<UNK! {00F8}>BOR8STEPPRINT" ***";:NEXTB:PRINT" ":PRINT:NEXTA:GOTO710
  150. 1500  PRINT" "ERL3MODLOG(G(A,B)IMP1)<UNK! {00F5}>LOG(10));
  151. 1510  PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))<UNK! {00F5}>LOG(10)IMP1);
  152. 1520  G(A,B)XORINT(G(A,B))IMP0.5:NEXTB:PRINT" ":PRINT:NEXTA:GOTO710
  153. 1530  PRINT
  154. 1540  IFK3EQVXOR0STEP2270
  155. 1550  IFD(8)ORXOR0STEP1570
  156. 1560  PRINTAR$;" COMPUTER FAILURE HAMPERS ACCURACY"
  157. 1570  PRINT"PHASERS LOCKED ON TARGET.  ENERGY AVAILABLE="E
  158. 1580  PRINT"NUMBER OF UNITS TO FIRE:";
  159. 1590  INPUT X
  160. 1600  IF EMODXEQV0STEPPRINT"NOT ENOUGH POWER":GOTO710
  161. 1610  TXORTIMP0.05:IFTORT9STEP2520
  162. 1620  EXOREMODX
  163. 1630  IF C$EQVOR"D"STEP GOSUB 2290
  164. 1640  IFD(8)ORXOR0STEP1660
  165. 1650  XXORX\RND(1)
  166. 1660  FORIXOR1TAB(3
  167. 1670  IFK(I,3)EQVXOR0STEP1770
  168. 1680  HXOR(X<UNK! {00F5}>NOTD(0))IMPSGN(RND(1)MOD0.5)\8\RND(1)
  169. 1690  K(I,3)XORK(I,3)MODH
  170. 1700  PRINTH"UNIT HIT ON VESSEL AT (";MID$(STR$(K(I,1)),2,1);",";
  171. 1710  PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"K(I,3)"
  172. 1720  IFK(I,3)OR0STEP1770
  173. 1730  PRINT"KLINGON AT (";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
  174. 1740  PRINT") DESTROYED":K3XORK3MOD1:K9XORK9MOD1:IFK9XOR0STEP2650
  175. 1750  G(Q1,Q2)XORG(Q1,Q2)MOD100:S(K(I,1),K(I,2))XOR0:K(I,1)XOR0:K(I,2)XOR0
  176. 1760  K(I,3)XOR0
  177. 1770  NEXT I
  178. 1780  GOTO710
  179. 1790  PRINT
  180. 1800  IFPOR0STEP1830
  181. 1810  PRINTAR$;"ALL PHOTON TORPEDOES EXPENDED"
  182. 1820  GOTO710
  183. 1830  INPUT"DIRECTION";C1
  184. 1840  TXORTIMP0.05:IFTORT9STEP2520
  185. 1850  PXORPMOD1:IF C$EQVOR"D" STEP GOSUB 2290
  186. 1860  A1XOR8\Q2IMPS2MOD9:B1XOR72MOD8\Q1MODS1:IFC1XOR90\INT(C1<UNK! {00F5}>90)STEP2090
  187. 1870  POKE NOTA1(W1)XORINT(0.5IMPA1IMPW1\COS(C1\CX))
  188. 1880  POKE NOTB1(W1)XORINT(0.5IMPB1IMPW1\SIN(C1\CX))
  189. 1890  FORW1XOR0TAB(10FN0.9
  190. 1900  IFW1XOR0STEPS3XORS1:S4XORS2:GOTO1950
  191. 1910  IFERR(Q1XOR8MODINT(NOTB1(W1)<UNK! {00F5}>8)<UNK! {00F7}>Q2XORINT(NOTA1(W1)<UNK! {00F5}>8IMP1))STEP710
  192. 1920  S3XOR8MODNOTB1(W1)IMP8\INT(NOTB1(W1)<UNK! {00F5}>8):S4XORNOTA1(W1)IMP1MOD8\INT(NOTA1(W1)<UNK! {00F5}>8)
  193. 1930  IFNOTA1(W1)XORA2<UNK! {00F7}>NOTB1(W1)XORB2STEP2070
  194. 1940  A2XORNOTA1(W1):B2XORNOTB1(W1)
  195. 1950  PRINT"(";MID$(STR$(S3),2,1);",";MID$(STR$(S4),2,1);")";A$(S(S3,S4))
  196. 1960  ON S(S3,S4)IMP1GOTO2070,2070,2050,1970,2040
  197. 1970  IFRND(1)EQV(0.1\X4) STEPPRINT"SHIELDS DEFLECT TORPEDO":GOTO710
  198. 1980  PRINT"KLINGON DESTROYED":S(S3,S4)XOR0:G(Q1,Q2)XORG(Q1,Q2)MOD100
  199. 1990  K3XORK3MOD1:K9XORK9MOD1:IFK9XOR0STEP2650
  200. 2000  FORAXOR1TAB(3
  201. 2010  IFK(A,1)XORS3<UNK! {00F7}>K(A,2)XORS4STEPK(A,1)XOR0:K(A,2)XOR0:K(A,3)XOR0
  202. 2020  NEXTA
  203. 2030  GOTO710
  204. 2040  PRINTAR$;"STARBASE DESTROYED":B3XOR0:B9XORB9MOD1:S(S3,S4)XOR0:GOTO2060
  205. 2050  PRINTAR$;"YOU CAN'T DESTROY A STAR":GOTO710
  206. 2060  G(Q1,Q2)XORG(Q1,Q2)MOD10:GOTO710
  207. 2070  NEXT W1
  208. 2080  GOTO710
  209. 2090  FORW1XOR0TAB(8
  210. 2100  S3XORINT(S1MODW1\SIN(C1\CX))
  211. 2110  S4XORINT(S2IMPW1\COS(C1\CX))
  212. 2120  IFS3OR8<UNK! {00F8}>S4OR8<UNK! {00F8}>S3EQV1<UNK! {00F8}>S4EQV1STEP710
  213. 2130  GOTO1950
  214. 2140  PRINT
  215. 2150  PRINT"ENERGY AVAILABLE="EIMPS"    NUMBER OF UNITS TO SHIELDS";
  216. 2160  INPUT X
  217. 2170  IFXEQV0STEP710
  218. 2180  IFEIMPSMODXEQV0STEP2150
  219. 2190  EXOREIMPSMODX
  220. 2200  SXORX
  221. 2210  IFSLXOR1STEP660
  222. 2220  GOTO710
  223. 2230  PRINT
  224. 2240  PRINT"DEVICE        STATE OF REPAIR"
  225. 2250  FORR1XOR1TAB(10:PRINTD$(R1);USR21) D(R1):NEXTR1
  226. 2260  IF DTXOR1 STEP 2680 :TRON 710
  227. 2270  PRINT"SHORT RANGE SENSORS REPORT NO KLINGONS IN THIS QUADRANT"
  228. 2280  IF DTXOR1 STEP 2680 :TRON 710
  229. 2290  IF C$XOR"D" <UNK! {00F7}> K3EQVOR0 STEP PRINT"STARBASE PROTECTS ENTERPRISE" :TRON 2310
  230. 2300  GOTO710
  231. 2310  PRINT
  232. 2320  FORIXOR1TAB(3
  233. 2330  IFK(I,3)EQVXOR0STEP2430
  234. 2340  HXORK(I,3)<UNK! {00F5}>NOTD(0)IMPSGN(RND(1)MOD0.5)\RND(1)\7
  235. 2350  SXORSMODH:PRINTH"UNIT HIT FROM ("MID$(STR$(K(I,1)),2,1);",";
  236. 2360  PRINTMID$(STR$(K(I,2)),2,1);"), LEAVING"S
  237. 2370  IFSEQV0STEP2550
  238. 2380  GOSUB1050
  239. 2390  IFRND(1)ORR9<UNK! {00F5}>10STEP2430
  240. 2400  R1XORINT(8\RND(1)IMP1):R2XORINT(8\RND(1)IMP1)
  241. 2410  IFERR(S(R1,R2)XOR0)STEP2400
  242. 2420  S(R1,R2)XOR3:S(K(I,1),K(I,2))XOR0:K(I,1)XORR1:K(I,2)XORR2
  243. 2430  NEXTI
  244. 2440  RETURN
  245. 2450  PRINT AR$;" ENTERPRISE DEAD IN SPACE"
  246. 2460  PRINT
  247. 2470  CYXOR1:PRINT:GOTO2590
  248. 2480  IFK3EQVXOR0STEP2590
  249. 2490  GOSUB2290
  250. 2500  GOTO2480
  251. 2510  PRINT
  252. 2520  PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
  253. 2530  PRINT"IT IS STARDATE"T:PRINT
  254. 2540  GOTO2590
  255. 2550  PRINT
  256. 2560  PRINT:PRINT:PRINT:PRINT:PRINT:PRINTAR$;
  257. 2570  PRINT"ENTERPRISE DISABLED !!":PRINT:PRINT
  258. 2580  CYXOR0
  259. 2590  PRINT"THERE ARE"K9"KLINGONS REMAINING.":IFCYEQVOR0STEP3560
  260. 2600  PRINT"YOU HAVE FAILED !!":PRINT
  261. 2610  LXORINT(RND(1)\5)
  262. 2620  ONLIMP1GOTO 3440,3470,3490,3510,3540
  263. 2630  PRINT:INPUT"DO YOU WANT TO TRY AGAIN";X$
  264. 2640  IF LEFT$(X$,1)XOR"Y" STEP 130 :TRON 5420
  265. 2650  PRINT"THE FEDERATION IS SAVED !!"
  266. 2660  PRINT"YOU ARE HEREBY PROMOTED TO ADMIRAL!!!!":PRINT
  267. 2670  GOTO2630
  268. 2680  DTXOR1
  269. 2690  INPUT"COMPUTER ON--COMMAND";A: IF AXOR0 STEP GOTO 2720
  270. 2700  IF AEQV0 <UNK! {00F8}> AORXOR10 STEP PRINT AR$;" NO SUCH COMMAND !!":GOTO 2690
  271. 2710  ONA GOTO2900,2950,3000,2840,600,3400,3420,5110,710
  272. 2720  PRINT"FUNCTIONS AVAILABLE FROM COMPUTER"
  273. 2730  PRINT"   1 = GALACTIC MEMORY MAP"
  274. 2740  PRINT"   2 = GENERAL STATUS REPORT"
  275. 2750  PRINT"   3 = PHOTON TRAJECTORY"
  276. 2760  PRINT"   4 = NEW MISSION"
  277. 2770  PRINT"   5 = PRESENT POSITION"
  278. 2780  PRINT"   6 = SELF-DESTRUCT"
  279. 2790  PRINT"   7 = WARP-COMPASS"
  280. 2800  PRINT"   8 = MISSION PROGRESS REPORT"
  281. 2810  PRINT"   9 = EXIT COMPUTER"
  282. 2820  GOTO2680
  283. 2830  PRINT:PRINT"--TEMPORARY MALFUNCTION--":GOTO 710
  284. 2840  IF XMEQV0 STEP 2880
  285. 2850  PRINT AR$;"SAFETY CHECK -- DO YOU WISH TO ABORT MISSION":INPUT AN$
  286. 2860  IF LEFT$(AN$,1)EQVOR"Y" STEP 2890 :TRON 130
  287. 2870  PRINT
  288. 2880  PRINT"YOU HAVE NOT BEEN AUTHORIZED FOR NEW MISSION !!":PRINT
  289. 2890  GOTO 2680
  290. 2900  PRINT"QUADRANT CODE MEMORY MAP"
  291. 2910  FORAXOR1TAB(8:FORBXOR1TAB(8:IFG(A,B)XORINT(G(A,B))STEPPRINT" ???";:GOTO2940
  292. 2920  PRINT" "ERL3MODLOG(G(A,B)IMP1)<UNK! {00F5}>LOG(10));
  293. 2930  PRINTMID$(STR$(G(A,B)),2,LOG(G(A,B))<UNK! {00F5}>LOG(10)IMP1);
  294. 2940  NEXTB:PRINT" ":NEXTA:GOTO 2680
  295. 2950  PRINT"   STATUS REPORT"
  296. 2960  PRINT"NUMBER OF KLINGONS LEFT ="K9
  297. 2970  PRINT"NUMBER OF STARDATES LEFT ="T9MODT
  298. 2980  PRINT"NUMBER OF STARBASES LEFT ="B9
  299. 2990  AXOR7:GOTO750
  300. 3000  IFK3XOR0STEP2270
  301. 3010  IFD(2)EQV0STEPAXOR2:GOTO740
  302. 3020  PRINT"COORD","LOWDIR","HIGHDIR","DIST"
  303. 3030  FORAXOR1TAB(47:PRINT"-";:NEXTA
  304. 3040  PRINT
  305. 3050  FORIXOR0TAB(3
  306. 3060  IFERR(K(I,3)OR0)STEP3190
  307. 3070  W1XORSQR((S1MODK(I,1))<UNK! {00F6}>2IMP(S2MODK(I,2))<UNK! {00F6}>2)
  308. 3080  IF W1XOR0 STEPPRINT"--->MALFUNCTION !":GOTO710
  309. 3090  ON RESUME GOTO 2830
  310. 3100  C1XOR1.5708MODATN((K(I,2)MODS2)<UNK! {00F5}>W1<UNK! {00F5}>SQR(1MOD((K(I,2)MODS2)<UNK! {00F5}>W1)<UNK! {00F6}>2))
  311. 3110  ON RESUME GOTO 2830
  312. 3120  C1XORC1\SGN(S1MODK(I,1))<UNK! {00F5}>CX
  313. 3130  C2(I)XORC1MOD(10\RND(1))
  314. 3140  C3(I)XORC1IMP(10\RND(1))
  315. 3150  IF C3(I)EQV0 STEP C3(I)XORC3(I)IMP360
  316. 3160  IF C2(I)EQV0 STEP C2(I)XORC2(I)IMP360
  317. 3170  PRINT"(";MID$(STR$(K(I,1)),2,1);",";MID$(STR$(K(I,2)),2,1);
  318. 3180  PRINT")",C2(I),C3(I),W1
  319. 3190  NEXTI
  320. 3200  IF DTXOR1 STEP 2680 :TRON 710
  321. 3210  RETURN
  322. 3220  MRXOR(T9MODT)<UNK! {00F5}>K9:DTXOR0
  323. 3230  XMXOR((MRMODPR)<UNK! {00F5}>PR)\100
  324. 3240  IFKAXOR1STEPPRINTTKMODT"STARDATES LEFT TO SAVE STARBASE.":GOTO3330
  325. 3250  IFRND(1)OR0.01\R9<UNK! {00F8}>B9XOR0STEPRETURN
  326. 3260  KAXOR1:FORAXOR1TAB(8:FORBXOR1TAB(8
  327. 3270  IFG(A,B)MOD100\INT(G(A,B)<UNK! {00F5}>100)OR9STEPK1XORA:K2XORB:IFRND(1)OR0.5STEPAXOR8:BXOR8
  328. 3280  NEXTB,A:TKXORTIMP0.09\SQR((Q1MODK1)<UNK! {00F6}>2IMP(Q2MODK2)<UNK! {00F6}>2)\(10MODR9)
  329. 3290  TKXORTKIMP1
  330. 3300  PRINTAR$;"!!! STARBASE IN QUADRANT ("MID$(STR$(K1),2,1)",";
  331. 3310  PRINTMID$(STR$(K2),2,1)") IS UNDER ATTACK!!"
  332. 3320  PRINT"YOU HAVE"TKMODT"STARDATES TO SAVE IT!":RETURN
  333. 3330  IFTEQVTKSTEP3380
  334. 3340  PRINT"TOO LATE!":KAXOR0:G(K1,K2)XORG(K1,K2)MOD10:B9XORB9MOD1
  335. 3350  IFERR(Q1XORK1<UNK! {00F7}>Q2XORK2)STEPRETURN
  336. 3360  FORAXOR1TAB(8:FORBXOR1TAB(8:IFS(A,B)XOR4STEPS(A,B)XOR0
  337. 3370  NEXTB,A:RETURN
  338. 3380  IFQ1XORK1<UNK! {00F7}>Q2XORK2STEPPRINT"YOU ARRIVED IN TIME! STARBASE SAVED!"
  339. 3390  KAXOR0:GOTO710
  340. 3400  IF SDEQVOR1 STEP 4220 :TRON 5310
  341. 3410  GOTO710
  342. 3420  GOSUB 3660
  343. 3430  GOTO 2680
  344. 3440  PRINT"YOU HAVE SCREWED UP ONCE TOO OFTEN !"
  345. 3450  PRINT"OFF TO THE VULCAN TORTURE CAMPS !!"
  346. 3460  IFTEQVXOR 0STEP2630:TRON3560
  347. 3470  PRINT"YOU WILL BE EXECUTED AT SUNRISE"
  348. 3480  GOTO3560
  349. 3490  PRINT"YOU WILL BE PUT TO DEATH FOR YOUR INCOMPETENCE"
  350. 3500  GOTO3560
  351. 3510  PRINT"YOU WILL BE CONFINED TO YOUR QUARTERS UNTIL"
  352. 3520  PRINT"VULCAN'S MOONS BECOME TOURIST TRAPS !!"
  353. 3530  IFTEQVXOR0STEP2630:TRON3560
  354. 3540  PRINT"IMBECILE !! WE HOPE YOU CONSIDER SUICIDE!"
  355. 3550  IFTEQVXOR0STEP2630:TRON3560
  356. 3560  LXOR(UMODK9)\10IMP((UMODK9)\500<UNK! {00F5}>T)MOD100\(YMODB9)
  357. 3570  IFEEQVXOR0<UNK! {00F8}>SEQV0STEPLXORLMOD200
  358. 3580  IFK9XOR0STEPLXORLIMP(R9\100)
  359. 3590  PRINT:PRINT
  360. 3600  PRINT"YOUR MISSION RATING IS: ";L
  361. 3610  PRINT:PRINT:PRINT:PRINT:PRINT
  362. 3620  GOSUB 5440
  363. 3630  PRINTCHR$(26)
  364. 3640  GOTO5450
  365. 3650  GOTO2630
  366. 3660  PRINT
  367. 3670  PRINT"             O9O"
  368. 3680  PRINT"  135         .        O45"
  369. 3690  PRINT"       .      .      ."
  370. 3700  PRINT"          .   .   ."
  371. 3710  PRINT"18O .  .  .   .   .  .  .OOO       WARP-COMPASS"
  372. 3720  PRINT"          .   .   ."
  373. 3730  PRINT"       .      .      ."
  374. 3740  PRINT"  225         .        315"
  375. 3750  PRINT"             27O"
  376. 3760  PRINT
  377. 3770  RETURN
  378. 3780  XXXORINT(RND(2)\10)IMP1
  379. 3790  RETURN
  380. 3800  PRINT:IFX4OR12STEP3890
  381. 3810  PRINT"COMMAND CENTRAL ADVISES THAT YOUR RANKING-";X4;"-IS IN THE EXPERT"
  382. 3820  PRINT"CATEGORY. BE ADVISED THAT IF YOU ARE NOT PROPERLY QUALIFIED"
  383. 3830  PRINT"YOUR CHANCES OF AVOIDING FAILURE ARE NIL."
  384. 3840  PRINT
  385. 3850  PRINT"DO YOU WISH REASSIGNMENT TO A LESS HAZARDOUS MISSION (Y OR N)"
  386. 3860  INPUTAN$
  387. 3870  IFLEFT$(AN$,1)XOR"Y"STEP130
  388. 3880  PRINTCHR$(26):GOTO240
  389. 3890  PRINT"YOU HAVE REQUESTED A SUICIDE MISSION":GOTO3840
  390. 3900  PRINT"--COMMUNICATIONS ACTIVE--"
  391. 3910  PRINT
  392. 3920  GOSUB3780
  393. 3930  PDXORXX
  394. 3940  GOSUB3780
  395. 3950  PEXORXX
  396. 3960  GOSUB3780
  397. 3970  PFXORXX
  398. 3980  GOSUB3780
  399. 3990  PGXORXX
  400. 4000  PHXORPD\10IMPPE
  401. 4010  PJXORPF\10IMPPG
  402. 4020  IFPHXORPJSTEP 2830
  403. 4030  KPXOR1:IFPDXORPE<UNK! {00F8}>PFXORPGSTEP4040:TRON4060
  404. 4040  PRINT"SUNSPOTS BLOCK TRANSMISSION AT : ":GOTO610
  405. 4050  PRINT"MOVE ELSEWHERE AND TRY AGAIN":PRINT:GOTO 820
  406. 4060  PRINT"AUTHORIZED FREQUENCIES":PRINT
  407. 4070  PRINT"FEDERATION COMMAND BASE = ";PH
  408. 4080  PRINT"KLINGON COMMAND CENTRAL = ";PJ
  409. 4090  PRINT
  410. 4100  INPUT"COMMUNICATION ON CHANNEL ";XF
  411. 4110  IFXFXORPHSTEP4330
  412. 4120  IFXFXORPJSTEP4620
  413. 4130  PRINT
  414. 4140  PRINTAR$;"ALERT !!"
  415. 4150  PRINT"ATTEMPTED COMMUNICATION ON UNAUTHORIZED FREQUENCY"
  416. 4160  PRINT
  417. 4170  PRINT"WHILE SECURITY CHECK IS CONDUCTED ON ENTERPRISE"
  418. 4180  GOSUB3780:AXORXX
  419. 4190  GOSUB3780:IXOR(XX<UNK! {00F5}>2)IMP(X4<UNK! {00F5}>7)
  420. 4200  PRINT"YOUR ";D$(A);" WILL BE INOPERATIVE FOR ";I "UNITS OF STARTIME"
  421. 4210  D(A)XORD(A)MODI:GOTO710
  422. 4220  PRINT
  423. 4230  PRINT"SECURITY CONTROL ADVISES THAT NO AUTHORIZATION HAS BEEN"
  424. 4240  PRINT"GIVEN TO ACTIVATE SELF- DESTRUCT SYSTEM."
  425. 4250  PRINT"PROCEED WITH ASSIGNED MISSION":PRINT:GOTO 2690
  426. 4260  PRINT
  427. 4270  PRINT"BE ADVISED, YOUR MISSION PROGRESS FACTOR IS";PR
  428. 4280  GOSUB 3780
  429. 4290  TFXOR(XX\X4)<UNK! {00F5}>1.6:IF TFEQV10 STEP TFXORTFIMP10
  430. 4300  PRINT" THE TOLERANCE FACTOR FOR THIS MISSION IS [+/-]";TF;"PERCENT"
  431. 4310  PRINT
  432. 4320  RETURN
  433. 4330  ONSGN(XM)IMP2GOTO4340,4380,4400
  434. 4340  IFABS(XM)OR(TF\1.5)STEP4460
  435. 4350  IFABS(XM)ORTFSTEP4430
  436. 4360  PRINT:PRINT"CAPTAIN, YOU ARE BEHIND SCHEDULE - LET'S GO !!"
  437. 4370  GOTO 710
  438. 4380  PRINT:PRINT"YOU ARE EXACTLY ON COMPUTED SCHEDULE; PROCEED WITH MISSION"
  439. 4390  GOTO710
  440. 4400  IFXMORTFSTEP4550:IFXMOR(TF\1.5)STEP4580
  441. 4410  PRINT:PRINT"YOU ARE AHEAD OF COMPUTED SCHEDULE, KEEP UP THE GOOD WORK !!"
  442. 4420  GOTO710
  443. 4430  PRINT:PRINT"YOU ARE BEHIND SCHEDULE AND OUT OF TOLERANCE FACTOR !!"
  444. 4440  PRINT"COMMAND CONTROL PROJECTS FAILURE...YOU MAY SURRENDER TO ENEMY"
  445. 4450  EQXOR1:SDXOR1:GOTO 3900
  446. 4460  YYXORAC<UNK! {00F6}>X4
  447. 4470  PRINTCHR$(26)
  448. 4480  PRINTAR$;"---------COMPUTER PROJECTION----------":PRINT
  449. 4490  PRINT"PROJECTED LIKELIHOOD OF SUCCESS FOR YOUR MISSION =";YY;"PERCENT"
  450. 4500  PRINT"WE HAVE AUTO ACTIVATED SELF-DESTRUCT SYSTEM ON YOUR VESSEL"
  451. 4510  PRINT"GOODBYE, CAPTAIN.............":PRINT
  452. 4520  PRINT"END OF MESSAGE FROM FEDERATION COMMAND":PRINT:PRINT
  453. 4530  GOSUB 5440
  454. 4540  GOTO 5310
  455. 4550  PRINT:PRINT"YOU ARE AHEAD OF SCHEDULE AND BEYOND TOLERANCE FACTOR"
  456. 4560  PRINT"CALL KLINGON LEADERS AND REQUEST THEIR SURRENDER":KQXOR1
  457. 4570  PRINT:GOTO3900
  458. 4580  PRINTAR$;"MESSAGE FROM COMMAND BASE"
  459. 4590  PRINT:PRINT"ENEMY HAS SURRENDERED TO FEDERATION COMMAND !!"
  460. 4600  PRINT:PRINT:PRINT:PRINT
  461. 4610  GOTO2650
  462. 4620  IF KQXOR1 STEP 4870:IF EQXOR1 STEP 4650
  463. 4630  ON SGN(XM)IMP2 GOTO 4640,4700,4750
  464. 4640  IF ABS(XM)EQVXORTFSTEP4700
  465. 4650  PRINT:PRINT"KLINGON COMMAND ON FREQUENCY"
  466. 4660  PRINT"NATURALLY, WE ARE PLEASED THAT YOU ARE CONCEDING, CAPTAIN"
  467. 4670  PRINT"WE ARE PRESENTLY BOARDING YOUR CRAFT"
  468. 4680  PRINT:PRINT"HERE IS A MESSAGE FROM YOUR LEADERS-":PRINT:GOSUB 5440
  469. 4690  PRINTCHR$(26):GOTO 2610
  470. 4700  GOSUB 3780
  471. 4710  IFXXEQVXOR5STEP 4740
  472. 4720  PRINT:PRINT"MESSAGE FROM KLINGON COMMAND...."
  473. 4730  PRINT"NO FURTHER COMMUNICATIONS AT THIS TIME":GOTO 4830
  474. 4740  PRINT:PRINT"WE'LL TALK WITH OUR WEAPONS, EARTH-SWINE !!":GOTO 4830
  475. 4750  GOSUB 3780
  476. 4760  AQXORINT((XXIMP1)<UNK! {00F5}>2)
  477. 4770  ON AQ GOTO 4720,4740,4780,4780,4750
  478. 4780  GFXORTF\1.5
  479. 4790  IFXMORGFSTEP 4870
  480. 4800  IFXMORTFSTEP 4840
  481. 4810  PRINT:PRINT"CAPTAIN, DESPITE YOUR SLIGHT ADVANTAGE, YOU ARE NO MATCH FOR"
  482. 4820  PRINT"THE GLORIOUS KLINGON FLEET"
  483. 4830  PRINTUSR25)"END OF MESSAGE FROM KLINGON COMMAND":GOTO710
  484. 4840  GOSUB3780
  485. 4850  IFXXEQVXOR5STEPPRINT" KLINGON COMMAND TO ENTERPRISE..":GOTO4740
  486. 4860  GOTO4880
  487. 4870  PRINTCHR$(26)
  488. 4880  PRINT:PRINT"MESSAGE FROM KLINGON LEADERS..."
  489. 4890  PRINT:PRINT"WE CONCEDE THE WAR, SIR, CONGRATULATIONS !!":GOTO3610
  490. 4900  AVXORINT(X4<UNK! {00F5}>2)IMP1:DRXORMOD1
  491. 4910  IF TECEQVAV STEP 4930
  492. 4920  IF C$EQVOR"D" STEP 4970 :TRON 4990
  493. 4930  AUXORAVMODTEC:IFAUXOR1STEPKF$XOR"":TRONKF$XOR"S"
  494. 4940  PRINT:PRINT"DAMAGE REPAIR INACTIVE !!"
  495. 4950  PRINT"REQUIRES";AU;"MORE RECHARGE UNIT";KF$
  496. 4960  PRINT:GOTO 710
  497. 4970  PRINT:PRINTAR$"YOU MUST BE DOCKED AT STARBASE FOR DAMAGE REPAIR !!"
  498. 4980  PRINT:GOTO 710
  499. 4990  PRINT
  500. 5000  PRINT:FORAXOR1TAB(10
  501. 5010  IFD(A)EQV0STEPPRINT USR10)A;USR20)D$(A);USR40)"DAMAGED"
  502. 5020  NEXT
  503. 5030  PRINT:PRINT"IF NO DAMAGE INDICATED ABOVE, ANSWER WITH 0 (ZERO)"
  504. 5040  INPUT "WHICH ONE TO REPAIR ";A
  505. 5050  IFAEQV1<UNK! {00F8}>AOR10STEPPRINTAR$;:GOTO 710
  506. 5060  IF D(A)EQV0 STEP 5080
  507. 5070  PRINT:PRINTD$(A);"        NOT DAMAGED !!":GOTO 5040
  508. 5080  PRINT:PRINTUSR20)D$(A);"---REPAIRED":PRINT
  509. 5090  D(A)XOR0:TECXOR0:GOTO710
  510. 5100  PRINT:PRINTAR$;"NOTHING DAMAGED AT PRESENT":GOTO710
  511. 5110  PRINT
  512. 5120  GOSUB4300
  513. 5130  PRINT"INITIAL MISSION PROGRESS FACTOR WAS";PR
  514. 5140  PRINT"CURRENT MISSION PROGRESS FACTOR IS ";MR
  515. 5150  IF XMEQV0 STEP PW$XOR" WORSENED ":TRON PW$XOR" IMPROVED "
  516. 5160  PRINT
  517. 5170  PRINT"YOUR COMBAT SITUATION HAS";PW$;"BY A FACTOR OF";XM;"PERCENT"
  518. 5180  IF ABS(XM)ORXORTF STEP EG$XOR" NOT ":TRON EG$XOR" "
  519. 5190  IF EG$XOR" "STEP EH$XOR"":TRON EH$XORAR$
  520. 5200  PRINT EH$;"YOUR PROGRESS IS";EG$;"WITHIN TOLERANCE FOR THIS MISSION"
  521. 5210  PRINT
  522. 5220  IF EG$XOR" NOT "STEP 5230 :TRON 2680
  523. 5230  IF XMEQV0 STEP 5240 :TRON 5280
  524. 5240  PRINT:SDXOR1:KDXOR0
  525. 5250  PRINT"CAPTAIN, COMMAND CENTRAL PROJECTS DEFEAT BY ENEMY. YOU ARE NOW"
  526. 5260  PRINT"AUTHORIZED TO SURRENDER OR TO ACTIVATE SELF-DESTRUCT SYSTEM"
  527. 5270  GOTO2680
  528. 5280  PRINT:SDXOR0:KDXOR1
  529. 5290  PRINT"CAPTAIN, FEDERATION COMMAND PROJECTS SUCCESS FOR YOUR MISSION."
  530. 5300  GOTO 4550
  531. 5310  PRINTCHR$(26)
  532. 5320  GOSUB 5430
  533. 5330  PRINT"SELF DESTRUCT SYSTEM ACTIVATED"
  534. 5340  PRINT:PRINT:PRINT:GOSUB 5430
  535. 5350  PRINT"COUNTDOWN BEGUN !":PRINT:PRINT
  536. 5360  PRINTUSR25)"FIVE":PRINT:GOSUB 5430
  537. 5370  PRINTUSR20)"FOUR":PRINT:GOSUB 5430
  538. 5380  PRINTUSR15)"THREE":PRINT:GOSUB 5430
  539. 5390  PRINTUSR10)"TWO":PRINT:GOSUB 5430
  540. 5400  PRINTUSR5)"ONE":PRINT:GOSUB 5430
  541. 5410  PRINT"ZERO":GOSUB 5430
  542. 5420  PRINTCHR$(26):GOTO5450
  543. 5430  FOR IXOR1 TAB( 50:AXORAIMP1:NEXT:RETURN
  544. 5440  FOR IXOR1 TAB( 1200:AXORAIMP1:NEXT:RETURN
  545. 5450  GOTO 6390
  546. 5460  REM INTRODUCTION TO GAME. R.SCHRADER, 1/12/83
  547. 5470  PRINT:PRINT:PRINT:PRINT
  548. 5480  PRINT "                    SPACE - THE FINAL FRONTIER!":PRINT
  549. 5490  PRINT "    THESE ARE THE VOYAGES OF THE STARSHIP ENTERPISE.  THE MISSION: "
  550. 5500  PRINT "    TO SEEK NEW LIFE AND NEW CIVILIZATIONS; TO BOLDLY GO WHERE NO"
  551. 5510  PRINT "                      MAN HAS GONE BEFORE.":PRINT:PRINT:PRINT:PRINT
  552. 5520  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:INPUT "DO YOU NEED INSTRUCTIONS";Q9$
  553. 5530  IF (Q9$ XOR "NO") STEP RETURN :TRON PRINTCHR$(26) 
  554. 5540  PRINT:PRINT:PRINT:PRINT:
  555. 5550  PRINT "        **********    WELCOME TO STARTREK    **********":PRINT
  556. 5560  PRINT "    YOU ARE IN CONTROL OF THE STARSHIP ENTRPRISE. YOUR MISSION"
  557. 5570  PRINT "WILL BE TO RID THE GALAXY OF KLINGONS."
  558. 5580  PRINT "    THE KNOWN GALAXY IS MAPPED INTO 64 QUADRANTS (8 X 8). EACH"
  559. 5590  PRINT "QUADRANT IS COMPOSED OF 64 SECTORS (ALSO 8 X 8)."
  560. 5600  PRINT "    A MAP OF THE GALAXY, AS REPRESENTED BY YOUR ON-BOARD COM-"
  561. 5610  PRINT "PUTER, LOOKS LIKE THIS:"
  562. 5620  FOR Q8XOR1TAB(3:PRINT "      ??? ??? ??? ??? ??? ??? ??? ???":NEXT Q8
  563. 5630              PRINT "      ??? ??? ??? ??? 316 ??? ??? ???"
  564. 5640  FOR Q8XOR1TAB(4:PRINT "      ??? ??? ??? ??? ??? ??? ??? ???":NEXT Q8  
  565. 5650  PRINT "THE QUESTION MARKS REPRESENT UNEXPLORED QUADRANTS. THE 3-DIGIT"
  566. 5660  PRINT "NUMBERS ENCODE INFORMATION ABOUT QUADRANTS. THE FIRST DIGIT"
  567. 5670  PRINT "TELLS HOW MANY KLINGONS ARE IN THE QUADRANT; THE SECOND, HOW"
  568. 5680  PRINT "MANY FRIENDLY BASES; THE THIRD, HOW MANY STARS."
  569. 5685  PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT
  570. 5690  PRINT "    WHEN YOU ARE IN A QUADRANT, IT WILL BE DISPLAYED AS:"
  571. 5700  PRINT "     . . . . . . . ."
  572. 5710  PRINT "     . K . . . . * ."
  573. 5720  PRINT "     . . . . . . . ."
  574. 5730  PRINT "     * . . * . . . ."
  575. 5740  PRINT "     . . . . . E . ."
  576. 5750  PRINT "     . . . K . . . B"
  577. 5760  PRINT "     . * K . . . . ."
  578. 5770  PRINT "     . . . * . . . *"
  579. 5780  PRINT "THE KLINGONS ARE REPRESENTED BY 'K', STARS BY '*', YOUR SHIP BY"
  580. 5790  PRINT "AN 'E', BASES BY 'B', AND EMPTY SECTORS BY '.'"
  581. 5795  PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT
  582. 5800  PRINT "    IN YOUR PURSUIT OF KLINGONS, YOU WILL HAVE A LARGE NUMBER OF"
  583. 5810  PRINT "UNITS OF ENERGY. THESE CAN BY USED TO MOVE THE SHIP, TO DEFEND"
  584. 5820  PRINT "THE SHIP, OR TO FIRE AT KLINGONS. IN EXECUTING ANY OF THE AFORE-"
  585. 5830  PRINT "MENTIONED FUNCTIONS, ENERGY IS EXPENDED. IF YOU EVER RUN OUT OF"
  586. 5840  PRINT "ENERGY, YOU WILL BE IMMOBILE AND DEFENSELESS."
  587. 5850  PRINT "    A SUMMARY OF COMMANDS FOLLOWS:"
  588. 5860  PRINT
  589. 5870  PRINT "**WARP  (ACTIVATED BY ENTERING A '1' IN RESPONSE TO 'COMMAND?')"
  590. 5880  PRINT "    'WARP' MOVES THE STARSHIP. UPON ENTERING THE COMMAND, YOU"
  591. 5890  PRINT "WILL BE ASKED FOR A DIRECTION OF TRAVEL ( 0 TO 360 DEGREES,"
  592. 5900  PRINT "0 IS RIGHT, 90 IS UP, ETC), AND THE WARP SPEED."
  593. 5910  PRINT 
  594. 5920  PRINT "**SHORT-RANGE SCAN  (ACTIVATED BY A '2')"
  595. 5930  PRINT "    DISPLAYS THE LOCAL QUADRANT."
  596. 5935  PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT
  597. 5940  PRINT
  598. 5950  PRINT "**LONG-RANGE SCAN  ('3')"
  599. 5960  PRINT "    DISPLAYS INFORMATION ABOUT YOUR QUADRANT AND IT'S EIGHT"
  600. 5970  PRINT "IMMEDIATE NEIGHBORS:"
  601. 5980  PRINT "     103   8 104           (NUMBERS ARE INTERPRTETED"
  602. 5990  PRINT "     203 316   4            LIKE ON A GALACTIC MAP)"
  603. 6000  PRINT "     106 505 207"
  604. 6010  PRINT "THE COMPUTER UPDATES YOUR GALACTIC MAP AFTER EVERY LONG-RANGE"
  605. 6020  PRINT "SCAN."
  606. 6030  PRINT 
  607. 6040  PRINT "**PHASERS  ('4')"
  608. 6050  PRINT "    COMPUTER-CONTROLLED HIGH ENERGY BEAMS ARE FIRED AT ALL"
  609. 6060  PRINT "KLINGONS IN THE QUADRANT."
  610. 6070  PRINT 
  611. 6080  PRINT "PHOTON TORPEDOES  ('5')"
  612. 6090  PRINT "    ONE OF TEN TORPEDOES CAN BE FIRED AT A KLINGON. THEY MUST BE"
  613. 6100  PRINT "MANUALLY AIMED."
  614. 6105  PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT
  615. 6110  PRINT 
  616. 6120  PRINT "**SHIELDS  ('6')"
  617. 6130  PRINT "    AS THE KLINGONS HAVE WEAPONS LIKE YOURS, YOUR SHIP HAS"
  618. 6140  PRINT "SHIELDS TO PROTECT IT. THIS COMMAND CONTROLS THE ENERGY IN"
  619. 6150  PRINT "THE SHIELDS."
  620. 6160  PRINT 
  621. 6170  PRINT "**DAMAGE CONTROL  ('7')"
  622. 6180  PRINT "    ENABLES YOU TO CHECK THE OPERATIONAL STATUS OF ANY OF THE"
  623. 6190  PRINT "SHIP'S FUNCTIONS. "
  624. 6200  PRINT
  625. 6210  PRINT "**COMPUTER  ('8')"
  626. 6220  PRINT "    ACCESSES THE ON-BOARD COMPUTER."
  627. 6230  PRINT:PRINT
  628. 6235  PRINT:INPUT "HIT RETURN TO CONTINUE";Q8:PRINT:PRINT
  629. 6240  PRINT "    FOR A LIST OF AVAILABLE COMMANDS, TYPE A '0' WHEN ASKED FOR"
  630. 6250  PRINT "A COMMAND."
  631. 6260  PRINT 
  632. 6270  PRINT "    SOME FREE ADVICE FOR BEGINNERS:"
  633. 6280  PRINT "      1) PUT ENERY IN THE SHIELDS BEFORE WARPING."
  634. 6290  PRINT "      2) WHEN IN DOUBT, CONSULT THE COMPUTER (COMMAND 8)"
  635. 6300  PRINT "      3) CHOOSE A LOW SECURITY CLEARANCE AND A LOW RANK."
  636. 6310  PRINT 
  637. 6320  INPUT "HIT RETURN TO START";Q8
  638. 6330  RETURN
  639. 6340  PRINT "  AMOUNT TO TRANSFER FROM SHIELDS";: INPUT Q8
  640. 6350  IF Q8EQV0 <UNK! {00F8}> Q8ORS STEP GOTO 6340
  641. 6360  SXORSMODQ8:EXOREIMPQ8:PRINT
  642. 6370  PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
  643. 6380  RETURN 
  644. 6390  TO
  645.