home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun 1991 January & February
/
rerun-1991-01-02.d64
/
vanquish!
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2022-09-20
|
6KB
|
174 lines
0 rem vanquish! by kurt ehland 1990
5 poke53280,0:poke53281,0:v=53248:pokev+21,0:pokev+23,6:pokev+29,6:pokev+16,20
6 fort=0to24:poke54272+t,0:next:pokev+1048,15:pokev+1029,5:pokev+1025,2
8 pokev+1028,131:pokev+1030,100
9 print"[147]"spc(12)"v a n q u i s h !":fort=0to300:r=int(40+3*rnd(1))
10 pokev+22,r:next:pokev+22,40:pokev+1025,0
15 input"[147]do you want obstacles";a$
20 ifa$="y"ora$="yes"thenvq=1
30 pokev+21,31:pokev+3086,peek(v+3086)and254:poke1,peek(1)and251
50 fork=12288to12799:pokek,peek(k+40960):nextk
60 poke1,peek(1)or4:pokev+3086,peek(v+3086)or1:pokev+24,(peek(v+24)and240)or12
90 fort=1to11:reada$:g=12288+(asc(a$)-64)*8:fork=gtog+7:readg:pokek,g:nextk,t
120 data"k",9,15,14,15,6,3,3,3
130 data"q",,176,224,192,96,,240,192
140 data"_",131,131,199,239,127,63,27,29
150 data"\",240,192,192,192,128,128,128,224
160 data"^",255,,255,,255,,255,0
170 data"z",16,19,30,60,38,254,142,12
180 data"x",,192,,,,124,96,96
190 data"v",248,60,63,31,31,120,24,120
200 data"m",120,24,248,252,252,60,12,60
210 data"@",255,129,129,129,129,129,255,0
211 data"j",255,255,255,255,255,255,255,255
215 h=0:print"[147]"
220 fort=7to31:poke1024+h+t,30:next:h=h+120:ifh=1080thenh=0:goto240
230 goto220
240 fort=7to31step3:poke1024+h+t,30:next:h=h+40:ifh=1000thenh=0:bc=55296:goto260
250 goto240
260 fort=7to31:pokebc+h+t,11:next:h=h+40:ifh=1000then280
270 goto260
280 fort=1to7:reada:pokebc+a,1:next:data7,31,487,499,511,967,991
290 fort=1to18:reada:pokebc+a,15:next
300 data8,30,47,71,447,459,471,488,498,500,510,539,551,527,927,951,968,990
310 fort=1to36:reada:pokebc+a,12:next
320 data9,10,28,29,87,127,111,151,407,367,419,379,431,391,489,490,496,497,501
330 data502,508,509,567,607,579,619,591,631,887,847,969,970,911,871,988,989
740 gosub5900
750 pokev+2,25:pokev+3,135:pokev+4,55:pokev+5,135
760 pokev+6,50:pokev+7,140:pokev+8,30:pokev+9,140
770 print"":print"kqkqkqkqkqkqkqkq"
780 print"_\_\_\_\_\_\_\_\":print""
790 print"":print"zxzxzxzxzxzxzxzx"
800 print"vmvmvmvmvmvmvmvm":print"":poke55723,11
810 ifvq=1thengosub4200
850 gosub900:gosub920:goto950
900 p=56321:pj=1031:rn=int(201+6*rnd(1)):poke2043,rn:b=((peek(p)and16)=0)
905 ifbthenprint" ";:return
910 print"player1":goto900
920 sc=rn:rn(2)=int(201+6*rnd(1)):poke2044,rn(2):b=((peek(p-1)and16)=0)
930 ifbthensc(2)=rn(2):print""spc(32)" ";:return
940 print""spc(32)"player2";:goto920
950 ifsc=sc(2)thenfort=1to1500:next:goto850
960 ifsc>sc(2)thengosub4090:gosub900:nm=rn-200:p=56321:pg=0:ph=0:gosub4000
970 ifsc<sc(2)thengosub4100:gosub920:nm=rn(2)-200:p=56320:pg=0:ph=0:gosub4000
980 kl=0
1000 hm=((peek(p)and4)=0)-((peek(p)and8)=0):b=((peek(p)and16)=0):poke54273,0
1010 vm=((peek(p)and1)=0)-((peek(p)and2)=0)
1015 ifhb=1thencv=2:goto1070
1016 ifhb=2thencv=6:goto1070
1020 ifhm=1thencf=30:gosub4000:pg=pg+3:ifpg=24thenpg=21
1021 ifhm=1then1055
1030 ifhm=-1thencf=30:gosub4000:pg=pg-3:ifpg=-3thenpg=0
1031 ifhm=-1then1055
1040 ifvm=-1thencf=30:gosub4000:ph=ph-120:ifph=-120thenph=0
1041 ifvm=-1then1055
1050 ifvm=1thencf=30:gosub4000:ph=ph+120:ifph=960thenph=840
1055 ifbthenifpeek(pj+pg+ph+pf(t)+41)=11andpy=1thenhb=1
1056 ifbthenifpeek(pj+pg+ph+pf(t)+41)=26andpy=2thenhb=2
1060 cf=0:gosub4000:goto1000
1070 ifhm=1thengosub4015:pg=pg+3:gosub5000:ifpg=24thenpg=21:jg=jg-1:gosub5100
1071 ifhm=1then1105
1080 ifhm=-1thengosub4015:pg=pg-3:gosub5000:ifpg=-3thenpg=0:jg=jg-1:gosub5100
1081 ifhm=-1then1105
1090 ifvm=-1thengosub4015:ph=ph-120:gosub5000:ifph=-120thenph=0:jg=jg-1
1091 ifvm=-1then1105
1100 ifvm=1thengosub4015:ph=ph+120:gosub5000:ifph=960thenph=840:jg=jg-1
1105 ifhy=1thenhy=0:gosub4020:gosub5120:goto4060
1106 ifhy=2thenhy=0:gosub4020:gosub5140:goto4060
1107 ifkl=5thengosub4020:goto4060
1110 gosub4020:ifjg=nmthen4060
1120 goto1000
4000 pf(1)=0:pf(2)=3:pf(3)=123:pf(4)=120:
4010 fort=1to4:pokepj+pg+ph+pf(t),cf:next:return
4015 pf(1)=41:pf(2)=42:pf(3)=81:pf(4)=82:yf(1)=10:yf(2)=10:yf(3)=10:yf(4)=10
4016 jg=jg+1:we(jg)=(pj+pg+ph):goto4030
4020 pf(1)=41:pf(2)=42:pf(3)=81:pf(4)=82:yf(1)=11:yf(2)=17:yf(3)=31:yf(4)=28
4021 ifhb=1thencv=2:yf(1)=11:yf(2)=17:yf(3)=31:yf(4)=28
4022 ifhb=2thencv=6:yf(1)=26:yf(2)=24:yf(3)=22:yf(4)=13
4023 ifkl=5thencv=0:yf(1)=32:yf(2)=32:yf(3)=32:yf(4)=32:ifpy=1thengosub5120
4024 ifkl=5andpy=2thengosub5140
4030 fort=1to4:pokepj+pg+ph+pf(t),yf(t):pokebc+pg+ph+pf(t)+7,cv:next
4050 return
4060 pf(1)=0:pf(2)=3:pf(3)=123:pf(4)=120:fort=1to4:pokewe(1)+pf(t),30:next
4065 pf(1)=41:pf(2)=42:pf(3)=81:pf(4)=82
4070 fort=1tojg:fory=1to4:pokewe(t)+pf(y),32:nexty:nextt
4075 poke54273,0:ifxd=8thenprint""spc(16)"red wins!":goto4078
4076 ifxs=8thenprint""spc(15)"blue wins!":goto4078
4077 goto4080
4078 fort=1to5000:next:poke53265,peek(53265)and223:poke53272,peek(53272)and247
4079 run
4080 ifhb=1thensc=0:sc(2)=1:jg=0:hb=0:b=0:py=0:goto970
4085 ifhb=2thensc=1:sc(2)=0:jg=0:hb=0:b=0:py=0:goto960
4090 fort=1to1500:next:py=1:return
4100 fort=1to1500:next:py=2:return
4200 rb=int(5+4*rnd(1)):fort=1torb
4210 rx=int(0+8*rnd(1)):ry=int(0+4*rnd(1))
4220 poke1312+(rx*3)+(ry*120),10:poke1313+(rx*3)+(ry*120),10
4230 poke1352+(rx*3)+(ry*120),10:poke1353+(rx*3)+(ry*120),10:next:return
5000 ifpeek(pj+ph+pg+41)=32thenreturn
5001 ifpeek(pj+ph+pg+41)=11andjg=nmandpy=2thenhy=1:return
5002 ifpeek(pj+ph+pg+41)=26andjg=nmandpy=1thenhy=2:return
5012 gosub5100:ifhm=1thenpg=pg-3:jg=jg-1:return
5013 ifhm=-1thenpg=pg+3:jg=jg-1:return
5023 ifvm=-1thenph=ph+120:jg=jg-1:return
5033 ifvm=1thenph=ph-120:jg=jg-1:return
5040 return
5100 pokev+1029,5:pokev+1025,4
5110 pokev+1028,81:pokev+1030,100:kl=kl+1:return
5120 xs=xs+1:pokev+1029,5:pokev+1028,21:pokev+1030,100:pokev+1025,8:gosub5200
5130 pokev+1025,7:gosub5200:pokev+1025,8:gosub5200:pokev+1025,0:return
5140 xd=xd+1:pokev+1029,5:pokev+1028,21:pokev+1030,100:pokev+1025,6:gosub5200
5150 pokev+1025,7:gosub5200:pokev+1025,8:gosub5200:pokev+1025,0:return
5200 fort=1to500:next:return
5900 s(1)=14:s(2)=15:s(3)=205:s(4)=205
5910 sr(1)=895:sr(2)=958:sr(3)=12864:sr(4)=12927
5920 st(1)=6:st(2)=1:st(3)=1:st(4)=1
5930 fork=1to4:forn=0to62:poke2040+k,s(k):reada:pokesr(k)+n,a:nextn
5940 pokev+40+k,st(k):nextk
5950 s(1)=12989:s(2)=13052:s(3)=13115:s(4)=13178
5960 fork=1to4:forn=0to62:reada:pokes(k)+n,a:nextn,k
5965 fork=0to6:poke13240+k,0:next:return
6008 data 199,9,,,15,176,,14,224
6009 data ,15,192,,6,96,,3
6010 data ,,3,240,,3,192,0
6011 data 131,240,,131,192,,199,192
6012 data ,239,192,,127,128,,63
6014 data 128,,27,128,,29,224,,,,,,,,,,,,,,,,,11
6016 data 16,,,19,192,,30,0
6017 data ,60,,,38,,,254
6018 data 248,,142,192,,12,192,0
6019 data 248,240,,60,48,,63,240
6020 data ,31,248,,31,248,,120
6021 data 120,,24,24,,120,120,0
6022 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6026 data 255,,7,255,128,7,255,128
6027 data 7,255,128,7,207,128,7,207
6028 data 128,7,255,128,7,255,128,7
6029 data 255,128,3,255,,,,0
6030 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6034 data 255,,7,255,128,7,255,128
6035 data 7,255,128,6,121,128,6,121
6036 data 128,7,255,128,7,255,128,7
6037 data 255,128,3,255,,,,0
6038 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6042 data 255,,6,127,128,6,127,128
6043 data 7,255,128,7,207,128,7,207
6044 data 128,7,255,128,7,249,128,7
6045 data 249,128,3,255,,,,0
6046 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6050 data 255,,6,121,128,6,121,128
6051 data 7,255,128,7,255,128,7,255
6052 data 128,7,255,128,6,121,128,6
6053 data 121,128,3,255,,,,0
6054 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6058 data 255,,6,121,128,6,121,128
6059 data 7,255,128,7,207,128,7,207
6060 data 128,7,255,128,6,121,128,6
6061 data 121,128,3,255,,,,0
6062 data ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3
6066 data 255,,6,121,128,6,121,128
6067 data 7,255,128,6,121,128,6,121
6068 data 128,7,255,128,6,121,128,6
6069 data 121,128,3,255,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,