home *** CD-ROM | disk | FTP | other *** search
/ Run Magazine ReRun: Game Pak / rerun-gamepak / ski (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  5KB  |  149 lines

  1. 1 rem ski 7 devils   g.fields 10/84
  2. 2 rt$=chr$(18):gosub2000:goto47000
  3. 3 poke53281,15:poke53280,15:printchr$(144)chr$(147):poke650,128
  4. 4 sv=54296:sh=54273:sl=54272:sa=54277:ss=54278:sw=54276:js=56320:b%=32
  5. 8 tt$="[144]!+#":tb$="[144] $":ra$="<"
  6. 9 g1$="[144]*[192][192][192][144]*":g2$="[144]*[192][192][144]=[192][144]*":g3$="[144]*[192]<[192][192][144]*"
  7. 10 g5$="[144]*[192][192][144]*":g6$="[144]*[192][192][192][192][192][192][144]*"
  8. 11 pt$="[153];":pb$=">":ro$="[149]="
  9. 14 m%=1024:c=54272:l%=499:sp%=-40:h$=chr$(19):br=100:dh=46
  10. 50 gosub4000:gosub60:ti$="000000":goto412
  11. 60 ford1=54272to54296:poked1,0:nextd1:return
  12. 65 pokesv,0:pokesw,sw%+1:pokesv,15:pokesh,sh%:pokesl,sl%:pokesa,sa%:pokess,ss%
  13. 66 pokesw,sw%:return
  14. 70 printchr$(145)tab(ta%)tt$spc(10)g1$spc(3)tt$spc(3)pt$pt$:tg=tg+1
  15. 71 printtab(ta%)tb$spc(19)tb$spc(3)ra$pt$pt$:goto605
  16. 74 printchr$(145)tab(ta%)pt$pt$pt$pt$spc(6)g2$spc(3)pt$pt$:tg=tg+1
  17. 75 printtab(ta%)pb$pb$pb$pb$spc(15)pb$pb$:goto605
  18. 78 printchr$(145)tab(ta%)pt$pt$spc(6)pt$spc(8)pt$pt$" "pt$:
  19. 79 printtab(ta%)pb$pb$spc(6)pb$spc(8)pb$pb$ro$pb$:goto605
  20. 80 xx%=int(rnd(0)*20)+4:printtab(xx%)")"
  21. 82 goto605
  22. 84 printtab(xx%)"[149]==[153];  [154]<<"g3$:tg=tg+1:goto605
  23. 88 printtab(pl%)g5$:tg=tg+1:goto605
  24. 90 printtab(ta%)pt$pt$g6$"[154]<":tg=tg+1:goto605
  25. 95 printchr$(145)tab(ta%)tt$spc(9)tt$
  26. 96 printtab(ta%)tb$ro$ro$pt$"[144]*[198][198][198][198][198][144]*"tb$"?"pt$:goto605
  27. 400 lc=lc+1:ifrp=32then412
  28. 406 ifrp=64thensc=sc+1:goto412
  29. 408 ifrp=63thendc=dc+1
  30. 412 pokem%+l%,dh:pokem%+l%+c,2:er=m%+l%-40
  31. 420 ifk=0thenk=1:gosub5000
  32. 430 q=peek(js):q=15-(qand15):ifq=0then540
  33. 432 ifq=4thendh=47:l%=l%-1:goto556
  34. 433 ifq=8thendh=77:l%=l%+1:goto556
  35. 434 ifq=1thenbr=br-9:s%=101-br:printchr$(145)s%:ifbr<1thenbr=0
  36. 435 ifs%=110andq=1thengosub50000:k=1:gosub5000
  37. 436 ifq=2thenbr=br+9:s%=101-br:ifs%>0thenprintchr$(145)s%
  38. 540 getq$:ifq$=""thendh=46:rp=peek(m%+l%+40):goto557
  39. 554 ifq$=","thendh=47:l%=l%-1:goto556
  40. 555 ifq$="."thendh=77:l%=l%+1
  41. 556 rp=peek(m%+l%+40)
  42. 557 ifrp<>32thenifrp<>64thenifrp<>63thengosub50000:k=1:gosub5000
  43. 558 ifq$="s"thenbr=br+9:s%=101-br:ifs%>0thenprintchr$(145)s%
  44. 560 ifq$="f"thenbr=br-9:s%=101-br:printchr$(145)s%:ifbr<1thenbr=0
  45. 562 ifs%=110andq$="f"thengosub50000:k=1:gosub5000
  46. 600 pokesv,2:forlp=0tobr:next:pokesv,0:iftg>19theneg%=eg%+1:goto604
  47. 601 iftg<20thenpl%=int(rnd(0)*40):ta%=int(rnd(0)*8)+2
  48. 602 onpl%goto70,74,78,80,84,95,88,90
  49. 603 pl%=0
  50. 604 printtab(2)";; ;"spc(ta%+15)";  ; ;"
  51. 605 ifbr>100thenk=0:br=100
  52. 608 iftg>19thenifeg%>15then1000
  53. 610 pokeer,b%
  54. 612 goto400
  55. 1000 forx=0to10:printchr$(145);:next:printtab(12)chr$(18)"[144][213][192][192][192][192][192][192][192][192][192][192][201]"
  56. 1001 printtab(12)chr$(18)"[221]  finish  [221]"
  57. 1002 printtab(12)chr$(18)"[202][192][192][192][192][192][192][192][192][192][192][203]":print
  58. 1018 printtab(12)"[144]total gates "tg:printtab(10)"total cleared "sc:print:print
  59. 1020 printtab(16)"total ?[144] "dc
  60. 1021 printtab(15)"distance "lc
  61. 1022 printtab(16)"[205][144] falls "tf
  62. 1024 sc=sc*100:dc=dc*1000:tf=tf*50:fs%=(lc/val(ti$))*100:fs%=(dc+sc)-(tf+fs%)
  63. 1025 printtab(12)"final score "fs%-ck%
  64. 1026 printtab(12)"record time  "right$(ti$,4)
  65. 1028 printtab(7)chr$(18)"want to try again [y/n]?"
  66. 1030 getq$:ifq$="n"thensys64738
  67. 1031 ifq$="f"thenrun3
  68. 1032 ifq$="y"thenrun3
  69. 1033 q=peek(js):q=qand16:ifq=0thenrun3
  70. 1034 goto1030
  71. 2000 printchr$(147):poke53281,14:poke53280,14
  72. 2001 print:printtab(32)"wait":printtab(32)"while":printtab(32)"the"
  73. 2002 printtab(32)"slopes":printtab(32)"are":printtab(32)"cleared"chr$(5)
  74. 2010 printchr$(19);
  75. 2020 print"[213][192][192][192][192][192][192][192][192][201]      [201]            [213][192][201]"
  76. 2030 print"[194]               [194]    [206]        [194]"
  77. 2040 print"[194]               [194]   [206]         [194]"
  78. 2050 print"[202][192][192][192][192][192][192][192][192][201]      [194]  [206]          [194]"
  79. 2060 print"         [194]      [202] [206][205]          [194]"
  80. 2070 print"         [194]      [213][206]  [205]         [194]"
  81. 2080 print"         [194]      [194]    [205]        [194]"
  82. 2090 print"         [194]      [194]     [205]       [194]"
  83. 2100 print"[202][192][192][192][192][192][192][192][192][203]      [203]      [205]     [202][192][203]"
  84. 2109 printtab(14)rt$"[144][213][192][192][192][192][192][192][192][192][192][192][201]"
  85. 2110 printtab(14)rt$"[194]    the   [194]"
  86. 2120 printtab(14)rt$"seven devils"
  87. 2121 printtab(14)rt$"[194] ski race [194]"
  88. 2122 printtab(14)rt$"[202][192][192][192][192][192][192][192][192][192][192][203]"
  89. 2200 print:print:printtab(7)"use joystick 2 or keyboard"
  90. 2210 print:print"[151]faster = [f] or forward   ";:printrt$" to start  "
  91. 2212 print"[151]slower = [s  or    back   [return] or"
  92. 2214 print"[151]left   = [<] or    left   [f key]  or"
  93. 2216 print"[151]right  = [>] or   right   fire button"
  94. 2220 print:print"by g.fields                     10/84":return
  95. 4000 forx=0to5:print:next
  96. 4001 printtab(15)chr$(28)chr$(127)"[144][213][192][192][192][192][192][192][192][192][192][192][192][192][201]"chr$(28)chr$(169)
  97. 4002 printtab(15)"[144][170][221]seven devils[144][221][180]"
  98. 4003 printtab(15)"[170][221]  ski race  [221][180]"
  99. 4004 print"[153];;;; ;;[144]!+# [153];; ;[144][170][202][192][192][192][192][192][192][192][192][192][192][192][192][203][180] [153]   ; ;"
  100. 4005 print">>>> >>[152][175][144]$[152][175][175]>> >[144][170])           ))[144][180] [149]=<;>;>"
  101. 4100 forx=0to9:print:next:return
  102. 5000 getq$:q=peek(js):q=qand16:ifq=0then5005
  103. 5002 ifq$<>chr$(13)thenifq$<>chr$(70)then5000
  104. 5005 sh%=12:sl%=255:sa%=200:ss%=200:sw%=129:gosub65:pokesv,5
  105. 5010 pokem%+l%,32:return
  106. 6300 data059,000,000,008,028,012,062,124,062
  107. 6302 data061,000,000,000,056,124,127,239,255
  108. 6303 data060,000,040,040,016,056,108,056,000
  109. 6304 data042,129,255,129,255,129,129,129,129
  110. 6305 data033,001,007,097,048,220,007,056,007
  111. 6306 data043,002,036,025,138,089,049,241,049
  112. 6307 data035,016,012,048,065,170,004,056,224
  113. 6308 data062,126,191,126,191,062,255,153,024
  114. 6309 data037,132,068,189,189,102,020,012,004
  115. 6310 data038,160,080,040,060,118,147,009,004
  116. 6311 data039,161,129,161,185,245,017,002,004
  117. 6312 data040,004,136,080,056,088,136,004,002
  118. 6313 data041,153,090,102,024,024,060,036,102
  119. 6314 data036,059,172,104,056,056,056,108,175
  120. 6315 data046,036,036,189,189,102,036,036,036
  121. 6316 data047,002,100,235,054,060,024,048,224
  122. 6317 data077,064,038,215,108,060,024,012,007
  123. 6318 data095,003,014,030,022,053,110,104,192
  124. 6319 data105,192,112,120,104,172,118,022,003
  125. 6320 data063,005,005,138,114,118,250,114,218
  126. 6350 data-1
  127. 47000 poke56,48:clr
  128. 47004 poke56334,peek(56334)and254:poke1,peek(1)and251
  129. 47005 fori=0to2047:poke12288+i,peek(53248+i):next
  130. 47006 poke1,peek(1)or4:poke56334,peek(56334)or1
  131. 47007 reada:ifa=-1then47009
  132. 47008 fori=0to7:readb:poke12288+a*8+i,b:next:goto47007
  133. 47009 poke53272,(peek(53272)and240)or12
  134. 47010 run3
  135. 50000 pokem%+l%+40,32:pokem%+l%+1,32:pokem%+l%-1,32:tf=tf+1
  136. 50009 sv%=15:sh%=15:sl%=40:sa%=20:ss%=16:sw%=129:gosub65
  137. 50010 pokem%+l%,37:pokem%+l%+c,2:forx=0to100:next
  138. 50019 sv%=15:sh%=0:sl%=200:sa%=10:ss%=0:sw%=33:gosub65
  139. 50020 pokem%+l%,38:forx=0to250:next
  140. 50025 ifrp=41thenck%=ck%+80
  141. 50026 ifrp=60thenck%=ck%+40
  142. 50030 pokem%+l%,39:forx=0to150:next
  143. 50040 pokem%+l%,40:forx=0to150:next
  144. 50050 gosub60:pokem%+l%,41:forx=0to200:next
  145. 50060 pokem%+l%,46
  146. 50070 ifpeek(m%+l%+80)<>32thenpokem%+l%,32:l%=l%+1:pokem%+l%,46:goto50070
  147. 50080 pokem%+l%+c,2
  148. 50090 br=100:poke198,0:return
  149.