home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1984 November
/
1984-11.d64
/
supertank
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
7KB
|
173 lines
10 print"[147]":restore:v=53248:pokev+32,0:pokev+33,1:pokev+17,peek(v+17)and247
15 printtab(53)"w*e*l*c*o*m*e!":printtab(59)"to"
17 printtab(55)"supertank!":print
20 forq=1to4:printtab(14)"[152][170]":next
22 printtab(14)"[170][169] [223]":printtab(14)"[169] [209] [209] [209][209][209] [223][146][162][162][185][185][185][185][185][185][185][185][162][162][162]"
24 printtab(13)"[169] [209] [209] [205] [146][184][184][183][183][183][183][183][183][183][183][184][184][184]"
26 printtab(13)" [209][209][209] [209][209][209] [146]"
28 print" [169] [223][146]"
30 print" [169] [223][146]"
32 print"[166][166][152] [146][166][166][166]"
34 print"[166][166][166][152][205] [215][169] [223][146][215][169] [223][146][215][169] [223][146][215][169] [223][146][215][169] [223][146][215][169] [223][146][215][169] [223][146][215][206][166][166][166][166]"
36 print"[166][166][166][166][152][205] [209] [146] [209] [146] [209] [146] [209] [146] [209] [146] [209] [146] [209] [146][206][166][166][166][166][166]"
38 print"[166][166][166][166][166][152][205][223] [146][169][215][223] [146][169][215][223] [146][169][215][223] [146][169][215][223] [146][169][215][223] [146][169][215][223] [146][169][166][166][166][166][166][166]"
40 print"[166][166][166][166][166][166][152][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][166][166][166][166][166][166][166]"
42 forq=1to2:print"[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]":next
43 gosub800
48 s=54272:forl=stos+24:pokel,0:next
50 print"[147]":pokev+32,1:pokev+33,0:printtab(120)
52 gosub1000
60 print"[147]":printtab(90)"tank specifications"
62 printtab(49)" strong [146] [158] medium [146] weak [146]"
64 printtab(40)"1.tiger[146] armor [158]fire speed"
66 printtab(40)"[158]2.t-34[146] speed [158]armor fire"
68 printtab(40)"3.sherman[146] fire [158]speed armor":printtab(120)
70 print:input" which tank do you choose";ta
72 ifta<1orta>3then80
78 print" get ready !":forq=1to500step.5:next:goto85
80 print" you can't do that! ":gosub1300:goto70
85 v=53248:gosub1100
90 print"[147]":pokev+32,0:pokev+33,1
92 printtab(7)"[152][169][223][146] [169][223][146] [169][223][146] [169][223][146] [144]score"
94 print" [152][169][223][146] [169] [146] [169] [223][146] [169] [223][146] [169] [223][146] [144]";sc
96 print" [152][169] [223][169] [223][146] [223][146] [169] [146] [169] [223][146] [144]armor"
98 print"[152][169] [223][169] [223][169] [169] [223][146][144]";ar
100 forq=1to17:print"[166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]":next
110 print"[152][171][195][195][195][195][195][195][195][195][195][179][169] [223][171][195][195][195][195][195][195][195][195][195][179]"
112 print"[152][171][195][195][195][195][195][195][195][195][195][179] [171][195][195][195][195][195][195][195][195][195][179]"
114 gosub420
120 cb=1:ti$="000000"
150 pokev+21,15:poke2040,13:pokev+39,0:pokev,170:pokev+1,150:y=170:x=150:sh=0
151 poke2042,193:pokev+41,11:rf=0:ut=110:pokev+42,0:poke2043,195
152 poke2041,14:pokev+40,0:pokev+2,x1:pokev+3,y1
180 s=notpeek(56321)and15:u=sand1:d=sand2:l=sand4:r=sand8:y1=0:x1=0
182 pokev+23,0:pokev+29,0
185 ifuthenx=x-m1:ifx<110thenx=x+m1
187 ifdthenx=x+m1:ifx>180thenx=x-m1
189 ifrtheny=y+m1:ify>245theny=y-m1
191 ifltheny=y-m1:ify<90theny=y+m1
200 pokev,y:pokev+1,x
210 j=notpeek(56321)and16:ifj=16thengosub245
230 bo=bo+.5:gosub310:goto180
245 sh=sh+1:x1=x:mr=y:hh=y/2:gosub400
247 fordd=ddtohhstep5:pokev+2,dd:pokev+3,x1:gosub330:next
250 poke2041,15:fordd=ddtomrstep5:pokev+2,dd:pokev+3,x1:gosub330:next
251 if(peek(v+30)and4)>0thenif(peek(v+30)and4)>0thengosub253
252 x1=0:dd=0:y1=0:pokev+2,x1:pokev+3,mr:poke2041,14:return
253 poke2041,192:pokev+23,2:pokev+29,2
254 pokev+3,x1-10:pokev+2,dd-12:gosub410:gosub495
258 forre=1to500:next:pokev+23,0:pokev+29,0
260 x1=0:dd=0:y1=0:pokev+2,x1:pokev+3,mr:poke2041,14:return
310 rf=rf+5:ifrf>215then350
315 pokev+4,rf:pokev+5,ut:return
330 rf=rf+1.8:ifrf>215thenrf=0
333 ifrf=0then340
335 pokev+4,rf:pokev+5,ut:return
340 rf=0:ut=110:rs=int(rnd(0)*60):ut=ut+rs:goto330
350 f1=rf:f2=ut:poke2042,194:pokev+6,f1:pokev+7,f2:gosub400
355 forq=f2to150step.4:pokev+7,q:next:pokev+29,8:pokev+23,8:pokev+6,f1-12
360 f2=150:forq=f2to230step.6:pokev+7,q:next:gosub410
390 pokev+6,0:pokev+7,0:pokev+4,0:pokev+5,0:rf=0:pokev+23,0:pokev+29,0
391 poke2042,193:goto499
400 s=54272:forl=stos+24:pokel,0:next:pokes+5,9:pokes+6,16:pokes+24,15
405 pokes+4,129:pokes+1,34:pokes,75:return
410 s=54272:forl=stos+24:pokel,0:next:pokes+5,11:pokes+6,16:pokes+24,15
415 pokes+4,129:pokes+1,54:pokes,111:return
420 s=54272:forl=stos+24:pokel,0:next:pokes+5,11:pokes+6,56:pokes+24,15
425 pokes+4,129:pokes+1,51:pokes,97:return
495 sc=sc+10:cb=0:rn=int(rnd(0)*15):cb=cb+rn:goto500
499 ar=ar-1
500 v=53248:print"":pokev+32,0:pokev+33,cb
501 rf=0:ut=110:rs=int(rnd(0)*60):ut=ut+rs:rf=rf+1.5:
502 printtab(7)"[152][169][223][146] [169][223][146] [169][223][146] [169][223][146] [144]score"
504 print" [152][169][223][146] [169] [146] [169] [223][146] [169] [223][146] [169] [223][146] [144]";sc
506 print" [152][169] [223][169] [223][146] [223][146] [169] [146] [169] [223][146] [144]armor"
508 print"[152][169] [223][169] [223][169] [169] [223][146][144]";ar
509 ifar=0then549
510 return
549 ll=18:bl=12:bb=15
550 print"":pokev+32,0:pokev+33,1
558 forq=5to7:printtab(q)"[144][205]"spc(10)"[205]":next
560 printtab(7)"[144][206]"spc(11)"[205]"spc(4)"[206][205]"
561 printtab(6)"[206]"spc(13)"[205]"spc(2)"[206]"spc(2)"[205]"
562 printtab(5)"[144][206]"spc(15)"[144][205][206]"spc(4)"[205]"
563 printtab(5)"[205]"spc(21)"[206]"spc(3)"[206][205]"
564 printtab(6)"[205]"spc(6)"[206][205]"spc(11)"[206]"spc(3)"[206]"spc(2)"[205]"
565 printtab(7)"[205]"spc(4)"[206]"spc(2)"[205]"spc(10)"[205]"spc(2)"[206]"spc(4)"[205]"
566 printtab(8)"[205]"spc(2)"[206]"spc(4)"[205]"spc(10)"[205][206]"spc(6)"[205]"
567 printtab(9)"[205][206]"spc(6)"[205]"spc(17)"[206]"
568 printtab(18)"[205]"spc(15)"[206]":forlb=1to6:printtab(ll)"[206]"spc(14)"[206]":ll=ll-1:next
570 forq=1to5:printtab(bl)"[206]"spc(bb)"[205]":bl=bl-1:bb=bb+2:next
580 restore:pokev+23,0:pokev+29,0:pokev+21,0:gosub420:forq=1to500step.1:next
585 s=54272:forl=stos+24:pokel,0:next:gosub1200
588 v=53248: bo=bo/10:xx=int(bo):sc=sc+xx:ifsc>hsthenhs=sc
589 print"[147]":pokev+32,0:pokev+33,1:poke53281,1
590 printtab(85)"[149]b*o*n*u*s ";xx;spc(3)"shots fired";sh:printtab(45)"your";
591 print" score";sc;spc(3)"high score ";hs:printtab(49)"your rank is [144]";b$
592 printtab(43)"[149]your total surviving time ";ti$
593 printtab(86)"want to play again? (y/n)"
595 getc$:ifc$=""then595
596 sc=0:b$="":ifc$="y"then599
597 ifc$="n"thensys64738
598 c$="":goto595
599 sh=0:sc=0:bo=0:xx=0:pokev+32,1:pokev+33,0:goto60
800 s=54272:forl=stos+24:pokel,0:next:pokes+5,9:pokes+6,0:pokes+24,15
801 readhf,lf,dr:ifhf=-1thenreturn
804 pokes+1,hf:pokes,lf:pokes+4,33:fort=1todr:next:pokes+4,32:goto801
810 data18,209,1024,15,210,512,18,209,512,16,195,1024,14,24,512,11,48,512
811 data18,209,200,16,195,200,15,210,200,14,24,200,15,210,512,22,96,512
812 data16,195,1024,11,48,1024,15,210,512,14,24,200,12,143,200,11,48,200
813 data10,143,200,11,48,200,12,143,200,11,48,512,16,195,512,14,239,512
814 data11,48,512,15,210,200,15,210,200,14,24,200,12,143,200,11,48,200
815 data10,143,200,11,48,200,12,143,200,11,48,512,16,195,1024,22,96,512
816 data18,209,1024,15,210,512,18,209,512,16,195,1024,14,24,512,1