home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1994 October / 1994-10b.d64 / basketball (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  7KB  |  175 lines

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