home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-users-of-norman / CUON_03_(08-1984).d64 / startrek.c3 (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  13KB  |  494 lines

  1. 1 GOTO910
  2. 2 REM ** ML STOP KEY DISABLE **
  3. 3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
  4. 4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111"
  5. 5 [153]"hhhhhhh`1"
  6. 6 [143] ** 4 - POP ML SUBROUTINE **
  7. 10 [143]---GENERAL INPUT ROUTINE----
  8. 15 :
  9. 25 :
  10. 30 :
  11. 35 [143]-----INPUT SECTION-----
  12. 40 :  UR$[178]"":UI$[178]""
  13. 42 :  [139] UL[178]0[167]UL[178]80
  14. 45 [153]"  CMDCMD";:[151]UC,0
  15. 50 :  [161]UI$:[139]UI$[178]""[167]50
  16. 55 :  [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85
  17. 60 :  [139]UI$[178][199](20)[167]105
  18. 62 :  [139] [195](UR$)[178][177]UL [167]50
  19. 65 :  [141]120:[143] CHECK FOR VALID CHARACTER
  20. 70 :  UR$[178]UR$[170]UI$
  21. 75 :  [153]UI$;
  22. 80 :  [137]50
  23. 85 [143]-----CHECK FOR HELP REQUEST-----
  24. 90 :  [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE
  25. 95 :  [139]UF[178]1[167][141]240
  26. 100 : UF[178]0:[153]:[142]
  27. 102 [143]-----CHECK DELETE-----
  28. 105 : [139][195](UR$)[179]1[167]50
  29. 110 : UR$[178][200](UR$,[195](UR$)[171]1)
  30. 115 : [153]"CMD  CMDCMD";:[137]50
  31. 120 [143]-----CHECK FOR VALID CHARACTERS-----
  32. 125 :  [139][195](US$)[178]0[167]150
  33. 130 :  [129]US[178]1[164][195](US$)
  34. 135 :    [139]UI$[178][202](US$,US,1)[167][142]
  35. 140 :  [130]
  36. 145 :  UI$[178]"":[142]
  37. 150 [143]-----STANDARD INPUT-----
  38. 152 :  [139][198](UI$)[178]46[167] [142]
  39. 155 :  [139]UI$[178][199](32)[167] [142]
  40. 160 :  [139][198](UI$)[179]48 [176] [198](UI$)[177]57[167]170
  41. 165 :  [142]
  42. 170 :  [139][198](UI$)[179]65 [176] [198](UI$)[177]90[167]180
  43. 175 :  [142]
  44. 180 :  [139][198](UI$)[179]193 [176] [198](UI$)[177]218[167]UI$[178]"":[142]
  45. 185 :  [139][194](UT)[178]12[176][194](UT)[178]21[167]UI$[178][199]([198](UI$)[171]128):[142]
  46. 187 :  [142]
  47. 190 :  UI$[178]"":[142]
  48. 195 :  UF[178]1:[143]-----HELP ROUTINE EXIT-----
  49. 197 :  [141]250
  50. 200 :  [141]245
  51. 205 :  [129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]2)
  52. 210 :  UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD"
  53. 215 :  UZ[178]1:UV%[178][194](UT)
  54. 216 :  [137]300
  55. 217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK
  56. 218 [139][194](50003)[178]0[167][151]53281,1:[153]"LOAD";:[151]53281,6:[151]53280,14:[137]220
  57. 219 [153]"LOAD";
  58. 220 UT$[178]UL$:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3)
  59. 225 :  [151]UQ,UQ%(UQ[171]UB):[130]
  60. 230 :  [151]U1,U1%
  61. 232 :  [151]U2,U2%
  62. 233 :  [151]U4,U4%
  63. 234 :  [151]U3,U3%[171]1
  64. 235 :  [137]35
  65. 240 :  UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142]
  66. 245 :  [153][200](UD$,24);"                       HELP COMING WAIT  ":[142]
  67. 250 :  U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4)
  68. 251 UJ$[178]US$:UJ[178]UL
  69. 252 :  UJ$[178]US$:UK$[178]UG$:UJ[178]UP:UK[178]UL
  70. 255 :  [142]
  71. 300 [143]-----MENU-----
  72. 301 :
  73. 302 :  [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8
  74. 303 :
  75. 305 :  [153]"LOAD                MENU"
  76. 310 :  [153]" --------------------------------------"
  77. 315 :  [153]"       1.   STARTREK"
  78. 320 :  [153]"       2.   STUDENT INSTRUCTIONS"
  79. 325 :  [153]"       3.   TEACHER INSTRUCTIONS"
  80. 335 :  [153]"       4.   QUIT"
  81. 340 :  [153]" --------------------------------------"
  82. 345 :  [153]"       PRESS A NUMBER KEY (1-4) ";
  83. 350 :  UL[178]1:US$[178]"1234":[141]35:[143]---INPUT ROUTINE---
  84. 352 :  US$[178]""
  85. 355 :  [145][197](UR$)[141]1000,400,500,396
  86. 360 :  [137]300
  87. 395 [143]-----RE-ENABLE STOP KEY AND END-----
  88. 396 :  [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399
  89. 397 :  [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14
  90. 398 :  [153]"CONTLOAD":[128]
  91. 399 :  [141]875:[142]
  92. 400 [143]-----STUDENT INSTRUCTIONS-----
  93. 405 :  [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0
  94. 410 UP[178]0:UG$[178]"(null)TUDENT RIGHT$NST":[141]850
  95. 412 :  [153]"    (null)EMEMBER TO HIT <RETURN> AFTER"
  96. 414 :  [153]"   TYPING YOUR ANSWER. (null)HIS TELLS"
  97. 416 :  [153]"   THE COMPUTER TO ACCEPT WHAT YOU"
  98. 418 :  [153]"   HAVE TYPED."
  99. 420 :  [153]"    (null)YPE <H> AT ANY TIME TO RETURN"
  100. 422 :  [153]"   TO THE MENU FOR HELP.  (null)OU WILL"
  101. 424 :  [153]"   BE RETURNED TO THE PLACE IN THE"
  102. 426 :  [153]"   PROGRAM WHERE YOU LEFT OFF AS"
  103. 428 :  [153]"   SOON AS THE OPTION FROM THE MENU"
  104. 430 :  [153]"   IS COMPLETE."
  105. 435 :  [141]835:UL[178]1:[141]850:[141]3670:[141]835
  106. 490 :  [139]UZ[178]1[167][158]UP%:[137]217
  107. 499 :  [142]
  108. 500 [143]-----TEACHER INSTRUCTIONS-----
  109. 501 :  [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10
  110. 502 :  UP[178]0:UG$[178]"(null)EACHER RIGHT$NST.":[141]850
  111. 503 :  [153]"      (null)O THE BEST OF OUR KNOWLEDGE,"
  112. 504 :  [153]"   THIS PROGRAM IS IN THE PUBLIC"
  113. 505 :  [153]"   DOMAIN.  RIGHT$F THIS IS NOT THE CASE"
  114. 506 :  [153]"   PLEASE CONTACT:"
  115. 507 :  [153]"      LENOMMODORE PEEKUSINESS (null)ACHINES"
  116. 508 :  [153]"          3370 (null)HARMACY ATNVE.
  117. 509 :  PRINT"          [193]GINCOURT, [207]NTARIO"
  118. 510 :  PRINT"          [195]ANADA   [205]1[215] 2[203]4"
  119. 511 :  PRINT"          (416) 499-4292"
  120. 512 UP=1:GOSUB 835:GOSUB 850:
  121. 513 PRINT"     [208]ROGRAM [206]AME: [211]TAR [212]REK
  122. 514 [153]"     (null)RITTEN PEEKY  : (null)NKNOWN
  123. 515 PRINT"     [213]PGRADED [194]Y : [205]ARK [211]TEWART
  124. 516 [153]"     (null)HIS PROGRAM WILL RUN ON ANY
  125. 519 PRINT"         [208][197][212] 64 [195][207][205][208][213][212][197][210]
  126. 520 [153]"         LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null)
  127. 530 GOSUB835
  128. 590 :  IFUZ=1THENSYSUP%:GOTO217
  129. 599 :  RETURN
  130. 600 REM-----PROGRAM MODIFICATION INST-----
  131. 601 :  PRINT"[147]":POKEUT,UL%
  132. 605 :  UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850
  133. 660 :  GOSUB835
  134. 690 :  IFUZ=1THENSYSUP%:GOTO217
  135. 699 :  RETURN
  136. 700 REM-----TO USE 8032 LOAD CBM4032-----
  137. 710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032  
  138. 720 [153]"      LOAD THE 'CBM 4032' PROGRAM"
  139. 730 :  [158]UU[170]71
  140. 740 :  [128]
  141. 800 [143] ** T I T L E   P A G E **
  142. 802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6
  143. 804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130]
  144. 806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130]
  145. 808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130]
  146. 810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130]
  147. 812 [153]"STEP  WAIT
  148. 814 PRINT" [146]   [146][169]
  149. 816 [153]" WAIT  TAB((null)
  150. 818 PRINT"[223]  [146]
  151. 820 [153]"C O M M O D O R E
  152. 822 PRINT"EDUCATIONAL
  153. 824 [153]"SOFTWARE
  154. 826 REM ** COMMODORE LOGO **
  155. 827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0
  156. 828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828
  157. 830 :  T1$="":T2$="":T3$="":T4$="":I=0
  158. 832 :  GOTO300
  159. 835 REM-----SPACE BAR PRESS-----
  160. 840 :  PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
  161. 844 :  GETUI$:IFUI$<>" "THEN844
  162. 846 :  RETURN
  163. 850 REM-----PAGE DESIGN ROUTINE-----
  164. 852 :  UP=UP+1
  165. 855 :  PRINT"[147]"LEFT$(UT$+UP$,21);LEFT$(UG$+UP$,14);UP
  166. 860 :  PRINT" --------------------------------------"
  167. 865 :  PRINTLEFT$(UD$,24);LEFT$(UP$,6);"HELP - PRESS   H <RETURN>"
  168. 870 :  PRINT"":RETURN
  169. 875 REM-----PLEASE WAIT REMARK-----
  170. 880 :  PRINTLEFT$(UD$,24);"           ONE MOMENT PLEASE...     "
  171. 885 :  RETURN
  172. 900 REM-----SET UP VARIABLES-----
  173. 901 :  UX$="H":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024
  174. 902 :  UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:POKE50003,0
  175. 903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048
  176. 904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024
  177. 905 :  UD$=""
  178. 906 :  UP$="                                       "
  179. 907 :  UT$=" [211][212][193][210][212][210][197][203]":REM PLACE PROGRAM TITLE HERE!!!!!!!!!!!!!!!!!!!***
  180. 908 :  RETURN
  181. 910 REM-----SET VARIABLES-----
  182. 915 :  GOSUB900
  183. 916 DIMA1(140)
  184. 917 :
  185. 920 REM-----CHECK FOR 8032-----
  186. 925 :  PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE
  187. 930 :  IFPEEK(UB+40)<>96THENGOSUB700
  188. 931 REM-----MEMORY CHECK-----
  189. 932 :  IF FRE(0)>2000THEN937
  190. 933 :  PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH"
  191. 934 :  PRINT"MEMORY TO RUN THIS PROGRAM !"
  192. 935 :  SYSUU+71
  193. 936 :  END
  194. 937 :  PRINT"[147]":IFPEEK(50003)=0THEN962
  195. 940 REM-----BASIC 2.0  OR  4.0  OR  C-64 SETUP-----
  196. 941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145
  197. 942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133
  198. 943 POKE1104,145:POKE1105,234:POKE1082,234
  199. 945 :  IFPEEK(50003)<>160THEN955
  200. 950 :  POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965
  201. 955 :  IFPEEK(50003)<>1THEN990
  202. 960 :  POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965
  203. 962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21
  204. 963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141
  205. 964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3
  206. 965 :  SYSUU+48:REM DISABLE STOP KEY
  207. 970 :  GOSUB800:REM TITLE
  208. 980 :  GOTO300:REM MENU
  209. 990 :  PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END
  210. 1000 : IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM-----PROGRAM STARTS HERE-----
  211. 1001 PRINT"[147]";:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14
  212. 1020 PRINT"[147]":GOSUB875
  213. 1030 BL$="                                       "
  214. 1040 LET K=0
  215. 1050 LET T=INT(RND(1)*200+1)+200
  216. 1060 LET E=2000
  217. 1070 LET R=15
  218. 1080 LET S= 0
  219. 1090 LET L= T
  220. 1100 REM ***SET UP SECTORS***
  221. 1110 FOR I = 0 TO 63
  222. 1120 LET X=0
  223. 1130 LET Y=0
  224. 1140 IF INT(RND(1)*10+1)<>8 THEN 1160
  225. 1150 LET X=INT(RND(1)*4+1)
  226. 1160 IF INT(RND(1)*100+1)>90 THEN Y=1
  227. 1170 LET Z=INT(RND(1)*5+3)
  228. 1180 LET A1(I)=X*100+Y*10+Z
  229. 1190 K=K+X
  230. 1200 NEXT I
  231. 1210 LET Q=INT(RND(1)*64+1)-1
  232. 1220 LET A=INT(RND(1)*64)
  233. 1230 IF Q<0 THEN LET Q=Q+64
  234. 1240 IF Q>63 THEN LET Q=Q-64
  235. 1250 REM ***SET UP CURRENT SECTOR***
  236. 1260 LET Z=A1(Q)
  237. 1270 LET X=INT(Z/100)
  238. 1280 LET Z=Z-X*100
  239. 1290 LET Y=INT(Z/10)
  240. 1300 LET Z=Z-Y*10
  241. 1310 FOR I= 64 TO 127
  242. 1320 LET A1(I)=0
  243. 1330 NEXT I
  244. 1340 LET A1(A+64)=4
  245. 1350 FOR I=1TO5
  246. 1360 IF I > Z THEN 1400
  247. 1370 LET J=INT(RND(1)*64+64)
  248. 1380 IF A1(J)<>0 THEN 1370
  249. 1390 LET A1(J)=3
  250. 1400 IF I>Y THEN 1440
  251. 1410 LET J=INT(64*RND(1)+64)
  252. 1420 IF A1(J)<>0 THEN 1410
  253. 1430 LET A1(J)=2
  254. 1440 IF I>X THEN 1480
  255. 1450 LET J=INT(64*RND(1)+64)
  256. 1460 IF A1(J)<>0 THEN1450
  257. 1470 LET A1(J)=-200
  258. 1480 NEXT
  259. 1490 PRINT"[147]"
  260. 1500 GOSUB 3280
  261. 1510 IF L=T THEN 1540
  262. 1520 IF 9*RND(1)<7 THEN 2670
  263. 1530 REM *** COMMAND CONTROL ***
  264. 1540 IF K>0 THEN1660
  265. 1550 PRINT
  266. 1560 PRINT" **** CONGRATULATIONS ****"
  267. 1570 PRINT
  268. 1580 PRINT" THE FEDERATION HAS BEEN SAVED!"
  269. 1590 PRINT
  270. 1600 PRINT" YOUR MEDALS WILL BE SENT VIA"
  271. 1610 PRINT" THE SUB-SPACE TRANSPORTER."
  272. 1620 PRINT
  273. 1630 PRINT
  274. 1640 PRINT
  275. 1645 GOSUB835
  276. 1650 RETURN
  277. 1660 PRINT
  278. 1670 PRINT "   M[146]OVE  L[146]ONG RANGE SCAN  P[146]HASERS"
  279. 1680 PRINT "T[146]ORPEDOES  S[146]HIELDS  C[146]LOSE SCAN  R[146]ESIGN"
  280. 1690 GET Q$:IF Q$="" THEN 1690
  281. 1700 IF Q$="M" THEN B=1:GOTO 1780
  282. 1710 IF Q$="L" THEN B=2:GOTO 1780
  283. 1720 IF Q$="P" THEN B=3:GOTO 1780
  284. 1730 IF Q$="T" THEN B=4:GOTO 1780
  285. 1740 IF Q$="S" THEN B=5:GOTO 1780
  286. 1750 IF Q$="C" THEN B=6:GOTO 1780
  287. 1760 IF Q$="R" THEN B=7:GOTO 1780
  288. 1770 GOTO 1690
  289. 1780 PRINT "[145][145]";BL$:PRINT BL$;"[145][145]"
  290. 1790 ON B GOTO 1810,2030,2190,2460,2700      ,2770,2790
  291. 1800 REM *** HELM CONTROL ***
  292. 1810 GOSUB 3040
  293. 1820 PRINT" WARP FACTOR (1-63) ";:US$="H1234567890":UL=2:GOSUB35:W=VAL(UR$)
  294. 1830 IF (W<1) OR (W>63) THEN 1820
  295. 1840 IF E>=W THEN 1870
  296. 1850 GOSUB 3010
  297. 1860 GOTO 1500
  298. 1870 LET A1(A+64)=0
  299. 1880 E=E-W
  300. 1890 T=T+W
  301. 1900 FOR I = 1 TO W
  302. 1910 IF (V+N<0) OR (V+N>7) OR (H+M<0) OR (H+M>7) THEN 1940
  303. 1920 LET U= (V+N)+8*(H+M)+64
  304. 1930 IFA1(U)<>0 THEN PRINT" WHERE DO YOU THINK YOU ARE GOING?":GOTO 1990
  305. 1940 V=V+N
  306. 1950 H=H+M
  307. 1960 NEXT I
  308. 1970 IF(V>=0) AND(V<8) AND (H>=0) AND (H     <8) THEN 1990
  309. 1980 LET Q=Q+8*INT(H/8)+INT(V/8):GOTO        1220
  310. 1990 A=V+8*H
  311. 2000 A1(A+64)=4
  312. 2010 GOTO 1500
  313. 2020 REM *** LONG RANGE SCAN ***
  314. 2030 PRINT "[147]"
  315. 2040 H1=INT(Q/8):V1=Q-8*H1+1:H1=H1+1
  316. 2050 PRINT" LONG RANGE SCAN FOR QUADRANT ";V1;H1
  317. 2060 PRINT
  318. 2070 FOR I=-16 TO 16STEP 8
  319. 2080 FOR J=-2 TO 2
  320. 2090 U=Q+J+I
  321. 2100 IF U<0 THEN U=U+64
  322. 2110 IF U>63 THEN U=U-64
  323. 2120 PRINT TAB(10+5*J);A1(U);
  324. 2130 NEXT J
  325. 2140 PRINT
  326. 2150 PRINT
  327. 2160 NEXT I
  328. 2170 GOTO 1670
  329. 2180 REM *** PHASER CONTROL ***
  330. 2190 GOSUB 3010
  331. 2200 PRINT" PHASERS ";:US$="H0123456789":UL=4:GOSUB35:P=VAL(UR$)
  332. 2210 IF E< P THEN 2190
  333. 2220 E=E-P
  334. 2230 IF X=0 THEN 2430
  335. 2240 P= INT(P/X)
  336. 2250 H=INT(A/8)
  337. 2260 V=A-8*H
  338. 2270 FOR I = 0 TO 63
  339. 2280 LET J=I+64
  340. 2290 IF A1(J)>=0 THEN 2410
  341. 2300 F=INT(I/8)
  342. 2310 U=I-F*8
  343. 2320 GOSUB 2820
  344. 2330 G=A1(J)
  345. 2340 G=G+INT(P/D)
  346. 2350 IF G<0 THEN 2380
  347. 2360 GOSUB 2950
  348. 2370 GOTO 2410
  349. 2380 A1(J)=G
  350. 2390 IF C=3 THEN 2410
  351. 2400 G=-INT(G/D):S=S-G:PRINT" ";G;"HIT ON SHIELDS."
  352. 2410 NEXT I
  353. 2420 IF S<0 THEN 2900
  354. 2430 A1(Q)=A1(Q)-(INT(A1(Q)/100)-X)*100
  355. 2440 GOSUB 3280:GOTO 1540
  356. 2450 REM *** PHOTON TORPEDOE CONTROL ***
  357. 2460 IF R<1 THEN PRINT" NO TORPEDOES":GOTO 1540
  358. 2470 GOSUB 3040
  359. 2480 R=R-1
  360. 2490 PRINT
  361. 2500 PRINT" TORPEDO RUNNING"
  362. 2510 FOR I = 1 TO 16
  363. 2520 V=V+N
  364. 2530 H=H+M
  365. 2540 POKE UM+201+40*H+3*V, 90
  366. 2550 IF(V>=0)AND(V<8) AND (H>=0) AND (H<8) THEN 2580
  367. 2560 PRINT" MISSED!"
  368. 2570 GOTO 2670
  369. 2580 J=V+8*H+64
  370. 2590 IF A1(J)<>0 THEN 2610
  371. 2600 NEXT I
  372. 2610 IF A1(J)=2 THEN PRINT" STAR BASE DESTROYED":GOTO 3190
  373. 2620 IF A1(J)>0 THEN 2670
  374. 2630 IF INT(RND(1)*10)<5 THEN 2660
  375. 2640 GOSUB 2950
  376. 2650 GOTO 2670
  377. 2660 PRINT" KLINGONS SHIELDS HELD."
  378. 2670 LET P = 0
  379. 2680 PRINT
  380. 2690 GOTO 2220
  381. 2700 E=E+S
  382. 2710 GOSUB 3010
  383. 2720 PRINT" SHIELDS ";:US$="H0123456789":UL=4:GOSUB35:S=VAL(UR$)
  384. 2730 E=E-S
  385. 2740 IF E<1 THEN PRINT" S>E":GOTO 2700
  386. 2750 GOTO 1500
  387. 2760 REM *** JUMP TO SHORT RANGE SCAN **
  388. 2770 GOTO 1500
  389. 2780 REM *** RESIGNATION ***
  390. 2790 PRINT " ACCEPTED --- YOU CHICKEN":GOSUB835:RETURN
  391. 2800 REM *** SUBROUTINES ***
  392. 2810 REM **CALC KLINGON ENTERPRISE DIST*
  393. 2820 Z=H-F
  394. 2830 Y= V-U
  395. 2840 FOR D=1 TO 8
  396. 2850 G=D+1
  397. 2860 IF G*G>(Z*Z+Y*Y) THEN RETURN
  398. 2870 NEXT D
  399. 2880 RETURN
  400. 2890 REM ***
  401. 2900 PRINT
  402. 2910 PRINT"ENTERPRISE DEAD IN SPACE!"
  403. 2920 PRINT
  404. 2930 GOTO 3190
  405. 2940 REM ***
  406. 2950 PRINT" KLINGON DESTROYED"
  407. 2960 X=X-1
  408. 2970 K=K-1
  409. 2980 A1(J)=0
  410. 2990 RETURN
  411. 3000 REM ***
  412. 3010 PRINT"ENERGY=";E
  413. 3020 RETURN
  414. 3030 REM *** READ COURSE AND CALCULATE       MOVEMENT VECTOR"
  415. 3040 [153] " COURSE ?";
  416. 3050 [161] Q$:[139] Q$[178]"" [167] 3050
  417. 3060 [136] B[178][197](Q$)
  418. 3070 [139] B[178]0 [167] [153] " 1-9WAIT";:[137] 3050
  419. 3080 [153] B
  420. 3090 M[178]0
  421. 3100 N[178]0
  422. 3110 H[178][181](A[173]8)
  423. 3120 V[178]A[171]H[172]8
  424. 3130 [139] (B[179]4) [167] M[178]1
  425. 3140 [139] (B[177]6) [167] M[178][171]1
  426. 3150 [139] B[178]1 [176] B[178]4 [176] B[178]7 [167] N[178][171]1
  427. 3160 [139] B[178]3 [176] B[178]6 [176] B[178]9 [167] N[178]1
  428. 3170 [142]
  429. 3180 [143] ***
  430. 3190 [153]" YOU ARE RELIEVED OF DUTY."
  431. 3200 [153]
  432. 3210 [153]" YOU WILL BE FED TO THE DISINTEGRATOR"
  433. 3220 [153]" AS SOON AS POSSIBLE."
  434. 3230 [153]
  435. 3240 [153]" MAY YOUR ASHES REST IN PEACE."
  436. 3250 [153]
  437. 3260 [153]
  438. 3270 [141]835:[142]
  439. 3280 [143] *** SHORT RANGE SCAN ***
  440. 3290 [136] C[178]1
  441. 3300 [153] "";
  442. 3310 [139](A1(A[170]63)[178]2) [176] (A1(A[170]65)[178]2)[167] C[178]3
  443. 3320 [139] X[179][177]0[167] C[178]2
  444. 3330 [153] BL$:[153] BL$:[153] BL$:[153] "";
  445. 3340 [139] (C[179][177]2)[176](S[179][177]0) [167] [153] "":[137] 3390
  446. 3350 [153]
  447. 3360 [153] " RED ALERT...SHIELDS ACTIVATED.":[153]
  448. 3370 [136] S[178]400:[136] E[178]E[171]400
  449. 3380 [139] E[179]0 [167] E[178]E[170]S:S[178]E:E[178]0
  450. 3390 [139] C[178]3 [167] E[178]3000:[136] S[178]0:R[178]15
  451. 3400 [136] H1[178][181](Q[173]8):[136] V1[178]Q[171]8[172]H1[170]1:H1[178]H1[170]1
  452. 3410 [153]" SHORT RANGE SCAN FOR QUADRANT";V1;H1
  453. 3420 [153] BL$
  454. 3430 [129] I [178] 0 [164] 56 [169] 8
  455. 3440 [129] J [178] 64 [164] 71
  456. 3450 [136] U[178]A1(I[170]J)
  457. 3460 [139] U[178]0 [167] [153]" . ";
  458. 3470 [139] U[179]0 [167] [153]">K<";
  459. 3480 [139] U[178]2 [167] [153]"<B>";
  460. 3490 [139] U[178]3 [167] [153]" * ";
  461. 3500 [139] U[178]4 [167] [153]"-O-";
  462. 3510 [130] J
  463. 3520 [139] I[178]0 [167] [153]"STARDATE ";T
  464. 3530 [139] (I[178]8) [176] (I[178]56) [167] [153]
  465. 3540 [139] I[179][177]16 [167] 3590
  466. 3550 [153]"COND. ";
  467. 3560 [139] C[178]1 [167] [153] "  GREEN"
  468. 3570 [139] C[178]2 [167] [153] "  REDWAIT  "
  469. 3580 [139] C[178]3 [167] [153] " DOCKED"
  470. 3590 [139] I[178]24 [167] [153]"ENERGY=      CMDCMDCMDCMDCMDCMD";E
  471. 3600 [139] I[178] 32 [167] [153]"TORPEDOES=    CMDCMDCMDCMD";R
  472. 3610 [139] I[178]40 [167] [153]"SHIELDS=      CMDCMDCMDCMDCMDCMD";S
  473. 3620 [139] I[178]48 [167] [153]"KLINGONS=      CMDCMDCMDCMDCMDCMD";K
  474. 3630 [130] I
  475. 3640 [129] I[178]1 [164] 11:[153] BL$:[130] I
  476. 3650 [153] "":[142]
  477. 3660 [151] UT,UL%
  478. 3670 [153] "(null)ELCOME TO THE STARSHIP VAL(null)(null)VAL(null)(null)(null)RIGHT$(null)VALWAIT"
  479. 3680 [153]:[153] "             LEN(null)(null)(null)VALCLOSE(null)LENATN(null)CLOSECLOSE(null)(null)(null)CHR$CLOSE(null)LENATN(null)"
  480. 3690 [153] "             ==========  ========="
  481. 3700 [153] "(null)LINGONS        >(null)<      100 DIGIT"
  482. 3710 [153] "(null)OUR BASE       <PEEK>       10 DIGIT"
  483. 3720 [153] "VALNTERPRISE      -(null)-"
  484. 3730 [153] "(null)TARS            *         1 DIGIT"
  485. 3740 [153]:[153] "(null)OUR COMMANDS ARE:-":[153]
  486. 3750 [153] "   (null)WAITOVE  (null)WAITONG RANGE SCAN  (null)WAITHASERS"
  487. 3760 [153] "(null)WAITORPEDOES  (null)WAITHIELDS  LENWAITLOSE SCAN  (null)WAITESIGN"
  488. 3770 [153]:[153] "(null)RESS THE FIRST LETTER OF THE COMMAND"
  489. 3780 [153] "TO EXECUTE.  STR$IRECTIONS FOR MOVE AND"
  490. 3790 [153] "TORPEDOES ARE GIVEN BY THE (null)VAL(null)'S KEYPAD":[153]
  491. 3800 [153] "(null)O DOCK WITH BASE YOU MUST POSITION THE"
  492. 3810 [153] "VALNTERPRISE ADJACENT TO A BASE.(-(null)-<PEEK>)"
  493. 3850 [142]
  494.