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