home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
UpTime Volume 2 #2
/
utv2n2s2.d64
/
sorcerer.exe
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-28
|
6KB
|
166 lines
10 rem sorcerer-jc hilty-2/88
12 gosub1000:b=4
20 sys(940)
22 poke2040+q,p:p=p+1:ifp=195thenp=193
26 onlgosub50,60,80,90,80:l=l+1:ifl=6thenl=1
27 ifbo=0then202
28 sys(940)
29 w1=peek(v+30):ifw1and1then200
30 w2=peek(v+31):ifw2and1then202
31 ifle>2thensys(940)
32 poke53272,(peek(53272)and240)orb:b=b+2:ifb=8thenb=4
33 goto20
50 ifpeek(v+2)>220thenpoke50435,253:poke50688,2:return
52 ifpeek(v+2)<50thenpoke50435,3:poke50688,2:return
54 return
60 ifpeek(v+5)<210thenreturn
61 pokev+21,251:pokev+5,70:pokev+4,peek(v+2)
62 forx=0to24:pokes+x,0:next:pokes+1,2:pokes+5,28:pokes+24,15:pokes,240
64 pokes+4,129:pokev+21,255:return
80 d=peek(v+16):ifdand1thenpoke50445,0:poke50688,64:goto84
81 ifpeek(v)>peek(v+12)thenpoke2046+q,196:poke50445,u:poke50688,64
82 ifpeek(v)<peek(v+12)thenpoke2046+q,195:poke50445,ez:poke50688,64
84 ifpeek(v+1)>peek(v+13)thenpoke50446,u:poke50688,64:goto86
85 ifpeek(v+1)<peek(v+13)thenpoke50446,ez:poke50688,64
86 d=peek(v+16):ifdand64thenpokev+16,peek(v+16)-64:pokev+12,250:poke50445,254
87 poke50688,64
88 return
90 bo=bo-5:ifbo<1thenbo=0
92 print""tab(6)" ":print""tab(5)bo
93 return
200 ifw1and128then250
202 poke50432,0:li=li-1:print""tab(33)li
204 forx=0to24:pokes+x,0:next:pokes+1,200:pokes+5,25:pokes+24,15:pokes,240
206 pokes+4,129
208 forx=198to202:poke2040+q,x:fort=0to150:next:next
209 ifli=0then300
210 bo=500:pokev+21,0:print""tab(5)bo:gosub500:ifle>4thengosub550
211 gosub1112:ifle>6thenprint""tab(27)"\\\\\\\\\\\"
212 goto20
250 poke50432,0:sc=sc+bo:print""tab(5)sc
252 restore
254 forx=0to24:pokes+x,0:next:pokes+24,15:pokes+5,85:pokes+6,85:pokes+4,33
255 forx=0to5:readh1,n1:pokes+1,h1:pokes,n1
256 ifh1=50thenfort=0to500:next
257 fort=0to200:next:next:pokes+4,0
258 bo=500:pokev+21,0:print""tab(5)bo:le=le+1:print""tab(33)le
260 ifle>2thenu=3:ez=253
261 ifle>6thenu=2:ez=254
262 ifle>14thenu=1:ez=255
270 gosub500:ifle>4thengosub550
271 gosub1112:ifle>6thenprint""tab(27)"\\\\\\\\\\\"
272 goto20
300 pokev+21,254:poke50432,254:print""tab(12)"[199] a m e [207] v e r"
302 print"[158]"tab(8)"[208]ress [198]1 to [208]lay [193]gain"
304 printtab(05)"[208]ress [198]8 to [210]eturn to [213]p[212]ime"
305 poke198,0:poke53272,(peek(53272)and240)orb:b=b+2:ifb=8thenb=4
306 get a$:if a$="[133]"then310
307 if a$="[140]"then 320
308 goto306
310 li=5:bo=500:le=1:u=4:ez=252:ifsc>hsthenhs=sc
311 sc=0:gosub1104:goto20
320 poke53269,0:sys65418:pokev+21,0
330 poke648,4:poke56576,199:poke53272,21
340 print"[144][147]load"chr$(34)"upt.reboot"chr$(34)",8:"
350 print"run:"
360 poke 631,19:poke 632,13:poke 633,13:poke 198,3
370 new
500 ifle=1thenprint"[129]":return
502 ifle=2thenprint"[156]":return
503 ifle=3thenprint"":return
504 ifle=4thenprint"":return
505 ifle=5thenprint"[158]":return
506 x=int(5*rnd(9)+1):onxgosub510,511,512,513,514
508 return
510 print"[129]":return
511 print"[156]":return
512 print"":return
513 print"":return
514 print"[158]":return
550 print"":forx=0to12
551 printtab(2)" ":next
554 x=int(3*rnd(6)+1):onxgosub560,565,570
555 return
560 print""tab(27)o$:print""tab(11)o$:return
565 print""tab(15)o$:print""tab(29)o$:return
570 print""tab(20)o$:print""tab(20)o$:return
572 print""tab(11)o$:print""tab(25)o$:return
1000 poke147,0:sys57812"sorcerer.sp",8,1:sys62631
1002 poke147,0:sys57812"sorcerer.font1",8,1:sys62631
1004 poke147,0:sys57812"sorcerer.font2",8,1:sys62631
1006 poke147,0:sys57812"sorcerer.mvt",8,1:sys62631
1007 poke147,0:sys57812"sorcerer.joy",8,1:sys62631
1010 print"[147]":poke53281,0:poke53280,0
1012 poke56578,peek(56578)or3:poke56576,(peek(56576)and252)or2
1014 poke53272,(peek(53272)and15)or16:poke648,68
1016 poke53272,(peek(53272)and240)or6
1017 print"[147]"
1020 v=53248:s=54272:q=16384:sc=0:hs=0:li=5:bo=500:le=1:l=1:p=193:u=4:ez=252
1021 p$="":a$="\\\\ \\\\ \\\\\\\\\\\\\\ \\ \\\\\\\\\\ \\\\"
1022 b$=" \\\\\\\\\\\\\\\\\\\ \\\\ \\\\\\\\ \\\\\\ \\ "
1023 c$="\\\\ \\\\ \\\\ \\\\ \\\\\\\\\\\\\\\\\\\\\\ \\\"
1024 d$="\\\\\\\ \\\\\\\\\\\\\\\\\\ \\\\\\ \\\\\\\\\\\\ \\\\ "
1025 p$=a$+b$+c$+d$:o$="\[157]\[157]\"
1026 forx=50432to50448:pokex,0:next:sys51104
1027 forx=39to46:pokev+x,7:next
1028 forx=2040+qto2046+qstep2:pokex,195:next
1030 forx=2041+qto2047+qstep2:pokex,196:next
1032 pokev+28,255:pokev+37,5:pokev+38,2
1034 z=5:a=10:forx=vtov+15step2:pokex,z+48:pokex+1,a+40
1035 z=z+25:a=a+25:next:pokev+16,0:pokev+27,255
1036 z=50433:h=247:e=1:forx=ztoz+16step2:pokex,h:pokex+1,e:h=h+1:e=e+1:next
1038 poke50688,255
1040 print"[147][154]"tab(9)"^^^^^^^^^^^^^^^^^^^^^"
1041 printtab(9)"^[211][207][210][195][197][210][197][210]'[211][160][205][207][213][206][212][193][201][206]^"
1042 print"[129]\\\\\\\\\[154]^^^^^^^^^^^^^^^^^^^^^[129]\\\\\\\\\":print"\"tab(38)"\"
1044 print"\ [155][199]reat wealth awaits those who are [129]\"
1045 print"\ [155]brave and skillful enough to climb [129]\"
1046 print"\ [155][211]orcerer's [205]ountain and reach the [129]\"
1048 print"\ [155]pot of gold. [213]se a joystick in [208][207][210][212][129]\"
1049 print"\ [155]2 to weave your way through the [129]\"
1050 print"\ [155]magical flames which the sorcerer [129]\"
1051 print"\ [155]has cast upon the forest. [196]o not [129]\"
1052 print"\ [155]run into a flame or a tree or you [129]\"
1053 print"\ [155]will lose a life. [193]n encounter with[129]\"
1054 print"\ [155]a [196][210][193][199][207][206] [205][207][206][211][212][197][210] will also cost you [129]\"
1055 print"\ [155]a life. [212]he [194][207][206][213][211] clock starts each[129]\"
1056 print"\ [155]round with a value of 500 points. [129]\"
1057 print"\ [155][217]ou must reach the gold before the [129]\"
1058 print"\ [155]clock reaches zero or you will lose [129]\"
1059 print"\ [155]a life. [212]o further complicate your [129]\"
1060 print"\ [155]quest, the sorcerer is hurtling [129]\"
1061 print"\ [155]lightning bolts at you! [199][207][207][196][160][204][213][195][203]!![129]\"
1062 print"\"tab(38)"\":print"\ [153]------------ [208][210][197][211][211][160][160][198]1 [153]------------ [129]\"
1063 print"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"
1100 poke50432,255:pokev+21,255
1101 poke53272,(peek(53272)and240)or4:fort=0to60:next
1102 poke53272,(peek(53272)and240)or6:fort=0to50:next:geta$:if a$="[133]"then1104
1103 goto1101
1104 pokev+21,0:print"[147]":forx=50432to50448:pokex,0:next
1105 rem playing screen
1106 print"[194]onus";bo;tab(13)"^^^^^^^^^^^^ [204]ives"li
1107 print"[211]core";sc;tab(13)"^[211][207][210][195][197][210][197][210]'[211]^ [204]evel"le
1108 print"[200]igh ";hs;tab(13)"^ [205][207][213][206][212][193][201][206] ^"
1109 print"[153]-------------^^^^^^^^^^^^[153]------- ---"
1110 fort=0to18:print"-"tab(38)"-":next
1111 print"---------------------------------------[129]"
1112 print""tab(1);mid$(p$,int(215*rnd(9)+1),37)
1113 print""tab(1);mid$(p$,int(215*rnd(9)+1),37)
1114 print""tab(1);mid$(p$,int(215*rnd(9)+1),37)
1115 print""tab(1);mid$(p$,int(215*rnd(9)+1),37)
1116 rem sprite setups
1118 pokev+27,0:pokev+16,144:pokev+28,123:pokev+37,5:pokev+38,2
1119 poke2040+q,193:pokev+39,1:pokev,168:pokev+1,214
1120 poke2041+q,192:pokev+40,1:pokev+2,168:pokev+3,62
1121 poke2042+q,197:pokev+41,1:pokev+4,168:pokev+5,70
1122 poke2043+q,196:pokev+42,7:pokev+6,070:pokev+7,180
1123 poke2044+q,195:pokev+43,7:pokev+8,040:pokev+9,86
1124 poke2045+q,196:pokev+44,7:pokev+10,168:pokev+11,118
1125 poke2046+q,196:pokev+45,7:pokev+12,100:pokev+13,86
1126 poke2047+q,203:pokev+46,7:pokev+14,30:pokev+15,60
1149 pokev+21,255:w1=peek(v+30):w2=peek(v+31)
1150 poke50435,253:poke50438,1:poke50439,1:poke50441,255:poke50443,2
1151 poke50688,255:poke50432,254
1152 return
2000 data 25,30,33,135,42,62,50,60,42,62,50,60,0,0