home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1988 October / Ahoy_Magazine_88-10_1988_Double_L.d64 / Capture (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  6KB  |  152 lines

  1. 10 poke52,56:poke56,56:clr:goto590
  2. 20 gosub370:gosub440:pokes+5,4:pokes+1,3
  3. 30 forp=.tonp:sysjy,p:ifpeek(js)>.thend(p)=peek(js)
  4. 40 pokep(p),ts+p:x(p)=x(p)+vx(d(p)):y(p)=y(p)+vy(d(p))
  5. 50 p(p)=ad+x(p)+y(p)*c:ifpeek(p(p))<>ttthen90
  6. 60 pokep(p),tf+d(p):next
  7. 70 sysbm,x(.)-n9,y(.)-n9,.:ifnpthensysbm,x(n1)-n9,y(n1)-n9,n1
  8. 80 goto30
  9. 90 k=peek(p(p)):pokep(p),tf+d(p):sysbm,x(.)-n9,y(.)-n9,.
  10. 100 ifnpthensysbm,x(n1)-n9,y(n1)-n9,1
  11. 110 ifk=29then190
  12. 120 pokes+5,11:pokes+1,6:pokes+4,128:pokes+4,129
  13. 130 fori=1to10:poke55665+p*21,0:forj=1to100:next
  14. 140 poke55665+p*21,1:forj=1to100:next:next:pokep(p),k:syscb
  15. 150 ifpthens(0)=s(0)+100*l:goto170
  16. 160 ifnpthens(1)=s(1)+100*l
  17. 170 l(p)=l(p)-1:ifl(p)<1then280
  18. 180 gosub510:forj=1to1000:next:goto20
  19. 190 pokes+5,4:pokes+1,3:pokes+4,128:pokes+4,129
  20. 200 s(p)=s(p)+5*l:ob=ob-n1:gosub510:ifob=.then220
  21. 210 goto70
  22. 220 j=c:x=8:y=4:w=24:h=5:c=2:gosub570
  23. 230 syspl,11,5,2:print"bonus for player"p+1;
  24. 240 b=fnr(25*l)+25:s(p)=s(p)+b
  25. 250 syspl,11,7,10:print">>> "mid$(str$(b),2,3)" points >>>":gosub510
  26. 260 x=10:y=11:w=21:h=3:c=4:gosub570:l=l+1:ifl>8thenl=1
  27. 270 syspl,11,12,4:print"prepare for level"l:goto960
  28. 280 ifs(0)>hsthenhs=s(0)
  29. 290 ifs(1)>hsthenhs=s(1)
  30. 300 x=12:y=7:w=17:h=7:c=11:gosub570
  31. 310 fori=8to10:syspl,15,i,12:print"           ":next:gosub440
  32. 320 syspl,15,9,12:print" game over ":a$=str$(hs)
  33. 330 syspl,14,12,12:print" high: "right$("0000"+right$(a$,len(a$)-1),5)" "
  34. 340 pokes+6,250:pokes+4,17
  35. 350 fori=5to1step-1:forj=i*5toi*2step-1:pokes+1,j:fork=1to20:nextk,j,i
  36. 360 pokes+4,16:fori=1to4000:next:goto700
  37. 370 p(0)=ad+15+15*c:x(0)=15:y(0)=15:p(1)=ad+c-15+(r-5)*c:x(1)=c-25:y(1)=r-5
  38. 380 d(0)=4:d(1)=3
  39. 390 ifpeek(p(0))=29thenp(0)=p(0)+2:x(1)=x(1)+2:goto390
  40. 400 ifpeek(p(1))=29thenp(1)=p(1)-2:x(1)=x(1)-2:goto390
  41. 410 return
  42. 420 forp=.tonp
  43. 430 fori=y(p)-5toy(p)+5:forj=x(p)-5tox(p)+5:pokead+j+i*c,32:nextj,i,p:return
  44. 440 fori=0to23:pokes+i,0:next:pokes+24,15:return
  45. 450 gosub440:pokes+1,fnr(40)+100:pokes+15,30:pokes+5,9
  46. 460 pokes+4,20:pokes+4,21:return
  47. 470 gosub440:pokes+12,13:pokes+13,0:pokes+5,9:pokes+6,220
  48. 480 pokes+11,21:fori=1to255step2:pokes+1,i:pokes+8,fnr(256):next
  49. 490 pokes+11,0:gosub440:return
  50. 500 pokes+5,4
  51. 510 a$=str$(s(0)):syspl,1,22,11:printright$("0000"+right$(a$,len(a$)-1),5);
  52. 520 a$=str$(s(1)):printspc(16)right$("0000"+right$(a$,len(a$)-1),5);
  53. 530 syspl,13,22,1:printleft$("###",l(0))" "
  54. 540 syspl,34,22,1:printleft$("###",l(1))" "
  55. 550 syspl,0,24,7:printleft$(sp$,ob+1)" ";
  56. 560 return
  57. 570 fori=0toh-1:syspl,x,y+i,c:print""left$(s$,w);:ifi>0thenprint"[146] "
  58. 580 next:syspl,x+1,y+i,c:print"[146]"left$(s$,w):return
  59. 590 poke53280,0:poke53281,0:print"[147]"chr$(142)chr$(8)"";
  60. 600 printtab(15)"working...":deffnr(x)=int(rnd(1)*x)
  61. 610 cb=49152:cm=49205:si=49535:bm=49333:pl=49591:wd=49476:jy=49494:js=49617
  62. 620 ad=16384:n9=9:tf=34:tt=32:ts=27:s=54272:n1=1
  63. 630 pokes+1,130:pokes+5,9:pokes+15,30
  64. 640 poke56334,0:poke1,51:poke781,9:poke782,0:poke90,0:poke91,216:poke88,0
  65. 650 poke89,64:sys41964:poke1,55:poke56334,1:poke54272,216:poke53272,30
  66. 660 readi:ifi>0theni=14336+i*8:forj=itoi+7:readk:pokej,k:next:goto660
  67. 670 fori=1to4:readvx(i),vy(i):next
  68. 680 fori=49152to49617:readj:pokei,j:next
  69. 690 sp$=" ":fori=1to40:p$=p$+"_":s$=s$+" ":sp$=sp$+"]":next:syssi
  70. 700 print"[147]";:fori=0to23:syspl,0,i,9:printp$;:next:printleft$(p$,39)"[157][148]_";
  71. 710 x=12:y=1:w=15:h=2:c=2:gosub570
  72. 720 syspl,17,1,2:print"ahoy!";:syspl,15,2,2:print"presents:"
  73. 730 x=5:y=6:w=30:h=5:c=5:gosub570
  74. 740 syspl,5,6,7:print"[175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]"
  75. 750 syspl,5,7,9:print"_ [213][192][201] [213][192][201] [178][192][201][176][178][174][174] [176] [178][192][201] [178][192][174]  [146] "
  76. 760 syspl,5,8,9:print"_ [194]   [171][192][179] [194][192][203] [194] [194] [194] [194][178][203] [171][192]   [146] "
  77. 770 syspl,5,9,9:print"_ [202][192][203] [189] [173] [177]   [177] [202][192][189] [189][202][192] [177][192][189]  [146] "
  78. 780 syspl,5,10,7:print"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
  79. 790 x=7:y=14:w=26:h=2:c=8:gosub570
  80. 800 syspl,15,14,8:print"a game of";
  81. 810 syspl,8,15,8:print"survival of the quickest"
  82. 820 x=12:y=18:w=16:h=2:c=6:gosub570
  83. 830 syspl,15,18,6:print"written by";:syspl,14,19,6:print"michael hoyt"
  84. 840 x=4:y=22:w=32:h=1:c=4:gosub570
  85. 850 poke198,0:syspl,6,22,4:print"number of players  1 or 2  ?"
  86. 860 geta$:np=val(a$)-1:ifnp<0ornp>1then860
  87. 870 gosub450:syspl,4,22,12:print"  enter 1 to 3 for maze width   "
  88. 880 geta$:w=val(a$):ifw<1orw>3then880
  89. 890 gosub450:syspl,4,22,14:print"  enter 1 to 4 for maze height  "
  90. 900 geta$:h=val(a$):ifh<1orh>4then900
  91. 910 gosub450:syspl,4,22,2:print"  enter starting level  1 to 8  "
  92. 920 geta$:l=val(a$):ifl<1orl>8then920
  93. 930 gosub450:fori=0to1:s(i)=0:l(i)=3:next
  94. 940 sz=w*h:c=w*40+20:r=h*25+10:j=c
  95. 950 x=4:y=13:w=32:h=10:c=6:gosub570:syspl,13,17,6:print"creating maze..."
  96. 960 gosub470:c=j:syscm,c-20,r:fori=1to12+2*sz+l
  97. 970 a=ad+fnr(c-20)+10+(fnr(r-10)+10)*c:k=fnr(2)
  98. 980 forj=0tofnr(10)+sz/2:ifkthen1010
  99. 990 ifpeek(a+j*c)<>31thenpokea+j*c,30:goto1030
  100. 1000 goto1020
  101. 1010 ifpeek(a+j)<>31thenpokea+j,30:goto1030
  102. 1020 j=99
  103. 1030 nextj,i:gosub370:gosub420:print"[147]":ob=3+l*3:fori=1toob
  104. 1040 xy=16384+fnr(c-30)+10+(fnr(r-10)+10)*c:ifpeek(xy)=29orpeek(xy)=30then1040
  105. 1050 pokexy,29:next:fori=0to1:syspl,i*21,19,14:print"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][154][174]"
  106. 1060 forj=20to22:syspl,i*21,j,6:print"[194]"spc(17)"[194]";:next
  107. 1070 syspl,i*21,23,14:print"[173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][154][189][157][148][192]";:next
  108. 1080 fori=0to23:syspl,19,i,6:print"[181][182][146]";:next
  109. 1090 syspl,5,20,12:print"player 1"spc(13)"player 2"
  110. 1100 syspl,1,21,11:print"score:"spc(15)"score:"
  111. 1110 syspl,12,21,11:print"lives:"spc(15)"lives:"
  112. 1120 syspl,33,24,14:print"lvl: [158]"mid$(str$(l),2,1);
  113. 1130 gosub510:goto20
  114. 1140 data27,255,255,255,255,255,255,255,255
  115. 1150 data28,255,255,255,255,255,255,255,255
  116. 1160 data29,0,60,78,223,255,255,126,60
  117. 1170 data30,255,129,129,129,129,129,129,255
  118. 1180 data31,196,200,49,50,76,140,19,35
  119. 1190 data35,0,0,0,24,60,126,255,0
  120. 1200 data36,0,255,126,60,24,0,0,0
  121. 1210 data37,0,12,60,252,252,60,12,0
  122. 1220 data38,0,48,60,63,63,60,48,0,-1
  123. 1230 data0,-1,0,1,-1,0,1,0
  124. 1240 data169,,141,21,192,141,36,192,169,64,141,22,192,141,37,192,160
  125. 1250 data,162,64,185,255,255,201,29,144,6,201,33,176,2,208,5,169
  126. 1260 data32,153,255,255,200,208,235,238,22,192,238,37,192,202,224,255,208
  127. 1270 data224,96,169,,141,70,192,169,64,141,71,192,169,31,160,,162
  128. 1280 data64,153,255,255,200,208,250,238,71,192,202,224,255,208,242,32,170
  129. 1290 data192,56,233,10,141,207,193,24,105,30,141,68,193,32,170,192,56
  130. 1300 data233,10,141,208,193,169,10,133,249,169,64,133,250,160,10,24,165
  131. 1310 data249,109,68,193,133,249,144,2,230,250,136,208,241,173,208,193,141
  132. 1320 data71,193,173,207,193,168,169,32,145,249,136,16,251,24,165,249,109
  133. 1330 data68,193,133,249,144,2,230,250,206,71,193,173,71,193,16,225,96
  134. 1340 data32,253,174,32,138,173,32,247,183,152,96,32,170,192,141,69,193
  135. 1350 data32,170,192,141,70,193,32,170,192,72,169,,133,249,169,64,133
  136. 1360 data250,172,70,193,240,15,24,165,249,109,68,193,133,249,144,2,230
  137. 1370 data250,136,208,241,173,69,193,24,101,249,133,249,169,,101,250,133
  138. 1380 data250,104,170,189,72,193,133,251,169,4,133,252,189,72,193,133,253
  139. 1390 data169,216,133,254,169,18,141,71,193,160,18,177,249,145,251,56,233
  140. 1400 data27,170,189,74,193,145,253,136,16,240,24,165,249,109,68,193,133
  141. 1410 data249,169,,101,250,133,250,24,165,251,105,40,133,251,144,2,230
  142. 1420 data252,24,165,253,105,40,133,253,144,2,230,254,206,71,193,16,197
  143. 1430 data96,100,,,,,21,5,6,7,8,2,,,,1,1
  144. 1440 data1,1,32,170,192,208,5,173,1,220,208,3,173,,220,41,15
  145. 1450 data73,15,170,189,111,193,141,209,193,96,,1,2,,3,,
  146. 1460 data,4,,,,,,,,120,169,145,141,20,3,169,193
  147. 1470 data141,21,3,169,6,141,206,193,88,96,206,206,193,240,3,76,49
  148. 1480 data234,169,6,141,206,193,173,248,56,72,162,1,189,248,56,202,157
  149. 1490 data248,56,232,232,224,8,208,243,104,141,255,56,208,223,32,170,192
  150. 1500 data72,32,170,192,72,32,170,192,141,134,2,104,170,104,168,24,32
  151. 1510 data240,255,96,,,,
  152.