home *** CD-ROM | disk | FTP | other *** search
/ Run Magazine ReRun 1990 May & June & July / rerun-1990-05-06-07.d64 / bull's-eye (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  5KB  |  108 lines

  1. 10 rem---bullseye - t. brantner
  2. 20 poke53280,0:poke53281,0:printchr$(8)chr$(142)"[147]"
  3. 30 fora=832to1022:readz:pokea,z:next
  4. 40 fora=49152to49259:readz:pokea,z:next
  5. 50 dimse%(13,18),qt(3,14),sc(1)
  6. 60 fora=0to13:forz=0to18:readse%(a,z):next:next
  7. 70 fora=0to3:forz=0to3:readqt(a,z):qt(a,4+z)=qt(a,z)*2:qt(a,8+z)=qt(a,z)*3
  8. 80 next:qt(a,12)=25:qt(a,13)=50:next
  9. 90 tc=646:sp=2040:v=53248:s1=54272:j2=56320:a=rnd(-ti)
  10. 100 pokev+16,0:pokev+28,7:pokev+37,11:pokev+38,12
  11. 110 sc(0)=301:sc(1)=301
  12. 120 rem---main
  13. 130 pl=0:pokev+21,0:poke53265,11:gosub510:poke53265,27
  14. 140 dn=2:cs=sc(pl):pokev+1,0:pokev+3,0:pokev+5,0:pokev+21,7
  15. 150 cy=4:ifplthencx=3:gosub470:print"   ":printtab(cx)"   "
  16. 160 poketc,6+pl*7:cx=3+pl*31:gosub470:print"[161][194][187][157][157][157][188][194][162]"
  17. 170 gosub300:cy=13-dn:cx=3+pl*31:a=pv:gosub450:cs=cs-pv
  18. 180 cy=15:ifcs<0thencx=2+pl*31:gosub470:print"broke":goto220
  19. 190 cx=3+pl*31:a=cs:gosub450:ifcs=0then250
  20. 200 dn=dn-1:ifdn>-1then170
  21. 210 sc(pl)=cs
  22. 220 fora=1to1500:next:pl=pl+1:ifpl<2then140
  23. 230 goto130
  24. 240 rem---winner
  25. 250 cy=23:cx=11:gosub470:poketc,(peek(tc)and7)+1
  26. 260 print"winner: player "mid$("onetwo",1+pl*3,3)
  27. 270 printtab(8)"press fire to play again";:ifpeek(j2)and16then250
  28. 280 goto110
  29. 290 rem---move dart
  30. 300 pokesp+dn,13:pokev+39+dn,6+pl*7
  31. 310 poke2,173:poke3,141:poke4,rnd(1)*2:poke5,rnd(1)*2:poke6,dn
  32. 320 sys49152:xp=peek(2):yp=peek(3)
  33. 330 rem---throw
  34. 340 gosub490:pokes1+5,153:pokes1+4,16:pokes1+4,17
  35. 350 fora=0to23:pokesp+dn,13+a/11:pokev+1+dn*2,yp-a:pokes1+1,140-a
  36. 360 forz=1to10:next:next
  37. 370 gosub490:pokes1+5,3:pokes1+1,10:pokes1+4,16:pokes1+4,17:yp=yp-23
  38. 380 rem---score
  39. 390 pv=0:x%=(xp-98)/4:y%=(yp-85)/4
  40. 400 ifx%<0orx%>37ory%<0ory%>27thenreturn
  41. 410 a=0:ifx%>18thena=1:x%=37-x%
  42. 420 ify%>13thena=a+2:y%=27-y%
  43. 430 z=se%(y%,x%):pv=qt(a,z):return
  44. 440 rem---print number
  45. 450 gosub470:print""right$(" "+str$(a),3):return
  46. 460 rem---plot
  47. 470 poke214,cy-1:print:printtab(cx);:return
  48. 480 rem---clear sid
  49. 490 fora=s1tos1+23:pokea,0:next:pokes1+24,15:return
  50. 500 rem---board
  51. 510 print"[147]       [188] [146][208][165] [146] [161] [146]   [146] [203] [146][183]   [146][183] [167][146][170][161] [146][183]"
  52. 520 print"        [129] [146][183][161] [146] [161] [146]   [146]  [183][208][161][190] [146][183] [183][208][161] [146][183]"
  53. 530 print"       [158][188][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190][162][162][146][190] [162][162][146][190][162][162][146][190][162][162][146][190]"
  54. 540 print"       [155][182]          [175][175][175][175]          [146][181]"
  55. 550 print"       [182]      [172][162][146]   12   [155][162][187]      [146][181]"
  56. 560 print"       [182]    [172][146][190]1  [158][162][162][162][162][162][162]  8[155][188][187]    [146][181]"
  57. 570 print"       [182]   [146][190]   [153][162][162][146][187]    [172][153][162][146][162]   [155][188]   [146][181]"
  58. 580 print" [182][184][184][184][184][184][194]  [146][190]  [158][162][153][162][146][162] [188][146]    [190] [146][162][153][162][158][146][162]  [155][188]  [194][146][184][184][184][184][184][181]"
  59. 590 print" [182] one [155][194] [146][190]5 [158][190][146][190][162]  [162][158][146][172][162][162][187][162]  [162][158][146][188][188][146] 4[155][161] [194][146] two [155][181]"
  60. 600 print" [182][198][198][198][198][198][194][172][146]  [158][161][146][165]  [188][172][190][146][161]  [161][188][146][187][190]  [158][167][161]  [155] [194][146][198][198][198][198][198][181]"
  61. 610 print" [182]     [194][146][190]  [158][170][146]  [172][172][146] [187] [146]   [172][146] [158][187][146][187]  [180][146]  [155][161][194][146]     [181]"
  62. 620 print" [182]     [194][146]  [153][161][165] [188][146][172][162]  [188][190][188][190]  [162][187][190] [167][153][146][161]  [155][194][146]     [181]"
  63. 630 print" [182]     [194][146]11[153][161][165]  [161]   [146][161][161][146][161][161]   [146][161]  [167][153][146][161]9 [155][194][146]     [181]"
  64. 640 print" [182]     [194][146]  [153][161][165] [172][146][188][162][146]  [172][187][172][187]  [162][146][190][187] [167][153][146][161]  [155][194][146]     [181]"
  65. 650 print" [182][197][197][197][197][197][194][146][187]  [158][170][146]  [188][188][146] [190] [146]   [188][146] [158][190][146][190]  [180][146]  [155][172][194][146][197][197][197][197][197][181]"
  66. 660 print" [182]     [194][188][146]  [158][161][146][165]  [172][188][187][146][161]  [161][172][146][190][187]  [158][167][161]  [155][190][194][146]     [181]"
  67. 670 print" [182][185][185][185][185][185][194] [146][187]2 [158][187][146][187][162]  [146][162][158][188][162][162][146][190][162]  [146][162][158][172][172][146] 7[155][172] [194][146][185][185][185][185][185][181]"
  68. 680 print"       [182]  [146][187]  [158][162][153][146][162][162] [172][146]    [187] [162][153][146][162][158][162][146]  [155][172]  [146][181]"
  69. 690 print"       [182]   [146][187]   [153][162][146][162][190]    [188][153][162][162][146]   [155][172]   [146][181]"
  70. 700 print"       [182]    [188][146][187]6  [158][162][162][162][162][162][162][146]  3[155][172][190]    [146][181]"
  71. 710 print"       [182]      [188][146][162]   10   [155][162][190]      [146][181]"
  72. 720 print"       [182]          [183][183][183][183]          [146][181]"
  73. 730 cy=10:cx=3:a=sc(0):gosub450:cx=34:a=sc(1):goto450
  74. 740 rem---dart data
  75. 750 data 0,48,0,0,48,0,0,48,0,0,48,0,0,252,0,0,236,0,0,116,0,0,236,0,0,116
  76. 760 data 0,0,236,0,0,116,0,0,252,0,3,187,0,14,186,192,58,186,176,58,186,176
  77. 770 data 58,186,176,14,254,192,3,51,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0
  78. 780 data 0,0,48,0,0,48,0,0,252,0,0,236,0,0,116,0,0,116,0,3,187,0,14,186,192
  79. 790 data 58,186,176,10,254,128,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0
  80. 800 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,48,0,0,48,0,0,48,0,0,184,0,63
  81. 810 data 255,240,0,184,0,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0
  82. 820 data 0,0,0,0,0,0,0
  83. 830 rem---ml data
  84. 840 data 165,6,10,168,165,2,153,0,208,165,3,153,1,208,173,0
  85. 850 data 220,170,41,16,208,1,96,138,74,74,41,3,168,136,192,2
  86. 860 data 144,2,164,4,24,165,2,121,106,192,201,91,176,7,152
  87. 870 data 73,1,168,76,55,192,133,2,132,4,138,41,3,168,136,192
  88. 880 data 2,144,2,164,5,24,165,3,121,106,192,201,97,144,4,201
  89. 890 data 230,144,7,152,73,1,168,76,91,192,133,3,132,5,162,8
  90. 900 data 160,0,200,208,253,202,208,250,76,0,192,1,255
  91. 910 rem---score data
  92. 920 data14,14,14,14,14,14,14,14,14,14,14,14,14,4,4,4,4,4,4
  93. 930 data14,14,14,14,14,14,14,14,14,14,14,5,5,0,0,0,0,0,0
  94. 940 data14,14,14,14,14,14,14,14,14,5,5,1,1,1,0,0,0,0,0
  95. 950 data14,14,14,14,14,14,14,5,5,1,1,1,1,1,0,0,0,0,0
  96. 960 data14,14,14,14,14,6,6,1,1,1,1,1,1,1,1,0,0,0,0
  97. 970 data14,14,14,14,6,6,2,1,1,1,1,1,1,1,1,0,0,0,0
  98. 980 data14,14,14,6,6,2,2,2,2,1,1,1,1,9,9,9,8,8,8
  99. 990 data14,14,6,2,2,2,2,2,2,2,1,9,9,9,1,1,0,0,0
  100. 1000 data14,14,6,2,2,2,2,2,2,2,2,9,1,1,1,1,0,0,0
  101. 1010 data14,6,2,2,2,2,2,2,2,10,10,2,2,1,1,1,1,0,0
  102. 1020 data14,6,2,2,2,2,2,2,10,10,2,2,2,2,1,1,1,0,0
  103. 1030 data7,3,3,3,3,3,2,2,10,2,2,2,2,2,2,2,1,1,0
  104. 1040 data7,3,3,3,3,3,3,11,3,3,3,2,2,2,2,2,2,12,12
  105. 1050 data7,3,3,3,3,3,3,11,3,3,3,3,3,3,3,3,12,12,13
  106. 1060 rem---section values
  107. 1070 data12,1,5,11,12,8,4,9,10,6,2,11,10,3,7,9
  108.