home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1994 October
/
1994-10b.d64
/
basketball
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
7KB
|
175 lines
0 poke53269,0:poke53280,4:poke53281,1:poke646,15:x=rnd(-ti):poke198,0
1 print"[147]"spc(15);"one on one"
2 print"[154]"tab(16)"backyard"
3 printtab(8)"[153][172][146][191][172][162][146][187][191][146][191][161][146][172][190][172][162][146][188][187][162][161][162][146][187][191][146][191][161][146][161]"
4 printtab(8)"[188][191][161][146][162][161][188][187][161][146][161][188][146][162][161][161][146][162][190][188][190][161][146][161]"
5 printtab(8)"[188][191][161][146][161][191][191][161][146][188][187][188][146][162][161][161][146][162][190][161][161][161][146][162][187][188][146][162]"
6 print""tab(12)"[144]by: david garner"
7 print""tab(10)"[159]press any key to play"
8 geta$:ifa$=""then8
10 poke53265,peek(53265)and239:poke53280,14:poke53281,13:print"[147]";
20 d$="[159] [157][148] ":printd$d$d$d$d$d$
30 a$=" [157][157][157][157][157][157]":b$="[161][146][161][157][157]"
40 print""a$a$a$"[150]"b$b$b$b$
50 a$=" ":print"[155]";
60 fori=1to10:printa$;:next
70 printspc(26)"[145][182][145][157][182][146][145][157][161][145][157][161][145][157][181][145][157][181][145][157][165][145][157][165][145]"spc(12);"[167][157][167][157][182][157][182][157][161][157][161][157][181][157][181][157]"
71 a$=" [157][157][157] [157][157][157][157] [157][157][157][157][157] [157][157][157][157][157][157] [157][157][157][157] [157][157] "
73 print""tab(4)a$""tab(10)a$
74 uc=29:uk=4:print"";:fori=1to4
75 printtab(uc)"[129] ";:forq=1touk
76 print" ";:next:uc=uc-1:uk=uk+2
77 print"[129] [146]":next
78 fori=1to6:printtab(uc+1)"[163][163][163][163][163][163][163][163][163][163][163][163][146]":next
79 print""
80 print"":fori=1to6:printtab(39)chr$(20)"[164][157][148][164]":next
82 print""tab(31)"[150] ":printtab(31)" .":printtab(31)" "
83 printtab(31)" "
110 print"[156]one"spc(32)"two"
120 poke52,62:poke56,62:clr:fori=15872to15999:readj:pokei,j:next
130 poke53269,17:poke2040,248:poke53287,2:poke53248,176
140 poke53249,102
150 data 219,219,0,181,173,0,74,82,0,74,82,0,53,172,0,53,172,0,26,88,0
160 data 21,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
170 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
180 data 12,0,0,63,0,0,127,128,0,127,128,0,127,128,0,63,0,0,30,0,0
190 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
200 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
210 poke2044,249:poke53291,8:poke53256,178:poke53257,204
220 data 0,40,0,0,170,0,0,170,0,0,170,0,2,170,128,0,170,0,0,40,0
230 data 21,85,84,85,85,85,81,85,69,161,85,74,1,85,64,1,85,64,1,85,64
240 data 3,255,192,15,255,240,15,195,240,10,0,160,10,0,160,10,0,160,10,0,160,0
250 data 0,40,0,0,170,0,0,170,0,0,170,0,2,170,128,0,170,0,0,40,0,21,85,80
260 data 85,85,84,81,85,20,161,85,20,1,85,0,1,85,0,1,85,0,3,255,0
270 data 3,207,0,3,207,0,2,138,0,2,138,0,2,138,0,2,138,0,0
280 fori=16000to16255:readj:pokei,j:next
303 data 0,40,0,0,170,0,0,170,0,2,170,128,0,170,40,0,40,20,21,85,84
306 data 85,85,84,81,85,80,161,85,0,1,85,0,1,85,0,1,85,0,3,255,0
309 data 3,255,0,3,207,0,3,207,0,2,138,0,2,138,0,2,138,0,2,138,0,0
312 data 0,40,0,0,170,0,0,170,0,2,170,128,20,170,24,20,170,24,21,40,84
315 data 21,85,84,5,85,80,1,85,0,1,85,0,1,85,0,1,85,0,3,255,0
318 data 3,255,0,3,207,0,2,138,0,2,138,0,2,138,0,2,138,0,2,138,0,0
320 poke53285,2:poke53286,1
330 poke2042,250:poke53289,10:poke2043,251:poke53290,9:t=250:u=251
340 poke53276,12:poke53269,29
350 poke53252,174:poke53253,194:poke53254,174:poke53255,162:cx=174:cy=194
360 poke53275,0:p1=0:p2=0:bp=1:qx=174:qy=162
364 poke53265,peek(53265)+16
365 rem start main routine
370 print"[144]"p1tab(36)p2
380 ifp1=9thenprint"[152]player one wins";:fori=1to2500:next:run
390 ifp2=9thenprint"[152]player two wins";:fori=1to2500:next:run
400 j1=peek(56320):j2=peek(56321)
410 x1=((j1and4)-4)/4-((j1and8)-8)/8:y1=((j1and1)-1)-((j1and2)-2)/2
420 m1=-((j1and16)-16)/16:x1=x1*8:y1=y1*9
430 x2=((j2and4)-4)/4-((j2and8)-8)/8:y2=((j2and1)-1)-((j2and2)-2)/2
440 m2=-((j2and16)-16)/16:x2=x2*8:y2=y2*9
460 ifx1=0then480
470 if(cx+x1>79)and(cx+x1<263)thencx=cx+x1:t=t+((nott)and1)*2-1:poke2042,t:xz=1
473 if(cy+y1>122)and(cy+y1<198)andy1thency=cy+y1:xz=1
475 goto499
480 ify1=0then499
490 if(cy+y1>122)and(cy+y1<198)thency=cy+y1:t=t+((nott)and1)*2-1:poke2042,t:xz=1
499 ifxz=1andbp=1theng=1:xz=0
500 poke53252,cxand255:poke53253,cy
501 ifcx<256thenpoke53264,peek(53264)and251
502 ifcx>255thenpoke53264,peek(53264)or4
510 ifabs(cy-qy)<20andabs(cx-qx)<22thency=cy-y1:cx=cx-x1:x1=0:y1=0:goto500
520 if(bp=1)and(g=1)thenpoke53256,(cx+15and255):poke53257,cy+13
521 if(bp=1)and(g=1)and(cx+15<256)thenpoke53264,peek(53264)and239
522 if(bp=1)and(g=1)and(cx+15>255)thenpoke53264,peek(53264)or16
523 if(bp=2)thenpoke53256,(qx+15)and255:poke53257,qy+10
524 if(bp=2)and(qx+15<256)thenpoke53264,peek(53264)and239:g=0
525 if(bp=2)and(qx+15>255)thenpoke53264,peek(53264)or16:g=0
540 ifx2=0then560
550 if(qx+x2>79)and(qx+x2<263)thenqx=qx+x2:u=u+((notu)and1)*2-1:poke2043,u:ze=1
553 if(qy+y2>122)and(qy+y2<198)andy2thenqy=qy+y2:ze=1
555 goto579
560 ify2=0then579
570 if(qy+y2>122)and(qy+y2<198)thenqy=qy+y2:u=u+((notu)and1)*2-1:poke2043,u:ze=1
579 ifze=1andbp=2theng=2:ze=0
580 poke53254,(qxand255):poke53255,qy
581 ifqx<256thenpoke53264,peek(53264)and247
582 ifqx>255thenpoke53264,peek(53264)or8
590 ifabs(qy-cy)<20andabs(qx-cx)<22thenqy=qy-y2:qx=qx-x2:x2=0:y2=0:goto580
600 if(bp=1)thenpoke53256,(cx+15)and255:poke53257,cy+10
601 if(bp=1)and(cx+15<256)thenpoke53264,peek(53264)and239:g=0
602 if(bp=1)and(cx+15>255)thenpoke53264,peek(53264)or16:g=0
603 if(bp=2)and(g=2)thenpoke53256,(qx+15and255):poke53257,qy+13
604 if(bp=2)and(g=2)and(qx+15<256)thenpoke53264,peek(53264)and239
605 if(bp=2)and(g=2)and(qx+15>255)thenpoke53264,peek(53264)or16
606 ifm1=1then650
607 ifm2=1then700
610 goto370
650 ifbp=1then740
660 ifcx-qx>0andcx-qx<25andcy-qy>-9andcy-qy<9thenbp=1:poke53256,(cx+15)and255
670 ifbp=1andcx>255thenpoke53264,peek(53264)or16
680 goto607
700 ifbp=2then1000
710 ifqx-cx>0andqx-cx<25andqy-cy>-9andqy-cy<9thenbp=2:poke53256,(qx+15)and255
720 ifbp=2andqx>255thenpoke53264,peek(53264)or16
730 goto610
740 poke53257,cy:poke2042,252
750 fori=1to3:poke53253,peek(53253)-1:poke53257,peek(53257)-1
760 forq=1to3:if(peek(56320)and16)<>0thensm=5:poke53253,peek(53253)+i:goto890
770 next:if(peek(56321)and16)=0thenba=2:poke2043,253:poke53255,peek(53255)-4
780 if(peek(56321)and16)=0thenrw=rw+1
790 next
800 poke53257,cy:poke2042,252
810 if(peek(56320)and16)<>0thensm=0:goto850
814 sm=5:poke53253,peek(53253)+4:goto890
820 if(peek(56321)and16)=0thenba=2:poke2043,253:poke53255,peek(53255)-3
830 if(peek(56321)and16)=0thenrw=rw+1
850 poke53253,peek(53253)+4:ex=179:ey=106
860 ifrw>3thenba=0:goto871
870 if(ba=2)and(abs(cx-qx)<16)and(abs(cy-qy-12)/2<9)thensd=1
871 rw=0:ifsd=1thenex=qx:ey=qy:tp=0:sd=0:goto895
885 wf=1:ifsm=0thenp1=p1+1:ft=1
890 ifsm=5thenex=189:ey=120
895 au=int((cx+cy)/70)
897 bx=peek(53256)+16*(peek(53264)and16):mx=(ex-bx)/au
900 by=peek(53257):my=(ey-by)/au-5
905 bp=2:forj=1toau:by=by+my:my=my+(10/au):poke53257,by
910 bx=bx+mx:poke53256,bxand255:poke53257,peek(53257)and239-16*(bx>255)
913 ifbx<255thenpoke53264,peek(53264)and239
915 next
920 ifft=1thengosub1500
930 fori=1to4:poke53257,peek(53257)+1:next
935 ifwf=1orsm=5thenqx=174:qy=194:cx=174:cy=162:wf=0
940 gosub1504:ba=0:sm=0:poke2042,251:poke2043,250:m1=0:m2=0:goto520
1000 poke53257,qy:poke2043,252
1010 fori=1to3:poke53255,peek(53255)-1:poke53257,peek(53257)-1
1020 forq=1to3:if(peek(56321)and16)<>0thensm=5:poke53255,peek(53255)+i:goto1160
1030 next:if(peek(56320)and16)=0thenba=1:poke2042,253:poke53253,peek(53253)-3
1040 if(peek(56320)and16)=0thenrw=rw+1
1050 next
1060 poke53255,peek(53255)-1:poke53257,peek(53257)-1:qa=0
1070 if(peek(56321)and16)<>0thensm=0:goto1120
1077 sm=5:poke53255,peek(53255)+4:goto1160
1120 poke53255,peek(53255)+4:ex=179:ey=106
1130 ifrw>3thenba=0:goto1141
1140 if(ba=1)and(abs(qx-cx)<16)and(abs(qy-cy-12)/2<9)thensd=1
1141 rw=0:ifsd=1thenex=cx:ey=cy:tp=0:sd=0:goto1165
1155 wf=1:ifsm=0thenp2=p2+