home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1993 July / 1993-07.d64 / mergee (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  8KB  |  207 lines

  1. 60 rem copyright 1993 - compute publications - all rights reserved
  2. 70 rem by  robert quinn
  3. 80 rem waga waga, nsw, australia
  4. 90 gosub2000
  5. 100 zz=k0:dz=dx:dx=k0:pokepp+vn,k1
  6. 110 getb$:js=peek(56320):jr=peek(56321)
  7. 120 ifjs>118thenifjs<127thendx=pt(js-119)
  8. 130 ifjr>246thenifjr<255thendx=pt(jr-247)
  9. 140 pokepp+vm,k0:ifb$>"c"thenifb$<"m"thendx=114
  10. 150 ifb$=" "thendx=113:js=127:jr=255
  11. 160 ifb$=","thendx=107
  12. 170 ifb$="."thendx=115
  13. 180 ifjs=111orjr=239orb$=chr$(13)theniflp(k0)>n8thendx=dz:zz=k1
  14. 190 ifdx>0thengosub1000:goto100
  15. 200 ifb$=chr$(136)thenzx=zx+k1+(zx=k5)*16:poken4,zx
  16. 210 pokepp+vm,dp:ifb$=chr$(135)thenzw=zw+k1+(zw=k5)*16:poke53281,zw
  17. 220 ifb$=chr$(134)thenzy=zy+k1+(zy=k5)*16:poke829,zy:sys828:gosub2310
  18. 230 ifb$=chr$(131)thensys64738
  19. 240 goto110
  20. 250 :
  21. 1000 rw=dp:dp=ex(115-dx)
  22. 1010 ifzz=k1thenpx=pp:forr=k1tolp(k0)-n8:gosub1410:next:goto1040
  23. 1020 px=pp:gosub1410:ifpx=pqthendx=dz:dp=rw:return
  24. 1030 :
  25. 1040 pq=pp:qq=qp:kq=kp:wx=qx:pp=px:kp=k7:ifwx<n8orwx=n9then1230
  26. 1050 :
  27. 1060 px=pp:gosub1410:r=int(rnd(k1)*k3):qp=r*r*n2:ifqx>n2andqx<n9then1140
  28. 1070 rx=k1+(qx=n9)-sgn(qx):wx=wx-rx:wx=wx-(wx<n8)*n0+(wx=n5)*n0
  29. 1080 lp(k1)=lp(k1)-rx:lp(k1)=lp(k1)-(lp(k1)<n8)*n0+(lp(k1)=n5)*n0
  30. 1090 ifrx<>k0thenrx=k1:gosub1350
  31. 1100 pokepx+vn,k1:pokepx+vm,wx:wx=qp:qp=-(qp=k0)*n9-(qp=n2)*k0-(qp=n9)*n2
  32. 1110 ifqx=n2then1290
  33. 1120 goto1270
  34. 1130 :
  35. 1140 ifwx<>qxthenqp=wx:kp=k1:goto1290
  36. 1150 r=wx:wx=qp:gosub1290:wx=r:rm=wx-n8:wx=qx
  37. 1160 forr=k0torm-sgn(rm):wx=wx+sgn(rm):ifwx>57thenwx=wx-n0
  38. 1170 pokepx+vm,wx+n9:forry=1to155:next:next
  39. 1180 forr=1to19:pokepx+vm,wx+n9:forry=1to45:next:pokepx+vm,wx:next
  40. 1190 iflp(k0)=qxthenpokepx+vn,k1:pokepx+vm,86:forr=1to444:next:pokepx+vm,n2
  41. 1200 wx=qp:qp=-(qp=k0)*n9-(qp=n2)*k0-(qp=n9)*n2
  42. 1210 bp=bp-k1+(lp(k0)=qx):gosub2370:goto1300
  43. 1220 :
  44. 1230 qp=wx:ifqp=n2thenqp=k0:goto1290
  45. 1240 ifqp=k0thenqp=n9:lp(k0)=lp(k0)-k1-(lp(k0)=n8)*n0:goto1260
  46. 1250 qp=n2:lp(k0)=lp(k0)+k1+(lp(k0)=57)*n0
  47. 1260 rx=k0:gosub1350
  48. 1270 iflp(k0)=lp(k1)thenifqq<n8orqq=n9thenqq=lp(k0):kq=k1:zz=k3
  49. 1280 :
  50. 1290 pokepq+vn,kq:pokepq+vm,qq
  51. 1300 pokepp+vn,k1:pokepp+vm,dp:ifwx=n2thenpokep8+vm,q6:pokep8+vn,k4
  52. 1310 pokep8+vm,wx:pokep8+vn,k7+(wx>n2andwx<n9)*k6
  53. 1320 ifzz=k3thenbp=bp+k1:gosub2370
  54. 1330 return
  55. 1340 :
  56. 1350 ry=abs(lp(k0)-lp(k1)):ifry=k1orry=k9thenry=peek(n4)
  57. 1360 pokevc+39+rx,zy:ifry>k9thenpoken4,k1
  58. 1370 forr=1to9:next:pokevp+rx,n3-lp(rx)+n8:pokevc+39+rx,k1
  59. 1380 ifry>k9thenpoken4,k0:forr=1to9:next:poken4,ry
  60. 1390 return
  61. 1400 :
  62. 1410 ifdx=pt(k3)thenpx=px-p1:ifpx<0thenpx=px+p2
  63. 1420 ifdx=113thenpx=px+p1:ifpx>=p2thenpx=px-p2
  64. 1430 ifdx=107thenpx=px-k1:if(px+k1)/p1=int((px+k1)/p1)thenpx=px+p1
  65. 1440 ifdx=pt(k0)thenpx=px+k1:ifpx/p1=int(px/p1)thenpx=px-p1
  66. 1450 qx=peek(px+vm):return
  67. 1460 :
  68. 2000 poke53269,0:r=51248:forr=49152to49201:readrx:poker,rx:next:sys49152
  69. 2010 poke56578,peek(56578)or3:poke56576,(peek(56576)and252)or0
  70. 2020 poke53272,25:poke648,196:forr=57864tor+7:poker,255:next
  71. 2030 forr=57346tor+5:poker,66:next:poke57344,0:poke57351,0:poke57345,126
  72. 2040 poke57350,126:forr=58369tor+5:poker,126:next:poke58368,0:poke58375,0
  73. 2050 forr=57624tor+31:readrx:poker,rx:next
  74. 2060 forr=828to878:readrx:poker,rx:next
  75. 2070 poke650,128:poke53281,11:poke53280,14:printchr$(158);chr$(147)
  76. 2080 ifpeek(51203)=127andpeek(51204)=255andpeek(51205)=254then2130
  77. 2090 sys856,11,21:printchr$(158);"won't be long!";
  78. 2100 forr=51200tor+639:readrx:poker,rx:next:forr=51843to51899:poker,255:next
  79. 2110 forr=51840to51842:poker,k0:poker+60,k0:next
  80. 2120 :
  81. 2130 b$="":vm=50176:vn=55296:pp=500:pq=499:dx=115:p1=40:p2=760:p8=899:qp=0:qq=32
  82. 2140 kp=7:kq=7:wx=32:js=127:jr=js:vp=51192:px=0:qx=0:zz=0:k9=9:n3=41:dp=38
  83. 2150 dz=0:rw=0:ry=144:q6=65:k8=8:k5=15:k0=0:n5=58:n4=53280:n8=48:zw=11:bp=39
  84. 2160 n9=128:rm=2:vc=53248:k1=1:k3=3:k7=7:k4=11:n0=10:n2=32:k6=6:zx=14:zy=8
  85. 2170 pt(0)=115:pt(2)=107:pt(3)=114:pt(4)=107:pt(5)=115:pt(6)=113:pt(7)=114
  86. 2180 ex(0)=38:ex(8)=37:ex(1)=35:ex(2)=36
  87. 2190 dimlp(k1):lp(k0)=int(rnd(k1)*n0)+n8:lp(k1)=int(rnd(k1)*n0)+n8
  88. 2200 :
  89. 2210 forr=k1to759:rx=int(rnd(k1)*k3):ifrx<rmthenpoker+vm,rx*n9
  90. 2220 next:pokepp+vn,k1:pokepp+vm,dp
  91. 2230 forr=k1tobp
  92. 2240 rx=int(rnd(k1)*720):ry=peek(rx+vm):ifry>n2andry<n9then2240
  93. 2250 pokerx+vn,k1:pokerx+vm,int(rnd(k1)*n0)+n8:next
  94. 2260 forr=vc+k1tor+8step2:poker,219:next:pokevc,145:pokevc+2,192
  95. 2270 pokevc+4,15:pokevc+6,33:pokevc+8,51:pokevc+16,28
  96. 2280 pokevp,n3-lp(k0)+n8:pokevp+k1,n3-lp(k1)+n8
  97. 2290 forr=39to43:pokevc+r,k1-(r>40)*5:next
  98. 2300 pokevc+27,k0:pokevc+23,k0:pokevc+29,k0:poke829,8:sys828:poke788,52
  99. 2310 forrx=0to160step40:forr=814to824:poker+vn+rx,k4
  100. 2320 ifrx=k0orrx=160orr=814orr=824thenpoker+vn+rx,k7
  101. 2330 next:next:sys856,13,19:printchr$(158)"plum"spc(4)"digit";
  102. 2340 sys856,30,20:printchr$(155)chr$(18)chr$(169)" tally "chr$(223);
  103. 2350 forr=21to23:sys856,30,r:printchr$(180)"       "chr$(170);:next
  104. 2360 sys856,30,24:printchr$(146)chr$(223)chr$(18)"       "chr$(146)chr$(169);
  105. 2370 pokevc+21,0:rx=int(bp/100):ry=rx:pokevp+2,n3-rx:ifrx=k0thenpokevp+2,42
  106. 2380 rm=bp-ry*100:rx=int(rm/n0):ry=rx:pokevp+k3,n3-rx:ifrx=k0thenpokevp+k3,42
  107. 2390 pokevp+4,n3-rm+ry*n0:ifbp=k0then2410
  108. 2400 pokevc+21,31:return
  109. 2410 rx=0:forr=0to334:rx=notrx:pokevc+21,abs(rx*28):poke53280,rand15:next
  110. 2420 poke829,15:sys828:sys856,13,20:printchr$(18)chr$(158);"game finished";
  111. 2430 sys856,15,22:print"new game?";:sys856,12,23:print"press space bar";
  112. 2440 getb$:ifb$=" "thenrun
  113. 2450 ifb$=chr$(131)then230
  114. 2460 goto2440
  115. 3000 :
  116. 3010 data206,14,220,165,1,41,251,133,1,169,208,133,32,169,224,133,34,169,0,133
  117. 3020 data31,133,33,168,162,16,177,31,145,33,200,208,249,230,32,230,34,202,208
  118. 3030 data242,165,1,9,4,133,1,238,14,220,96
  119. 3040 :
  120. 3050 data60,126,231,195,195,195,195,195,195,195,195,195,195,231,126,60
  121. 3060 data63,127,224,192,192,224,127,63,252,254,7,3,3,7,254,252
  122. 3070 data169,8,162,0,160,240,157,248,218,232,136,208,249,169,160,162,0,160,240
  123. 3080 data157,248,198,232,136,208,249,96,0
  124. 3090 data32,253,174,32,158,183,142,87,3,32,253,174,32,158,183,172,87,3,24
  125. 3100 data32,240,255,96
  126. 3110 :
  127. 3120 data0,0,0,127,255,254,127,255
  128. 3130 data254,127,131,254,127,1,254,126
  129. 3140 data56,254,126,124,254,126,124,254
  130. 3150 data126,56,254,127,0,254,127,128
  131. 3160 data254,127,241,254,127,225,254,127
  132. 3170 data195,254,127,135,254,127,15,254
  133. 3180 data126,31,254,124,63,254,127,255
  134. 3190 data254,127,255,254,0,0,0,153
  135. 3200 data0,0,0,127,255,254,127,255
  136. 3210 data254,127,0,254,126,0,126,126
  137. 3220 data126,126,126,126,126,126,126,126
  138. 3230 data126,126,126,127,0,254,127,0
  139. 3240 data254,126,126,126,126,126,126,126
  140. 3250 data126,126,126,126,126,126,126,126
  141. 3260 data126,0,126,127,0,254,127,255
  142. 3270 data254,127,255,254,0,0,0,102
  143. 3280 data0,0,0,127,255,254,127,255
  144. 3290 data254,126,0,126,126,0,126,127
  145. 3300 data254,126,127,254,126,127,252,254
  146. 3310 data127,249,254,127,243,254,127,231
  147. 3320 data254,127,207,254,127,207,254,127
  148. 3330 data207,254,127,207,254,127,207,254
  149. 3340 data127,207,254,127,207,254,127,255
  150. 3350 data254,127,255,254,0,0,0,153
  151. 3360 data0,0,0,127,255,254,127,255
  152. 3370 data254,127,252,126,127,248,254,127
  153. 3380 data241,254,127,227,254,127,199,254
  154. 3390 data127,143,254,127,31,254,126,063
  155. 3400 data254,126,112,254,124,224,126,124
  156. 3410 data254,126,124,254,126,124,124,254
  157. 3420 data126,0,254,127,3,254,127,255
  158. 3430 data254,127,255,254,0,0,0,153
  159. 3440 data0,0,0,127,255,254,127,255
  160. 3450 data254,126,0,126,126,0,126,126
  161. 3460 data127,254,126,127,254,126,127,254
  162. 3470 data126,127,254,126,1,254,126,0
  163. 3480 data254,127,252,126,127,254,126,127
  164. 3490 data254,126,127,254,126,126,124,126
  165. 3500 data126,0,254,127,129,254,127,255
  166. 3510 data254,127,255,254,0,0,0,153
  167. 3520 data0,0,0,127,255,254,127,255
  168. 3530 data254,127,254,254,127,252,254,127
  169. 3540 data248,254,127,240,254,127,228,254
  170. 3550 data127,204,254,127,156,254,127,60
  171. 3560 data254,126,124,254,124,0,62,120
  172. 3570 data0,62,127,252,254,127,252,254
  173. 3580 data127,252,254,127,252,254,127,255
  174. 3590 data254,127,255,254,0,0,0,102
  175. 3600 data0,0,0,127,255,254,127,195
  176. 3610 data254,127,129,254,127,60,254,127
  177. 3620 data124,254,127,252,254,127,252,254
  178. 3630 data127,249,254,127,195,254,127,195
  179. 3640 data254,127,249,254,127,252,254,127
  180. 3650 data252,254,127,252,254,127,124,254
  181. 3660 data127,60,254,127,129,254,127,195
  182. 3670 data254,127,255,254,0,0,0,102
  183. 3680 data0,0,0,127,255,254,127,129
  184. 3690 data254,127,0,254,126,60,126,126
  185. 3700 data126,126,126,126,126,127,254,126
  186. 371