home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1987 April / Ahoy_Magazine_87-04_1987_Double_L.d64 / Laps (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  8KB  |  220 lines

  1. 10 rem    laps    by jc hilty
  2. 20 poke53280,0:poke53281,0:print"[147]"tab(18)"[154]laps"
  3. 30 printtab(4)"please wait........reading data"
  4. 40 gosub1520
  5. 50 print"[147]please enter the name of player 1...."
  6. 60 print"....up to 10 letters"
  7. 70 inputa$:iflen(a$)>10then50
  8. 80 print"[147]please enter the name of player 2...."
  9. 90 print"....up to 10 letters"
  10. 100 inputb$:iflen(b$)>10then80
  11. 110 gosub1290
  12. 120 d=peek(v+30)
  13. 130 gosub1150
  14. 140 sys850,23,8:print"[158]press fire to start...."
  15. 150 poke49522,1:poke49523,8:poke49524,30:poke49525,23:poke49526,23
  16. 160 sys49152
  17. 170 sys828:ifst=0thenfort=0to88:next:goto160
  18. 180 if(peek(3)and16)>0then200
  19. 190 fort=0to50:next:goto160
  20. 200 sys850,23,8:print"                       "
  21. 210 gosub1260
  22. 220 poke2040,195:poke2042,197:lp=0
  23. 230 pokev+37,1:pokev+38,2:sys828:ifst=0then290
  24. 240 ifpeek(3)=1thenmp=mp+5:ifmp>300thenmp=300
  25. 250 ifpeek(3)=2thenmp=mp-5:ifmp<50thenmp=50
  26. 260 ifpeek(3)=4thenx1=x1-6
  27. 270 ifpeek(3)=8thenx1=x1+6
  28. 280 pokev+8,x1:sys850,1,9:print"   ":sys850,1,8:print"[158]"mp
  29. 290 pokev+37,2:pokev+38,1:tm=tm+int(600/mp)
  30. 300 lp=lp+1:iflp=100then390
  31. 310 ifmp>250thenpoke2045,194:pokev+11,142:goto340
  32. 320 ifmp>150thenpoke2045,193:pokev+11,122:goto340
  33. 330 poke2045,192:pokev+11,114:goto340
  34. 340 y1=y1+1:ify1>130thenpoke2046,194
  35. 350 ify1>150theny1=110:poke2046,192:goto370
  36. 360 ify1<130andy1>122thenpoke2046,193
  37. 370 pokev+13,y1:ifpeek(v+30)and16thengosub1070
  38. 380 goto230
  39. 390 ife=0then410
  40. 400 goto770
  41. 410 poke49522,2:poke49523,0:poke49524,38:poke49525,3:poke49526,7:poke2040,199
  42. 420 lp=0
  43. 430 pokev+37,1:pokev+38,2:sys828:ifst=0then480
  44. 440 ifpeek(3)=1thenmp=mp+5:ifmp>300thenmp=300
  45. 450 ifpeek(3)=2thenmp=mp-5:ifmp<50thenmp=50
  46. 460 ifpeek(3)=4thenx1=x1-6
  47. 470 ifpeek(3)=8thenx1=x1+6
  48. 480 ifmp>250thenpoke2045,194:pokev+11,138:x1=x1+10:goto510
  49. 490 ifmp>150thenpoke2045,193:pokev+11,122:x1=x1+7:goto510
  50. 500 poke2045,192:pokev+11,114:x1=x1+4
  51. 510 y1=y1+1:ify1>130thenpoke2046,194
  52. 520 ify1>150theny1=110:poke2046,192:goto540
  53. 530 ify1<130andy1>122thenpoke2046,193
  54. 540 pokev+8,x1:sys850,1,9:print"   ":sys850,1,8:print"[158]"mp
  55. 550 pokev+37,2:pokev+38,1:tm=tm+int(600/mp):pokev+13,y1
  56. 560 sys49152:lp=lp+1:iflp=60then590
  57. 570 ifpeek(v+30)and16thengosub1070
  58. 580 goto430
  59. 590 poke49522,1:poke49523,0:poke49524,38:poke49525,3:poke49526,7:poke2040,195
  60. 600 lp=0:poke2042,200
  61. 610 pokev+37,1:pokev+38,2:sys828:ifst=0then660
  62. 620 ifpeek(3)=1thenmp=mp+5:ifmp>300thenmp=300
  63. 630 ifpeek(3)=2thenmp=mp-5:ifmp<50thenmp=50
  64. 640 ifpeek(3)=4thenx1=x1-6
  65. 650 ifpeek(3)=8thenx1=x1+6
  66. 660 ifmp>250thenpoke2045,194:pokev+11,138:x1=x1-10:goto690
  67. 670 ifmp>150thenpoke2045,193:pokev+11,122:x1=x1-7:goto690
  68. 680 poke2045,192:pokev+11,114:x1=x1-4
  69. 690 y1=y1+1:ify1>130thenpoke2046,194
  70. 700 ify1>150theny1=110:poke2046,192:goto720
  71. 710 ify1<130andy1>122thenpoke2046,193
  72. 720 pokev+8,x1:sys850,1,9:print"   ":sys850,1,8:print"[158]"mp
  73. 730 pokev+37,2:pokev+38,1:tm=tm+int(600/mp):pokev+13,y1
  74. 740 sys49152:lp=lp+1:iflp=60thene=1:goto220
  75. 750 ifpeek(v+30)and16thengosub1070
  76. 760 goto610
  77. 770 l(z)=tm/10:pokes+4,128
  78. 780 onzgoto860,870,880,890,900,910
  79. 790 lp=0:e=0:z=z+1:mp=50:tm=0
  80. 800 sys850,1,9:print"   ":sys850,1,8:print"[158]"mp
  81. 810 ifc$=a$thenc$=b$:goto830
  82. 820 c$=a$
  83. 830 sys850,1,27:print"          ":sys850,1,27:printc$
  84. 840 x1=164:pokev+8,x1:poke2045,192:pokev+11,114:poke2046,192:y1=114:pokev+13,y1
  85. 850 d=peek(v+30):goto130
  86. 860 sys850,18,9:print"[158]"l(z):goto790
  87. 870 sys850,18,29:print"[158]"l(z):goto790
  88. 880 sys850,19,9:print"[158]"l(z):goto790
  89. 890 sys850,19,29:print"[158]"l(z):goto790
  90. 900 sys850,20,9:print"[158]"l(z):goto790
  91. 910 sys850,20,29:print"[158]"l(z)
  92. 920 l(7)=int((l(1)+l(3)+l(5))/3):sys850,21,9:print"[158]"l(7)
  93. 930 l(8)=int((l(2)+l(4)+l(6))/3):sys850,21,29:print"[158]"l(8)
  94. 940 ifl(7)>l(8)thenw$=b$:goto970
  95. 950 ifl(8)>l(7)thenw$=a$:goto970
  96. 960 ifl(7)=l(8)thenw$="tie"
  97. 970 sys850,23,16:print"[150]"w$
  98. 980 fort=0to6000:next:pokev+21,0
  99. 990 print"[147]"a$"  "l(7):print
  100. 1000 printb$"  "l(8):print
  101. 1010 print"the winner was "w$:print:print
  102. 1020 print"[158]play again  y or n"
  103. 1030 getjk$:ifjk$<>""then1030
  104. 1040 getr$:ifr$=""then1040
  105. 1050 ifr$="y"then50
  106. 1060 end
  107. 1070 forx=0to24:pokes+x,0:next:pokes+24,15:pokes+5,8:pokes+6,255:pokes+4,85
  108. 1080 f1=100:f2=230:forx=1to80:pokes,f1:poke2044,201:pokes+15,f2:poke2044,194
  109. 1090 f2=f2-2:f1=f1*.99:next:pokes+6,15
  110. 1100 y1=114:pokev+13,y1:x1=164:pokev+8,x1:poke2045,192:poke2046,192:pokev+11,114
  111. 1110 tm=tm+20:mp=50:sys850,1,9:print"   ":sys850,1,8:print"[158]"mp
  112. 1120 d=peek(v+30)
  113. 1130 gosub1260:return
  114. 1140 rem    initial fanfare
  115. 1150 forx=0to24:pokes+x,0:next
  116. 1160 restore
  117. 1170 pokes+5,85:pokes+6,85:pokes+12,85:pokes+13,85:pokes+24,15:pokes+4,33
  118. 1180 pokes+11,17
  119. 1190 forx=0to5
  120. 1200 readh1,n1,h2,n2:pokes+1,h1:pokes,n1:pokes+8,h2:pokes+7,n2
  121. 1210 ifh1=50thenfort=0to200:next
  122. 1220 fort=0to100:next:next
  123. 1230 forx=0to24:pokes+x,0:next
  124. 1240 return
  125. 1250 rem    car sound
  126. 1260 forx=0to24:pokes+x,0:next
  127. 1270 pokes,251:pokes+1,05:pokes+5,129:pokes+6,65:pokes+24,15:pokes+4,129:return
  128. 1280 rem    initialize playing screen
  129. 1290 mp=50:v=53248:s=54272:tm=0:x1=164:lp=0:e=0:z=1:c$=a$:y1=114
  130. 1300 print"[147]":poke53280,0:poke53281,0
  131. 1310 printtab(4)"mph"mp;tab(21)"racer [159]"a$:print
  132. 1320 printtab(7)"[154] "tab(19)" ":printtab(7)" "tab(19)" "tab(31)" "
  133. 1330 printtab(2)" [146]      [146]     [146]      [146]      [146]      "
  134. 1340 printtab(2)" [146]  [146]    [146]     [146]   [146]    [146]   [146]  [146]    [146]   [146]    "
  135. 1350 print"                                       "
  136. 1360 print"[159]                                       "
  137. 1370 printtab(3)"[154]"a$;tab(18)"[159]  "tab(23)"[154]"b$
  138. 1380 printtab(18)"[159]  ":printtab(3)"[154]lap 1"tab(18)"[159]  [146]"tab(23)"[154]lap 1"
  139. 1390 printtab(3)"[154]lap 2"tab(18)"[159]  [146]"tab(23)"[154]lap 2"
  140. 1400 printtab(3)"[154]lap 3"tab(18)"[159]  [146]"tab(23)"[154]lap 3"
  141. 1410 print" [154]average"tab(18)"[159]  [146] [154]average"
  142. 1420 printtab(15)"[159] winner "
  143. 1430 pokev+37,1:pokev+38,2:pokev+43,2:pokev+44,5
  144. 1440 poke2040,195:poke2041,196:poke2042,197:poke2043,198:poke2044,194
  145. 1450 poke2045,192:pokev+28,15:pokev+29,127:pokev+23,15
  146. 1460 pokev,104:pokev+1,114:pokev+2,56:pokev+3,138
  147. 1470 pokev+4,200:pokev+5,114:pokev+6,248:pokev+7,138
  148. 1480 pokev+8,164:pokev+9,146:pokev+10,140:pokev+11,114
  149. 1490 poke2046,192:pokev+45,7:pokev+12,157:pokev+13,110
  150. 1500 pokev+21,127:d=peek(v+30)
  151. 1510 return
  152. 1520 forx=0to5:readh1,n1,h2,n2:next
  153. 1530 forx=49152to49528:reada:pokex,a:next
  154. 1540 forx=12288to12926:reada:pokex,a:next
  155. 1550 forx=828to848:reada:pokex,a:next
  156. 1560 forx=850to865:reada:pokex,a:next
  157. 1570 diml(8)
  158. 1580 return
  159. 1590 rem    fanfare data
  160. 1600 data 25,30,18,209,33,135,25,30,42,62,31,165,50,60,37,162,42,62,31,165
  161. 1610 data 50,60,37,162
  162. 1620 rem scroll data
  163. 1630 data 174,114,193,224,3,144,3,76,117,192,188,114,193,140,121,193,174
  164. 1640 data 118,193,232,202,32,30,193,172,121,193,173,119,193,201,2,208,10
  165. 1650 data 169,32,72,173,33,208,72,76,50,192,177,90,72,177,92,72,204
  166. 1660 data 116,193,240,20,200,177,90,72,177,92,136,145,92,104,145,90,200
  167. 1670 data 204,116,193,208,238,240,18,136,177,90,72,177,92,200,145,92,104
  168. 1680 data 145,90,136,204,115,193,208,238,173,119,193,201,0,208,5,104,104
  169. 1690 data 76,111,192,104,145,92,104,145,90,236,117,193,208,160,96,172,116
  170. 1700 data 193,200,189,114,193,170,32,30,193,173,120,193,201,2,208,19,136
  171. 1710 data 169,32,153,122,193,173,33,208,153,162,193,204,115,193,208,239,240
  172. 1720 data 16,136,177,90,153,122,193,177,92,153,162,193,204,115,193,208,240
  173. 1730 data 236,117,193,240,37,202,32,30,193,172,116,193,200,136,177,90,72
  174. 1740 data 177,92,32,48,193,145,92,104,145,90,32,56,193,204,115,193,208
  175. 1750 data 234,236,117,193,208,221,240,46,202,206,118,193,232,32,30,193,172
  176. 1760 data 116,193,200,136,32,48,193,177,90,72,177,92,32,56,193,145,92
  177. 1770 data 104,145,90,204,115,193,208,234,236,118,193,208,221,238,118,193,232
  178. 1780 data 32,30,193,173,120,193,201,0,240,20,172,115,193,136,200,185,162
  179. 1790 data 193,145,92,185,122,193,145,90,204,116,193,208,240,96,189,89,193
  180. 1800 data 133,91,24,105,212,133,93,189,64,193,133,90,133,92,96,72,152
  181. 1810 data 24,105,40,168,104,96,72,152,56,233,40,168,104,96,0,40,80
  182. 1820 data 120,160,200,240,24,64,104,144,184,224,8,48,88,128,168,208,248
  183. 1830 data 32,72,112,152,192,4,4,4,4,4,4,4,5,5,5,5,5
  184. 1840 data 5,6,6,6,6,6,6,6,7,7,7,7,7,2,0,29,0,21,1,1
  185. 1850 rem    sprite data
  186. 1860 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,124,0,0,16,0,0,186,0
  187. 1870 data 0,255,0,0,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  188. 1880 data 0,0
  189. 1890 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,186,0,0,255,0,0,146,0
  190. 1900 data 0,56,0,0,124,0,3,108,128,3,41,128,3,255,128,3,57,128,3,17,128
  191. 1910 data 0,0,0,0,0,0,0,0,0,0,0,0,0
  192. 1920 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,24,96,6,126,96,7,255,224
  193. 1930 data 6,126,96,6,24,96,0,60,0,248,126,31,248,231,31,248,195,31
  194. 1940 data 255,195,255,255,195,255,248,255,31,248,126,31,248,24,31,248,0,31,0
  195. 1950 data 0,0,0,0,0,3,0,0,4,0,0,48,0,0,240,0,1,64,0,5,0,0,60,0,0,240,0,1,64,0
  196. 1960 data 5,64,0,21,0,0,252,0,0,240,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  197. 1970 data 0,0,0,0
  198. 1980 data 0,0,0,0,0,3,0,0,15,0,0,21,0,0,85,0,1,84,0,15,240,0,63,192,0,255,0
  199. 1990 data 3,252,0,5,80,0,21,64,0,85,64,0,85,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  200. 2000 data 0,0,0,0,0,0,0
  201. 2010 data 0,0,0,192,0,0,16,0,0,12,0,0,15,0,0,1,64,0,0,80,0,0,60,0,0,15,0
  202. 2020 data 0,1,64,0,1,80,0,0,84,0,0,63,0,0,15,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  203. 2030 data 0,0,0,0,0
  204. 2040 data0,0,0,192,0,0,240,0,0,84,0,0,85,0,0,21,64,0,15,240,0,3,252,0,0,255,0
  205. 2050 data 0,63,192,0,5,80,0,1,84,0,1,85,0,0,85,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0
  206. 2060 data 0,0,0,0,0,0,0
  207. 2070 data 0,0,0,192,0,0,16,0,0,12,0,0,12,0,0,1,64,0,0,192,0,0,192,0,0,192,0
  208. 2080 data 1,64,0,5,64,0,21,0,0,252,0,0,240,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  209. 2090 data 0,0,0,0,0,0,0
  210. 2100 data 0,0,0,0,0,3,0,0,4,0,0,48,0,0,48,0,0,64,0,3,0,0,3,0,0,3,0,0,1,64
  211. 2110 data 0,1,80,0,0,84,0,0,63,0,0,15,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  212. 2120 data 0,0,0,0
  213. 2130 data 0,0,0,76,1,0,00,128,4,32,4,32,0,48,0,8,0,0,0,32,48,80,0,130,3,12,0
  214. 2140 data 0,0,4,32,0,128,0,36,0,0,0,192,201,0,4,0,0,0,19,32,192,0,4,0,32,0,1
  215. 2150 data 4,192,0,0,4,8,0,0,0
  216. 2160 rem    joystick data
  217. 2170 data 173,0,220,41,31,73,31,133,3,173,1,220,73,255,133,2,5,3,133,144,96
  218. 2180 rem
  219. 2190 data 32,155,183,138,72,32,155,183,104,170,164,101,24,76,240,255
  220.