home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 176 / 176.d81 / b.convoy inst (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1999-01-01  |  9.9 KB  |  226 lines

  1. 10 poke56,56:clr:dv=peek(186):ifdv<8ordv>29thendv=8
  2. 12 poke53371,0
  3. 20 sys57812"convoy font",dv,0:poke780,0:poke781,0:poke782,56:sys65493
  4. 30 dv=peek(186):ifdv<8ordv>29thendv=8
  5. 40 sys57812"convoy mouse",dv,0:poke780,0:poke781,0:poke782,199:sys65493
  6. 50 dv=peek(186):ml=199*256:v=ml+156:sysml:sysml+18,0,39,0,24:sysml+6,704
  7. 60 dimd$(3):d$(0)="[163][164]":d$(1)="[165][166]":d$(2)="[167][168]":d$(3)="[161][162]"
  8. 70 t$="[145][181][182][183][157][157][157][184][185][186][157][157][157][187][188][189][145]":t$="[158][195] "+t$+" [206] [214] "+t$+" [217][144]":b$=chr$(13)
  9. 80 poke53280,6:poke53281,6:print"[147]":poke53272,31:printtab(12);t$
  10. 90 print"  [212]hese are the instructions for the"
  11. 100 print"game [195][207][206][214][207][217]. [213]se a mouse in port 1, a"
  12. 105 print"joystick in port 2, or the cursor and"
  13. 107 print"return keys; all work. [217]ou control a"
  14. 110 print"submarine and the computer controls:":print"   a cargo ship "
  15. 120 print"   an escort ship,":print"   and a destroyer."
  16. 130 print"  [217]our task is to sink the cargo ship"
  17. 140 print"with one of your torpedoes. [217]ou lose if"
  18. 150 print"all your torpedoes miss the cargo ship,"
  19. 160 print"that ship sails to the destination port,";
  20. 170 print"either the escort or the destroyer sail"
  21. 180 print"directly above your sub (where they will";
  22. 190 print"detect it, drop depth charges, and"
  23. 200 print"destroy it), or if you quit.":gosub9800
  24. 210 print"[147]":sysml+30,0,21,0,21,0,20:print"";
  25. 220 fori=1to10:print"[172] [172] [172] [172] [172] [172] [172] [172] [172] [172] ":print"                    ":next
  26. 225 sysml+12,19,19,"[155][163][164][144]":sysml+12,3,4,"[161][162]"
  27. 230 a$="  [144][212]he map is to[136]the left, made up[136]of ten rows of[136]ten dots each,[136]"
  28. 240 a$=a$+"with each dot[136]indicating one[136]square. [212]he[136]computer's ships,[136]"
  29. 250 a$=a$+"being surface[136]ships, are shown[136]just above the[136]dot, while your[136]"
  30. 260 sysml+12,23,0,a$
  31. 270 a$="sub, always[136]submerged, is[136]shown just below[136]the dot. [193]s each[136]"
  32. 280 a$=a$+"square can hold[136]only one surface[136]ship and one sub,[136]you can see each[136]"
  33. 290 a$=a$+"clearly."
  34. 300 sysml+12,23,12,a$:gosub9700
  35. 302 sysml+30,23,39,0,21,32,6
  36. 303 sysml+12,15,15,"[155][167][168][144]":sysml+12,17,17,"[155][165][166][144]"
  37. 304 a$="  [212]he cargo ship[136]always starts[136]from the lower[136]right corner of[136]"
  38. 306 a$=a$+"the map. [201]ts[136]destination port[136]is the upper[136]left corner of[136]"
  39. 308 a$=a$+"the map. [212]he sub[136]always starts[136]just outside that[136]port."
  40. 310 sysml+12,23,0,a$
  41. 312 a$="  [212]he escort ship[136]is always right[136]next to the cargo[136]ship (until you[136]"
  42. 314 a$=a$+"sink one or the[136]other). [212]he[136]destroyer always[136]starts from the[136]"
  43. 316 a$=a$+"same square and[136]sails freely."
  44. 318 sysml+12,23,12,a$:gosub9600
  45. 340 print"[147]  [212]he computer updates the map"
  46. 350 print"automatically, placing the sub symbol in";
  47. 360 print"its current position and the symbol for"
  48. 370 print"each computer ship at its position as"
  49. 380 print"[204][193][211][212] [203][206][207][215][206] [212][207] [212][200][197] [211][213][194][205][193][210][201][206][197][144]. [211]hips that"
  50. 390 print"are destroyed are no longer shown on"
  51. 400 print"the map. "
  52. 410 print"  [212]he sub has several ways to find where";
  53. 420 print"the other ships are, the most important"
  54. 430 print"being the radio message, which"
  55. 440 print"pinpoints the destroyer or cargo ship"
  56. 450 print"positions, and the periscope, which"
  57. 460 print"reveals all surface ships in the eight"
  58. 470 print"nearest neighboring squares. [217]ou get"
  59. 480 print"that information only after the"
  60. 490 print"periscope command. [200]owever, you always"
  61. 500 print"know if the cargo ship ever sails"
  62. 510 print"immediately above your sub (the other"
  63. 515 print"ships will kill you doing that) and you"
  64. 520 print"can identify any ship you torpedo.":gosub9800
  65. 525 print"[147]":a$="[212]ime: 4       [204]=4[136][208]oints: 17600"
  66. 530 sysml+12,23,4,a$:print:print:print"  [201]n the upper right corner of the"
  67. 535 print"screen, you see the time that has"
  68. 540 print"passed, the level, and your current"
  69. 545 print"number of points. [201]t takes time to raise";
  70. 550 print"your periscope and look around, time to"
  71. 555 print"fire your torpedoes, and time to move"
  72. 560 print"the sub; time in which the computer"
  73. 565 print"ships are moving about. [212]here are seven"
  74. 570 print"levels, easy level 1 to hard level 7,"
  75. 575 print"automatically changing to your skill"
  76. 580 print"level; the higher the level, the faster"
  77. 585 print"the computer ships move. [212]he points"
  78. 590 print"reflect your kills, your misses, the"
  79. 595 print"time used, and the level.":gosub9200
  80. 600 print"[147]":a$=d$(2)+" [196]estroyer  1[136]"+d$(1)+" [197]scort     2[136]"
  81. 610 a$=a$+d$(0)+" [195]argo      2[136]"+d$(3)+" [211]ub [169][169][169][169]"
  82. 620 sysml+12,22,7,a$
  83. 630 print:print"  [212]he ship symbols are displayed on the"
  84. 640 print"map and their explanation in the middle"
  85. 650 print"right side of the screen. [212]he symbols"
  86. 660 print"to the right of the submarine show each"
  87. 670 print"of your remaining torpedoes."
  88. 680 print"  [212]he numbers to the right of the"
  89. 690 print"computer ship descriptions tell you"
  90. 700 print"how long ago that ship was last located;";
  91. 710 print"the higher the number, the more likely"
  92. 720 print"the ship has sailed farther from there.":gosub9500
  93. 800 print"[147]"
  94. 810 a$="[144][163][164] [200]ere, [206]ow[136][155][163][164] [144][200]ere, [212]hen"
  95. 830 sysml+12,22,12,a$
  96. 840 print"  [212]he map may show":print"ships of different"
  97. 845 print"colors, depending on"
  98. 850 print"when and how each":print"ship was last":print"detected. [201]ts"
  99. 860 print"position may be":print"known exactly now"
  100. 870 print"or in the past. [194]ut":print"if you had found the"
  101. 880 print"cargo ship but not":print"the escort, you"
  102. 890 print"would know only":print"that the escort was"
  103. 900 print"in one of the":print"neighbor squares around the cargo ship."
  104. 910 print"  [212]he sub always knows whether the"
  105. 920 print"surface above it is occupied by a ship,"
  106. 930 print"but if that ship is [206][207][212] the cargo ship,"
  107. 940 print"then the sub is immediately destroyed.":gosub9400
  108. 1000 print"[147]  [212]he ships are placed in their"
  109. 1010 print"initial positions, then the computer"
  110. 1020 print"ships move. [217]ou then have the options of";
  111. 1030 print"using the periscope, firing a torpedo,"
  112. 1040 print"moving the sub, or ending the game."
  113. 1050 print"[195]lick the pointer over your choice (the"
  114. 1080 print"areas flicker when the pointer is over"
  115. 1090 print"them). [215]hen firing a torpedo (range: [207][206][197][144]";
  116. 1100 print"square, but [206][207][212][144] the same square as the"
  117. 1105 print"submarine) or moving the sub ([207][206][197][144]"
  118. 1107 print"square at a time), pick the square on"
  119. 1110 print"the map in the same manner as above."
  120. 1140 print"[210]adio messages may pinpoint a ship at"
  121. 1150 print"any distance; the periscope sees only"
  122. 1160 print"the sub's square and its 8 neighbors."
  123. 1165 print"  [212]his program provides the instructions";
  124. 1170 print"for [195][207][206][214][207][217], loads it, and runs it. [217]ou"
  125. 1175 print"may also skip these instructions by"
  126. 1180 print"loading and running [195][207][206][214][207][217] directly."
  127. 1190 gosub9300:goto9900
  128. 8999 stop
  129. 9200 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  130. 9210 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  131. 9220 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9240
  132. 9230 return
  133. 9240 sysml+30,23,29,4,4,255,8:sysml+30,20,23,8,8,255,8
  134. 9243 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  135. 9246 sysml+30,23,29,4,4,255,0:sysml+30,20,23,8,8,255,0
  136. 9250 sysml+30,37,39,4,4,255,8:sysml+30,12,16,9,9,255,8
  137. 9253 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  138. 9256 sysml+30,37,39,4,4,255,0:sysml+30,12,16,9,9,255,0
  139. 9260 sysml+30,23,35,5,5,255,8:sysml+30,10,15,10,10,255,8
  140. 9263 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9230
  141. 9266 sysml+30,23,35,5,5,255,0:sysml+30,10,15,10,10,255,0
  142. 9280 sysml+24,60:goto9220
  143. 9300 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  144. 9310 sysml+12,8,23,"[195]lick [200]ere to [194]egin [199]ame":sysml+15,1,4,35,23,23
  145. 9315 sysml+15,2,6,12,7,7
  146. 9320 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9340
  147. 9330 return
  148. 9340 ti$="000000":sysml+18,6,12,7,7
  149. 9342 sysml+36,2,255,192:sysml+36,2,255,192:ifti<60then9342
  150. 9350 sysml+18,4,35,23,23:sysml+21,33,23::sysml+24,60:goto9320
  151. 9400 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  152. 9410 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  153. 9420 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9440
  154. 9430 return
  155. 9440 sysml+30,21,24,11,14,0,24
  156. 9442 sysml+30,0,18,2,2,255,8:sysml+30,0,5,3,3,255,8
  157. 9443 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9430
  158. 9445 sysml+30,21,24,11,14,0,22
  159. 9446 sysml+30,0,18,2,2,255,0:sysml+30,0,5,3,3,255,0
  160. 9450 sysml+30,0,16,4,5,255,8:sysml+30,0,8,6,6,255,8
  161. 9452 sysml+30,25,39,12,13,255,8
  162. 9453 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9430
  163. 9456 sysml+30,0,16,4,5,255,0:sysml+30,0,8,6,6,255,0
  164. 9458 sysml+30,25,39,12,13,255,0
  165. 9470 sysml+24,60:goto9420
  166. 9500 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  167. 9510 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  168. 9520 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9540
  169. 9530 return
  170. 9540 sysml+30,6,17,12,12,255,8:sysml+30,22,23,7,10,255,8
  171. 9543 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9530
  172. 9546 sysml+30,6,17,12,12,255,0:sysml+30,22,23,7,10,255,0
  173. 9550 sysml+30,14,25,13,13,255,8
  174. 9552 sysml+30,25,27,7,10,255,8:sysml+30,28,33,7,9,255,8
  175. 9553 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9530
  176. 9556 sysml+30,14,25,13,13,255,0
  177. 9558 sysml+30,25,27,7,10,255,0:sysml+30,28,33,7,9,255,0
  178. 9560 sysml+30,8,26,16,16,255,8:sysml+30,29,32,10,10,255,8
  179. 9563 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9530
  180. 9566 sysml+30,8,26,16,16,255,0:sysml+30,29,32,10,10,255,0
  181. 9570 sysml+30,0,38,19,19,255,8:sysml+30,36,36,7,9,255,8
  182. 9573 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9530
  183. 9576 sysml+30,0,38,19,19,255,0:sysml+30,36,36,7,9,255,0
  184. 9580 sysml+24,60:goto9520
  185. 9600 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9604
  186. 9602 return
  187. 9604 sysml+30,29,38,0,0,255,8:sysml+30,19,20,19,19,255,8
  188. 9606 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  189. 9608 sysml+30,29,38,0,0,255,0:sysml+30,19,20,19,19,255,15
  190. 9610 sysml+30,23,38,5,5,255,8:sysml+12,1,1,"[129][180][180][144]"
  191. 9612 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  192. 9614 sysml+30,23,38,5,5,255,0:sysml+12,1,1,"[172] [144]"
  193. 9616 sysml+30,36,38,8,8,255,8:sysml+30,3,4,4,4,255,8
  194. 9618 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  195. 9620 sysml+30,36,38,8,8,255,0:sysml+30,3,4,4,4,255,0
  196. 9622 sysml+30,29,39,12,12,255,8:sysml+12,17,17,"[129][165][166][144]"
  197. 9624 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  198. 9625 sysml+12,17,17,"[172] [129][165][166][144]":sysml+24,20:sysml+9:ifcr%=1then9602
  199. 9626 sysml+12,19,17,"[172] ":sysml+12,17,19,"[129][165][166][144]"
  200. 9627 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  201. 9628 sysml+12,17,17,"[155][165][166][136][136][172] [144]":sysml+30,29,39,12,12,255,0
  202. 9630 sysml+30,23,31,18,18,255,8:sysml+30,15,16,15,15,255,8
  203. 9632 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9602
  204. 9634 sysml+30,23,31,18,18,255,0:sysml+30,15,16,15,15,255,15
  205. 9636 sysml+24,60:goto9600
  206. 9700 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  207. 9705 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  208. 9710 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9720
  209. 9715 return
  210. 9720 sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9745
  211. 9722 sysml+30,8,11,6,9,0,17:sysml+24,60:sysml+9:ifcr%=1then9745
  212. 9725 sysml+12,9,7,"[155][163][164][144]":sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9745
  213. 9730 sysml+12,9,7,"[172] [136][144][161][162]":sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9745
  214. 9735 sysml+12,9,7,"[155][163][164][144]":sysml+24,60:sysml+9:sysml+60,b$:ifcr%=1ori%=1then9745
  215. 9740 sysml+12,8,6,"    [136] [172] [172][136]    [136] [172] [172][144]":goto9720
  216. 9745 sysml+12,8,6,"    [136] [172] [172][136]    [136] [172] [172][144]":goto9715
  217. 9800 sysml+30,3,36,22,24,32,17:sysml+18,4,35,23,23:sysml+21,33,23
  218. 9810 sysml+12,8,23,"[195]lick [200]ere for [206]ext [208]age":sysml+15,1,4,35,23,23
  219. 9820 sysml+9:sysml+60,b$:ifcr%<>1andi%<>1then9820
  220. 9830 return
  221. 9900 print"[147]":sysml+3:poke53269,0
  222. 9910 sysml+27,15,"[204]oading [205]ain [208]rogram":sysml+12,12,9,t$
  223. 9920 print"load";chr$(34);"0:b.convoy";chr$(34);","dv
  224. 9930 print"run":poke631,13:poke632,13:poke198,2:end
  225. 10000 d=peek(186):n$="0:b.convoy inst":open15,d,15,"s"+n$:close15:saven$,d:end
  226.