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