home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 56 / 056.d81 / golfer.exe (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  6KB  |  202 lines

  1. 10 rem    the golfer arcade
  2. 20 rem    by jc hilty  3/88-rev.8/88
  3. 30 gosub1530
  4. 40 gosub1680
  5. 50 pokev+4,105:pokev+5,155:pokev+6,105:pokev+7,197:pokev+2,105:pokev+3,182
  6. 60 pokev,138:pokev+1,200:poke2042,192:poke2043,193
  7. 70 pokev+21,15
  8. 80 gosub1840:xg=105
  9. 90 poke49802,ba:poke49900,1:print"[144]"tab(12)n$:r=0
  10. 100 w1=peek(v+30):w2=peek(v+31)
  11. 110 onhgoto150,410,600,830,150,600,830,410,150
  12. 120 rem    swing the club
  13. 130 poke2042,194:poke2043,195:pokev+2,xg-19:pokev+3,154:w2=peek(v+30):return
  14. 140 rem    hole 1,5,9
  15. 150 gosub1920
  16. 160 print"[150]mno[146]     mno[146]     mno"
  17. 170 print"pqr[146]     pqr[146]     pqr":print:print:print
  18. 180 print"ghi[146]        ghi[146]    ghi"
  19. 190 print"jkl[146]        jkl[146]    jkl"
  20. 200 pokev+8,200:pokev+9,123:pokev+12,80:pokev+13,78:pokev+21,95
  21. 210 poke49809,255:poke49813,2:poke49810,0:poke49814,0:poke49900,80
  22. 220 poke49800,80:z=1
  23. 230 ifpeek(197)=3thengosub130:poke49800,81:r=1:goto270
  24. 240 ifpeek(197)=4thengosub1860:goto270
  25. 250 ifpeek(197)=6thengosub1180:goto270
  26. 260 ifpeek(197)=5thengosub1200
  27. 270 onzgosub320,350,320,350,380,390:z=z+1:ifz=7thenz=1
  28. 280 ifr=0then230
  29. 290 ifpeek(v+31)and1thenpoke49800,0:goto1230
  30. 300 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
  31. 310 goto270
  32. 320 ifpeek(v+8)<60thenpoke49809,2:poke49900,16:return
  33. 330 ifpeek(v+8)>225thenpoke49809,255:poke49900,16:return
  34. 340 return
  35. 350 ifpeek(v+12)<60thenpoke49813,2:poke49900,64:return
  36. 360 ifpeek(v+12)>225thenpoke49813,254:poke49900,64:return
  37. 370 return
  38. 380 poke49522,1:poke49525,7:poke49526,8:sys49152:return
  39. 390 poke49522,2:poke49525,12:poke49526,13:sys49152:return
  40. 400 rem    hole 2,8
  41. 410 gosub1920
  42. 420 pokev+12,70:pokev+13,80:poke49813,2:poke49814,2:poke49900,64:pokev+21,79
  43. 430 poke49800,64
  44. 440 ifpeek(197)=3thengosub130:poke49800,65:r=1
  45. 450 ifpeek(197)=4thengosub1860:goto480
  46. 460 ifpeek(197)=6thengosub1180:goto480
  47. 470 ifpeek(197)=5thengosub1200
  48. 480 onzgosub530,560:z=z+1:ifz=3thenz=1
  49. 490 ifr=0then440
  50. 500 ifpeek(v+31)and1thenpoke49800,0:goto1230
  51. 510 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
  52. 520 goto480
  53. 530 ifpeek(v+12)>230thenpoke49813,254:poke49900,64:return
  54. 540 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
  55. 550 return
  56. 560 ifpeek(v+13)>130thenpoke49814,254:poke49900,64:return
  57. 570 ifpeek(v+13)<75thenpoke49814,2:poke49900,64:return
  58. 580 return
  59. 590 rem    hole 3,6
  60. 600 gosub1920
  61. 610 pokev+12,50:pokev+13,70:pokev+10,140:pokev+11,098:pokev+08,180:pokev+09,138
  62. 620 poke49813,2:poke49814,0:poke49811,254:poke49812,0
  63. 630 poke49809,1:poke49810,0:poke49900,112:pokev+21,127:poke49800,112
  64. 640 ifpeek(197)=3thengosub130:poke49800,113:r=1
  65. 650 ifpeek(197)=4thengosub1860:goto680
  66. 660 ifpeek(197)=6thengosub1180:goto680
  67. 670 ifpeek(197)=5thengosub1200
  68. 680 onzgosub730,760,790:z=z+1:ifz=4thenz=1
  69. 690 ifr=0then640
  70. 700 ifpeek(v+31)and1thenpoke49800,0:goto1230
  71. 710 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
  72. 720 goto680
  73. 730 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
  74. 740 ifpeek(v+12)>220thenpoke49813,254:poke49900,64:return
  75. 750 return
  76. 760 ifpeek(v+10)<40thenpoke49811,2:poke49900,32:return
  77. 770 ifpeek(v+10)>220thenpoke49811,255:poke49900,32:return
  78. 780 return
  79. 790 ifpeek(v+8)<40thenpoke49809,1:poke49900,16:return
  80. 800 ifpeek(v+8)>220thenpoke49809,255:poke49900,16:return
  81. 810 return
  82. 820 rem    hole 4,7
  83. 830 gosub1920
  84. 840 print"[158]abc[146]    abc[146]     abc"
  85. 850 print"def[146]    def[146]     def"
  86. 860 pokev+12,60:pokev+13,80:pokev+8,160:pokev+9,136
  87. 870 poke49813,2:poke49814,0:poke49809,255:poke49810,0:poke49900,80
  88. 880 poke49522,2:poke49525,8:poke49526,9
  89. 890 pokev+21,95:poke49800,80
  90. 900 ifpeek(197)=3thengosub130:poke49800,81:r=1
  91. 910 ifpeek(197)=4thengosub1860:goto940
  92. 920 ifpeek(197)=6thengosub1180:goto940
  93. 930 ifpeek(197)=5thengosub1200
  94. 940 onzgosub990,1020,990,1020,1050:z=z+1:ifz=6thenz=1
  95. 950 ifr=0then900
  96. 960 ifpeek(v+31)and1thenpoke49800,0:goto1230
  97. 970 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
  98. 980 goto940
  99. 990 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
  100. 1000 ifpeek(v+12)>220thenpoke49813,254:poke49900,64:return
  101. 1010 return
  102. 1020 ifpeek(v+8)<40thenpoke49809,1:poke49900,16:return
  103. 1030 ifpeek(v+8)>220thenpoke49809,255:poke49900,16:return
  104. 1040 return
  105. 1050 sys49152:return
  106. 1060 rem    game over
  107. 1070 ifsc>hsthenhs=sc:print"[144]"tab(32)hs
  108. 1080 gosub1920:pokev+21,14
  109. 1090 print""tab(11)"[144]game over":print
  110. 1100 printtab(2)"press f1 to play again":print
  111. 1110 printtab(2)"press f3 to return to loadstar"
  112. 1120 ifpeek(197)=4then1150
  113. 1130 ifpeek(197)=5then1950
  114. 1140 goto1120
  115. 1150 r=0:z=1:h=1:th=0:ts=0:sc=250
  116. 1160 gosub1680
  117. 1170 goto50
  118. 1180 xg=xg+8:ifxg>200thenxg=200:return
  119. 1190 pokev,xg+33:pokev+2,xg:pokev+4,xg:pokev+6,xg:return
  120. 1200 xg=xg-8:ifxg<50thenxg=60:return
  121. 1210 pokev,xg+33:pokev+2,xg:pokev+4,xg:pokev+6,xg:return
  122. 1220 rem    miss shot
  123. 1230 poke2042,196:poke2043,197:th=th+1:ts=ts+1:sc=sc-25:ifsc<0thensc=0
  124. 1240 print"[144]"tab(34)th
  125. 1250 print""tab(34)ts
  126. 1260 print""tab(33)"     "
  127. 1270 print""tab(32)sc
  128. 1280 forx=0to24:pokes+x,0:next:pokes+24,143:pokes+5,16:pokes+19,16
  129. 1290 pokes+6,252:pokes+20,249:pokes+4,21:pokes+18,17:pokes+1,68:pokes+15,42
  130. 1300 fort=0to400:next:pokes+4,20:pokes+18,16
  131. 1310 fort=0to1000:next:z=1:goto50
  132. 1320 rem    make shot
  133. 1330 poke2042,198:poke2043,199:th=th+1:ts=ts+1
  134. 1340 ifw2and16thensc=sc+20:goto1370
  135. 1350 ifw2and32thensc=sc+50:goto1370
  136. 1360 sc=sc+100
  137. 1370 print"[144]"tab(34)th
  138. 1380 print""tab(34)ts
  139. 1390 print""tab(33)"     "
  140. 1400 print""tab(32);sc
  141. 1410 restore
  142. 1420 forx=0to24:pokes+x,0:next:pokes+24,15:pokes+5,85:pokes+6,85:pokes+4,33
  143. 1430 forx=0to5:readh1,n1:pokes+1,h1:pokes,n1
  144. 1440 ifh1=50thenfort=0to300:next
  145. 1450 fort=0to300:next:next:forx=0to24:pokes+x,0:next
  146. 1460 h=h+1:ifh=10then1070
  147. 1470 print"[144]"tab(34);h
  148. 1480 th=0
  149. 1490 print""tab(35)"   "
  150. 1500 print"[144]"tab(34);th
  151. 1510 z=1:goto50
  152. 1520 rem    initial setup & title screen
  153. 1530 print"[147]":poke53280,0:poke53281,0:print"[154]one moment please..."
  154. 1540 print"...are those elephants on the tee?"
  155. 1550 poke147,0:sys57812"golf.ml",8,1:sys62631
  156. 1560 poke147,0:sys57812"golf.sp",8,1:sys62631
  157. 1570 poke147,0:sys57812"golf.font",8,1:sys62631:poke53272,31
  158. 1580 v=53248:s=54272:h=1:r=0:hs=0:ts=0:th=0:sc=250:xg=105
  159. 1590 forx=49800to49816:pokex,0:next:sys49754
  160. 1600 poke49523,0:poke49524,29
  161. 1610 poke2041,200:poke2042,192:poke2043,193:poke2040,204:poke2044,201
  162. 1620 poke2045,202:poke2046,203
  163. 1630 pokev+23,14:pokev+29,14
  164. 1640 pokev+28,12:pokev+40,0:pokev+41,1:pokev+42,9:pokev+37,0:pokev+38,10
  165. 1650 pokev+39,1:pokev+43,0:pokev+44,0:pokev+45,0
  166. 1660 return
  167. 1670 rem    playing screen
  168. 1680 poke53281,13:poke53280,5
  169. 1690 print"[147]++[144]f1-ball speed+[144]f3-move left+++********"
  170. 1700 print"++++++++++[144]f5-move right++++++++********"
  171. 1710 print"+"tab(30)"+*[144]golfer*":printtab(31)"*[144]arcade*"
  172. 1720 printtab(31)"********":printtab(31)"* hole *":printtab(31)"*number*"
  173. 1730 printtab(31)"*      *":printtab(31)"********":printtab(31)"* putts*"
  174. 1740 printtab(31)"* this *":printtab(31)"* hole *":printtab(31)"*      *"
  175. 1750 printtab(31)"********":printtab(31)"* total*":printtab(31)"* putts*"
  176. 1760 printtab(31)"*      *":printtab(31)"********"
  177. 1770 printtab(31)"* score*":printtab(31)"*      *":printtab(31)"********"
  178. 1780 printtab(31)"* high *":printtab(31)"*      *"
  179. 1790 print" ball speed-slow +[144]f7 to putt+  ********"
  180. 1800 print"[144]"tab(34)h:print""tab(34)th
  181. 1810 print""tab(34)ts:print""tab(32)sc
  182. 1820 print""tab(32)hs
  183. 1830 return
  184. 1840 ba=255:n$="fast":return
  185. 1850 rem    set ball speed
  186. 1860 ba=ba+1:ifba=256thenba=253
  187. 1870 ifba=253thenn$="slow"
  188. 1880 ifba=254thenn$="med."
  189. 1890 ifba=255thenn$="fast"
  190. 1900 poke49802,ba:poke49900,1:print"[144]"tab(12)n$:return
  191. 1910 rem    erase obstacles
  192. 1920 print"":fort=0to8:print"                              ":next
  193. 1930 return
  194. 1940 data 25,30,33,135,42,62,50,60,42,62,50,60
  195. 1950 print"[147][144]":sys65418:pokev+21,0:poke53281,0:goto1970
  196. 1960 printpeek(197):goto1960:rem check peek
  197. 19