home *** CD-ROM | disk | FTP | other *** search
- 2 rem chopper flight by mike buhidar jr. and kevin woram
- 4 cn=0:poke832,0:bc=53280:goto12
- 6 printtab(10);
- 8 d=d-8:pokecp,d:pokepl,192:forw=1to12:next:pokepl,193
- 10 gosub122:forw=1to12:next:return
- 12 m1=0:gosub258:gosub132:fa=3:d=215
- 14 pokev,164:pokev+31,0:gosub302
- 16 print"[147]enter skill level (1-6)"
- 18 rm=14:ws=11:gosub258
- 20 getsl$:ifval(sl$)<1orval(sl$)>6then20
- 22 gosub132
- 24 pokev+31,0:ls=192:q=4:m=88:u=83
- 26 br$="[149][178][177][178][177][178][177][178][177][178][177]":b2$="[149][178][177][178][177][178][177][178][177][178][177]":hd=4-sl/3:gh=hd-1:md=int(gh*30)
- 28 wn$="[149][177][178][177][146] [178][177][178][146] [177][178][146][152][207][183][190]":w2$="[152][188][183][208][149][177][178][177][146] [178][177][178][146] [177][178][146]":ifhd>3thenhd=3
- 30 tr$="[149][177][178][177][152][183][183][183][183][149][178][177][178][146]":os$="[149][178][177][178][146] [177][178][177][146]"
- 32 f$="[152][186] [146][204][146]":sb=13+(2*sl):pokez,peek(z)and239:td=(7-sl)*10
- 34 print"[147]":rf$="[152][208][175][175][175][175][175][175][175][175][175][175][146][207]":printrf$spc(rm)rf$:pokev+1,y:pokev,x
- 36 gosub374
- 38 print"[145]"br$spc(n)br$
- 40 forp=1to5:printwn$spc(ws)w2$:printbr$spc(n)br$:printb2$spc(n)b2$:next
- 42 pokez,peek(z)or16
- 44 ti$="000000":forl4=1tosb:fork=1toq
- 46 printwn$spc(ws)w2$:gosub80
- 48 printbr$spc(n)br$:gosub80
- 50 printb2$spc(n)b2$:gosub80:next
- 52 mp=int(rnd(1)*2)*rm:printtab(13+mp)"[129][145][216]":next
- 54 printwn$spc(ws)w2$:gosub80
- 56 printtr$spc(15)tr$:gosub80:fork=1to3:printos$spc(15)os$:gosub80:next
- 58 printos$spc(5)"[152][175][175][175][175][175][175]"spc(4)os$
- 60 printf$spc(4)"[152][215][215][215][215][215][215]"spc(4)f$;
- 62 print"[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][183][183][183][183][183][183][183][183][183][183][183][183][183]":gosub80
- 64 cp=833:forp=peek(v+1)to211step2:d=d+8:pokev+1,p:gosub8:next:pokepl,193
- 66 print"[158]you did it!":form=1to2000:next
- 68 zz=val(ti$):forhh=0to1000:next:pokev,0:gosub358
- 70 print" press trigger to play again."
- 72 b=peek(jl)and16:ifb=0then76
- 74 goto72
- 76 clr:goto16
- 78 rem joystick routine
- 80 fr=(peek(jl)and16)/16+1:onfrgoto110,116
- 82 sp=192:xd=hd:yd=0:return
- 84 sp=194:xd=-hd:yd=0:return
- 86 sp=ls:xd=0:yd=0:return
- 88 sp=ls:yd=-hd:xd=0:return
- 90 sp=ls:yd=hd:xd=0:return
- 92 sp=194:xd=-hd:yd=-hd:return
- 94 sp=194:xd=-hd:yd=hd:return
- 96 sp=192:xd=hd:yd=-hd:return
- 98 sp=192:xd=hd:yd=hd:return
- 100 return
- 102 pokebc,8:return
- 104 pokebc,2:return
- 106 pokehf,20:x1=x:pokev+40,2:gosub284
- 108 rem slower fall
- 110 gosub122:fa=fa+2:iffa>50then252
- 112 gosub240:return
- 114 rem faster fall
- 116 gosub122:iffa<1thenfa=2
- 118 fa=fa-2:gosub240:return
- 120 rem sound
- 122 pokehf,7:pokelf,53:pokehf,0:pokelf,0:pokehf,7:pokelf,163:pokelf,0:pokehf,0
- 124 forg1=0to(50-fa):next
- 126 pokehf,7:pokelf,53:pokehf,0:pokelf,0:pokehf,7:pokelf,163:pokelf,0:pokehf,0
- 128 return
- 130 sprite initialization
- 132 print"[147]":pokebc,0:pokebc+1,0
- 134 v=53248:pl=2040:pokev+21,7:x=170:y=100:sp=192:pokev+39,15:pokepl,sp
- 136 pokepl+1,196:pokev+40,12
- 138 pokepl+2,197:pokev+28,4:pokev+41,8:pokev+37,7:pokev+38,2
- 140 pokev+29,4:pokev+23,4:print"[147]reading data..."
- 142 ifpeek(12660)=150then148
- 144 r=12288:forg=1to6:fori=1to63:reada:dc=dc+a:poker,a:r=r+1:next:r=r+1:next
- 146 ifdc<>27628thenprint"[147]error in data. . .":stop
- 148 jl=56320:n=15:z=53265:cd=53269
- 150 pokez,peek(z)and247:pokez,(peek(z)and248)+7:return
- 152 rem sprite data
- 154 data0,0,0,0,0,0,0,0,0,1,255,255,0,1,0,0,7,192,0,31,240
- 156 data192,63,136,224,63,4,255,255,2,255,255,130,0,63,130,0,47,252,0,15,248
- 158 data0,6,248,1,4,17,1,140,27,0,255,254,0,0,0,0,0,0,0,0,0
- 160 data0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,7,192,0,31,240
- 162 data192,63,136,224,63,4,255,255,2,255,255,130,0,63,130,0,47,252,0,15,248
- 164 data0,6,248,1,4,17,1,140,27,0,255,254,0,0,0,0,0,0,0,0,0
- 166 data0,0,0,0,0,0,0,0,0,255,255,128,0,128,0,3,224,0,15,248,0
- 168 data17,252,3,32,252,7,64,255,255,65,255,255,65,252,0,63,248,0,31,240,0
- 170 data12,96,0,136,32,128,216,49,128,127,255,0,0,0,0,0,0,0,0,0,0
- 172 data0,0,0,0,0,0,0,0,0,0,128,0,0,128,0,3,224,0,15,248,0
- 174 data17,252,3,32,252,7,64,255,255,65,255,255,65,252,0,63,248,0,31,240,0
- 176 data12,96,0,136,32,128,216,49,128,127,255,0,0,0,0,0,0,0,0,0,0
- 178 data0,0,0,0,62,0,0,119,0,0,239,128,0,207,128,0,255,128,0,0,0
- 180 data0,127,0,0,127,0,0,127,0,0,62,0,0,62,0,0,62,0,0,28,0
- 182 data0,127,0,0,235,128,0,193,128,1,128,192,1,128,192,1,0,64,1,0,64
- 184 data0,20,0,0,85,0,1,150,64,5,105,80,5,170,80,38,170,152,42,170,168
- 186 data46,170,184,91,190,229,122,255,173,119,255,221,90,255,165,27,190,232
- 188 data46,170,184
- 190 data42,170,168,5,170,80,5,105,80,1,150,64,0,85,0,0,20,0,0,0,0
- 192 rem sprite-data collision
- 194 xp=x-24:yp=y-54:cx=int(xp/8):cy=int(yp/8):bb=1104+cx+(40*cy)
- 196 p1=peek(bb):p2=peek(bb+1):p3=peek(bb+2):p4=peek(bb+3)
- 198 ifp1=uorp2=uorp3=uorp4=uthenreturn
- 200 ifp1=morp2=morp3=morp4=mthen204
- 202 goto206
- 204 pokeh1,50:forl=0to49:next:pokeh1,0
- 206 ifp1=(m)then226
- 208 ifp2=(m)then228
- 210 ifp3=(m)then230
- 212 ifp4=(m)then232
- 214 rem put explosion here
- 216 e$="crashed into a building,"
- 218 pokehf,7:x=x-12:y=y-10:pokev+4,x:pokev+5,y:forwa=1to255:pokelf,wa:next
- 220 pokev+21,0
- 222 pokehf,0:pokelf,0:gosub268
- 224 rem pick up man here
- 226 ms=ms+1:pokebb,u:return
- 228 ms=ms+1:pokebb+1,u:return
- 230 ms=ms+1:pokebb+2,u:return
- 232 ms=ms+1:pokebb+3,u:return
- 234 pokehf,7:x=x-12:y=y-10:pokev+4,x:pokev+5,y:forwa=1to255:pokelf,wa:next
- 236 pokehf,0:pokelf,0:return
- 238 rem movement routine
- 240 jv=n-(peek(jl)andn)+1:tl=int((val(ti$))/td)+1:gosub292
- 242 ifpeek(v+31)andx=xthengosub192
- 244 ontlgosub100,100,100,102,104,106
- 246 onjvgosub86,88,90,100,84,92,94,100,82,96,98:ls=sp
- 248 pokepl,sp:x=x+xd:pokev,x:y=peek(v+1)+yd:pokev+1,y:pokepl,sp+1:return
- 250 rem hovering routine
- 252 fr=(peek(jl)and16)/16+1:iffr=2thenfa=48:goto110
- 254 gosub240
- 256 gosub122:goto252
- 258 rem sound initialization
- 260 s=54272:forq=stos+24:pokeq,0:next
- 262 pokes+24,15:pokes+5,18:pokes+6,33
- 264 pokes+4,129:hf=54273:lf=54272
- 266 pokes+12,255:pokes+13,255:pokes+11,17:h1=54280:l1=54279:return
- 268 rem end routine
- 270 pokebc,0:cn=peek(832):cn=cn+1
- 272 print"[147]chopper v -"cn;e$
- 274 print"send for replacement pilot immediately!":pokev+5,0:poke832,cn
- 276 fork=0to999:next:zz=val(ti$):gosub358
- 278 goto70
- 280 rem missile moving routine
- 282 pokehf,20:x1=int(rnd(0)*68)+144
- 284 fory1=255to0step-10:pokelf,(255-y1)
- 286 pokev+2,x1:pokev+3,y1:ifpeek(v+30)and1=1thenifpeek(v+30)and2=2then300
- 288 next:pokev+31,0:m1=0:return
- 290 rem missile select
- 292 m1=m1+1:ifm1<mdthenreturn
- 294 pokehf,5:pokelf,5
- 296 ifm1>md+10then282
- 298 return
- 300 pokev+2,0:e$="destroyed by enemy fire,":goto218
- 302 rem title screen
- 304 forl=1to22:print:next
- 306 fork=1to3:printtab(19)"[152][194]":next
- 308 t$(1)="[159][213][195][195][195][201][213][201][213][201][213][195][195][201][213][195][195][201][213][195][195][201][213][195][195][201][213][195][195][195][201]"
- 310 t$(2)="[194] [213][201][194][194][194][194][194][194][213][201][194][194][213][201][194][194][213][201][194][194][213][195][203][194][213][201] [194]"
- 312 t$(3)="[194] [194][202][203][194][202][203][194][194][194][194][194][194][202][203][194][194][202][203][194][194][202][195][201][194][202][203] [194]"
- 314 t$(4)="[194] [194][213][201][194][213][201][194][194][194][194][194][194][213][195][203][194][213][195][203][194][213][195][203][194][213][201][213][203]"
- 316 t$(5)="[194] [202][203][194][194][194][194][194][194][202][203][194][194][194] [194][194] [194][202][195][201][194][194][194][194]"
- 318 t$(6)="[202][195][195][195][203][202][203][202][203][202][195][195][203][202][203] [202][203] [202][195][195][203][202][203][202][203]"
- 320 t$(7)="":t$(8)="":j$(1)="[213][195][195][195][201][213][201] [213][195][195][201][213][195][195][201][213][201][213][201][213][195][195][195][195][201]"
- 322 j$(2)="[194][160][213][195][203][194][194][160][160][202][201][213][203][194][213][195][203][194][194][194][194][202][195][201][213][195][203]"
- 324 j$(3)="[194][160][202][195][201][194][194][160][160][160][194][194][160][194][194][213][201][194][202][203][194][160] [194][194][160]"
- 326 j$(4)="[194][160][213][195][203][194][194][160][160][160][194][194][160][194][194][194][194][194][213][201][194][160] [194][194][160]"
- 328 j$(5)="[194][160][194][160][160][194][202][195][201][213][203][202][201][194][202][203][194][194][194][194][194][160] [194][194][160]"
- 330 j$(6)="[202][195][203][160][160][202][195][195][203][202][195][195][203][202][195][195][203][202][203][202][203][160] [202][203][160]"
- 332 bl$="[194] [194]":n1$="[194]michael buhidar jr.[156][194]"
- 334 tp$="[156] [213][195][195][195][195][195][195][195][195][195][195][195][201]":db$="[213][195][195][195][203]designed by[156][202][195][195][195][201]"
- 336 an$="[156][194] and[156] [194]":n2$="[194] kevin woram [156][194]"
- 338 cr$="[156][194] [156][194]":ed$="[202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203]"
- 340 cp=v+1:forl=1to7:gosub8:printtab(5)t$(l):next
- 342 forl=1to6:gosub8:printtab(7)j$(l):next
- 344 print:gosub8
- 346 gosub6:printtp$:gosub6:printdb$:gosub6:printbl$:gosub6
- 348 printn1$:gosub6:printan$:gosub6:printn2$
- 350 gosub6:printcr$:gosub6:printed$:gosub6:print
- 352 printtab(10)"press trigger to play"
- 354 b=peek(jl)and16:ifb=0thenreturn
- 356 goto354
- 358 rem final score
- 360 pokebc,0:fs=100*ms*sl+(500-zz):ts=(40-(14+ms))/2
- 362 ifms=0thenprint"[147]":printtab(13)"[156]no men rescued":goto370
- 364 print"[147]":printtab(ts)"men rescued: ";:formr=1toms:print"[129][216]";:next:print
- 366 printtab(14)"bonus: ";:forhh=1toms:o=o+100:pokeh1,100:form=1to150:next
- 368 pokeh1,0:print""tab(21)o;:next:print
- 370 printtab(11)"your score: "fs""
- 372 forjj=0to1000:next:return
- 374 rem movement checker
- 376 restore
- 378 r=12288:forg=1to6:fori=1to63:reada:dc=dc+a:r=r+1:next:r=r+1:next
- 380 data173,1,208,201,50,144,7,201,229,176,11,76,49,234,105,4,141,1,208,76
- 382 data49,234,233,4,141,1,208,76,49,234
- 384 rem interrupt setup
- 386 data120,169,0,141,20,3,169,192,141,21,3,88,96
- 388 forp=49152to49194:reada:pokep,a:next
- 390 sys49182:return
-