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