home *** CD-ROM | disk | FTP | other *** search
- 10 rem fire-copter ==========c64
- 20 rem (p) commodore disc
- 30 rem =========================
- 40 rem (c) by peter bergen v3.5
- 50 rem hildesheim
- 60 rem
- 70 rem (v) a.mittelmeyer v2.0
- 80 rem
- 90 rem =========================
- 91 at=49152:re=49510:gosub92:goto99
- 92 if peek(49154)=174thenreturn
- 93 sys57812"sysmc",8,0:poke780,0
- 94 poke781,254:poke782,191
- 95 sys65493:return
- 99 gosub1670:fori=1to7:reada:f%(i)=a:next
- 100 gosub1900
- 110 a=rnd(-ti)
- 120 gosub1600:poker53281,0:poke53280,0:printchr$(147);
- 130 dimk%(30,15):e=1:n=0:ru=5:la=2
- 135 poke53280,0:poke53281,0
- 140 printchr$(147);:forb=3to34step6:fora=22to3step-e
- 150 poke646,6:sysat,b,a:printzv$"[193][194][195]";:sysat,b,a+e:print"[196][197][198][199]";:poke646,2:sysat,b,a+2:print"****";
- 160 forc=eto50:next:next:next
- 170 poke646,1:sysat,14,8:printfl$"fire- copter"fo$;:fora=eto2000:next
- 180 printchr$(147);:poke646,5:sysat,12,8:printfl$" bitte warten!"fo$;
- 190 poke53280,0:poke53281,0:gosub1080:w=50:gosub1420:gosub1540
- 200 t1=0:t2=0:t3=0:w=50:sp=2000:h1=1:v1=1:h=1:v=1:s1=10:s=10:so=100:sc=.06
- 210 bo=15:gosub340:goto580
- 220 poke646,f%((k%(h,v)+e)/2):sysat,h,v:printrn$" "rf$;:return
- 230 b=s+e:a=bo
- 240 gosub560
- 250 poke56322,244:jo=peek(56320):poke56322,255
- 251 ifjo=110andw>3thenw=w-e:sc=sc+.001:gosub540:gosub570:b=b+e:a=a+e
- 260 ifa<s+2thenu$="eine akute ueberhitzung":gosub340:goto980
- 270 ifb>bo-ethenkr=kr+1:goto290
- 280 a=a-e:goto240
- 290 poke56322,244:jo=peek(56320):poke56322,255
- 291 ifjo=127thengoto330
- 300 ifw<ethengoto330
- 310 w=w-e:sc=sc+.001:gosub540
- 320 goto290
- 330 fora=s+etobo:sysat,34,a:printb4$::next
- 340 poke646,9:fora=bo+2to23:sysat,34,a:printrn$b4$rf$;:next
- 350 poke646,1:sysat,34,24:print"[205][205][205][205]";:return
- 360 poke646,6:forb=s+etobo-e:gosub570:next:goto290
- 370 poke646,1:fora=21tosstep-e:sysat,35,a:print"[200][201]";:sysat,35,a+e:print"[202][203]";:sysat,35,a+2:printb2$;
- 380 next
- 390 gosub520:u$="eine luftraumueberschreitung":return
- 400 poke646,6:fora=s-etobo+e:sysat,34,a:printb4$;:sysat,34,a+e:printzv$"[193][194][195]";
- 410 sysat,34,a+2:print"[196][197][198][199]";:nexta:poke646,2:forb=a+2toa-2step-e
- 420 sysat,34,b:print"****";:forc=eto200:next:next:gosub530
- 430 u$="treibstoffmangel":return
- 440 gosub520:u$="eine zu harte landung":return
- 450 poke646,9:sysat,34,bo:printrn$b4$;:sysat,34,bo+e:printb4$rf$;:return
- 460 poke646,9:a=21
- 470 sysat,35,a:printrn$"[209]";:sysat,35,a+e:print"[208]";:sysat,35,a+2:print" "rf$;:gosub530
- 480 ifa<s+ethenreturn
- 490 a=a-e:sysat,35,a:printrn$"[207]";:sysat,35,a+e:print"[210]";:sysat,35,a+2:print" "rf$;:gosub530
- 500 ifa<s+ethenreturn
- 510 a=a-e:goto470
- 520 poke646,2:fora=s-etos+2:sysat,34,a:print"****";:next
- 530 fort=1to500:next:return
- 540 poke646,1:sysat,8,22:printright$(" "+str$(w),3):poke646,6:return
- 550 poke646,1:sysat,18,22:printp2:return
- 560 poke646,2:sysat,34,a:print"****";:return
- 570 poke646,6:sysat,34,b:print"[206][206][206][206]";:return
- 580 gosub220
- 590 ifvu=1thenvu=0:gosub230
- 600 poke56322,244:jo=peek(56320):poke56322,255
- 601 ifjo=110thengosub360
- 610 ifjo=123thent1=t1-.03
- 620 ifjo=119thent1=t1+.03
- 630 ifjo=125thent2=t2+.03
- 640 ifjo=126thent2=t2-.03
- 650 ifjo=111thent3=t3-sc:sp=sp-5
- 660 ift1>.8thent1=.8
- 670 ift2>.8thent2=.8
- 680 ift3<-.6thent3=-.6
- 690 h1=h1+t1:v1=v1+t2:s1=s1+t3:h=int(h1+.5):v=int(v1+.5):s=int(s1+.5):t3=t3+.02
- 700 sp=sp-.2
- 710 ifh<e orv<ethengosub370:goto980
- 720 ifh>30thenh=30:gosub220:gosub370:goto980
- 730 ifv>15thenv=15:gosub220:gosub370:goto980
- 740 ifk%(h,v)=14thenvu=1:k%(h,v)=k%(h-e,v)
- 750 poke646,1:sysat,h,v:printrn$"*"rf$;
- 760 bo=24-k%(h,v)
- 770 sysat,34,bo-2:printb4$;:sysat,34,bo-e:printb4$;
- 780 poke646,9:sysat,34,bo:printrn$b4$;:sysat,34,bo+e:printb4$rf$;:poke646,6
- 790 sysat,34,s-2:printb4$;:sysat,34,s-e:printzv$"[193][194][195]";:sysat,34,s:print"[196][197][198][199]";:sysat,34,s+e:printb4$rf$;
- 800 ifs>bo-2thengoto860
- 810 ifs<3thengosub370:goto980
- 820 sysat,2,20
- 830 printright$(" "+str$(int(t1*50+.5)),5);
- 831 printright$(" "+str$(int(t2*50+.5)),5);
- 832 printright$(" "+str$(int(t3*50+.5)),5);
- 833 printright$(" "+str$(int(sp)),5)
- 840 ifsp<nthengosub400:goto980
- 850 goto580
- 860 poke198,0
- 870 ift1>.02ort1<-.02ort2>.02ort2<-.02ort3>.2thengosub440:goto980
- 880 gosub450
- 890 ifnot(h=eorh=30)then930
- 900 ifnot(v=eorv=15)then930
- 910 w=50:sc=.06:p2=p2+p1:p1=0:gosub540:gosub550
- 920 ifkr=ruandp5=ethenp5=0:goto950
- 930 ifh=p3andv=p4thengosub460:p1=e:p5=1:gosub550:p3=0:p4=0:sysat,24,20:printb4$b$;
- 940 gosub530:t1=n:t2=n:t3=t3-.6:sp=sp-20:goto580
- 950 printchr$(147);:poke646,1:sysat,2,8:printrf$"sie haben ihren auftrag erfolgreich";
- 960 print,c4$c3$"beendet. fliegen sie nun zu ihrem":printc4$c3$"naechsten einsatzort!"
- 970 fora=1to2000:next:ks=ks+kr:ru=ru+2:kr=0:goto140
- 980 printchr$(147);:poke646,5:sysat,e,5:print"der einsatz wurde abgebrochen, weil "b4$;
- 990 printc4$;u$;" vorlag."
- 1000 poke646,2:printc4$c4$c4$" ihre bisherigen leistungen:"
- 1010 printc4$" kraterloeschungen :";ks+kr:print" gerettete personen:";p2
- 1020 poke646,5:printc4$c4$c4$" moechten sie dennoch den naechsten"
- 1030 printc4$" einsatz fliegen? (j=ja/n=nein)"
- 1040 geta$
- 1050 ifa$="j"thenprintchr$(147);:kr=0:ks=0:p2=0:p1=0:goto180
- 1060 ifa$="n"thennew
- 1070 goto1040
- 1080 ifla=1thengosub1270:la=2:goto1090
- 1081 gosub1120:la=1
- 1090 forb=eto15:fora=eto30:readc:k%(a,b)=c:next:next
- 1100 forb=eto15:fora=eto30:poke646,f%((k%(a,b)+e)/2):sysat,a,b:printrn$" "rf$;:next:next
- 1110 return
- 1120 sysre:data5,4,5,5,6,6,5,4,3,2,2,2,2,2,2,3,4,5,6,7,8,9,8,7,7,6,5,4,4,3
- 1130 data4,5,6,6,7,7,6,5,4,3,2,2,2,2,3,4,5,6,7,8,9,10,9,8,7,6,6,5,5,4
- 1140 data5,6,7,7,7,8,7,6,5,4,3,2,2,3,4,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3
- 1150 data6,7,8,8,8,9,8,7,6,5,4,3,3,4,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,4
- 1160 data7,8,9,9,9,10,9,8,7,6,5,4,4,5,6,7,8,9,10,11,10,11,10,9,8,8,7,6,5,4
- 1170 data8,9,9,9,10,11,10,9,8,7,6,5,5,6,7,8,7,8,9,10,10,11,10,9,8,7,6,5,4,4
- 1180 data8,9,9,10,11,12,11,10,9,8,7,6,6,5,6,7,6,7,8,9,10,11,10,9,9,8,7,6,5,5
- 1190 data9,10,11,12,13,12,11,10,9,8,7,6,5,6,6,5,6,7,8,9,10,9,9,8,7,6,5,5,6,6
- 1200 data8,9,10,11,12,12,12,11,10,9,8,7,6,6,7,6,5,5,6,7,8,9,10,9,8,7,6,5,6,6
- 1210 data7,8,9,10,11,11,11,10,9,8,7,6,6,5,6,5,6,5,5,6,7,8,9,10,9,8,7,6,7,7
- 1220 data6,7,8,9,10,10,10,9,8,7,6,5,5,6,5,5,5,4,5,6,7,8,9,10,10,9,8,7,8,8
- 1230 data5,6,7,8,9,9,9,8,7,6,5,4,4,5,4,4,4,3,4,5,6,7,8,9,10,10,9,8,9,9
- 1240 data5,5,6,7,8,8,9,8,7,6,5,4,3,4,3,3,4,4,5,6,7,8,9,9,10,11,10,9,10,10
- 1250 data4,4,5,6,7,8,8,7,6,5,4,3,3,3,2,2,3,4,5,6,7,8,9,8,9,10,11,10,11,11
- 1260 data3,3,4,5,6,7,7,6,6,5,4,3,2,2,2,2,3,4,5,5,6,7,7,7,8,9,10,11,12,11
- 1270 sysre:data7,7,7,7,7,8,9,10,9,8,7,6,5,4,3,2,2,3,4,5,4,3,2,2,2,2,2,2,3,4
- 1280 data8,7,7,7,8,9,10,11,10,9,8,7,6,5,4,3,3,4,5,6,5,4,3,2,2,2,2,2,3,3
- 1290 data8,8,7,8,9,10,11,12,11,10,9,8,7,6,5,4,4,5,6,7,6,5,4,3,2,2,2,2,2,2
- 1300 data8,8,8,9,10,11,12,13,12,11,10,9,8,7,6,5,5,6,7,8,7,6,5,4,3,2,2,2,2,2
- 1310 data7,8,8,8,9,10,11,12,11,10,9,8,7,6,5,5,6,7,8,9,8,7,6,5,4,3,2,2,2,2
- 1320 data7,7,8,8,8,9,10,11,10,9,8,7,6,5,5,6,7,8,9,10,9,8,7,6,5,4,3,2,2,2
- 1330 data7,7,8,8,8,8,9,10,9,8,7,6,5,5,6,7,8,9,10,11,10,9,8,7,6,5,4,3,3,3
- 1340 data7,8,8,8,9,8,8,9,8,7,6,5,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,4,4,4
- 1350 data8,8,8,9,10,9,8,8,7,6,5,5,6,7,8,9,10,11,12,13,12,11,10,9,8,7,6,5,5,5
- 1360 data8,8,9,10,11,10,9,8,7,6,5,5,5,6,7,8,9,10,11,12,11,10,9,8,7,6,5,5,6,6
- 1370 data8,9,10,11,12,11,10,9,8,7,6,5,5,5,6,7,8,9,10,11,10,9,9,8,7,6,6,6,6,7
- 1380 data9,10,11,12,13,12,11,10,9,8,7,6,5,5,5,6,7,8,9,10,9,9,10,9,8,7,6,7,7,7
- 1390 data8,9,10,11,12,11,10,9,8,7,6,5,4,4,4,5,6,7,8,9,9,10,11,10,9,8,7,7,7,7
- 1400 data8,8,9,10,11,10,9,8,7,6,5,4,3,3,4,5,6,7,8,9,10,11,12,11,10,9,8,7,7,7
- 1410 data8,8,8,9,10,9,8,7,6,5,4,3,3,4,5,6,7,8,9,10,11,12,13,12,11,10,9,8,7,7
- 1420 poke646,1:fora=nto24:sysat,33,a:printrf$"[204]"b4$"[204]";:next
- 1430 sysat,33,n:print"[218][205][205][205][205][218]";:sysat,33,24:print"[218][205][205][205][205][218]";
- 1440 poke646,5:fora=18to23:sysat,e,a:printrn$bl$rf$;:next
- 1450 sysat,2,19:printb2$"l/r"b2$"o/u"b3$"fg"b3$"ta ";:sysat,2,20:printleft$(bl$,21);
- 1460 poke646,5:sysat,2,n:print"a b c d e f g h i j k l m n o";
- 1470 b=e:sysat,n,2:fora=3to15step2:poke214,a:printchr$(b+48):b=b+e:next
- 1480 poke646,5:sysat,2,22:printb2$"lf:"b3$b3$"per:"b3$b3$;:gosub540:gosub550
- 1490 gosub1560
- 1500 p3=hz:p4=vz
- 1510 poke646,5:sysat,24,19:print" m/p ";:sysat,24,20:printb4$b$;:poke646,2
- 1520 b=int(p3/2+.5)+64
- 1530 sysat,25,20:print;chr$(b);int(p4/2+.5):return
- 1540 fora=etoru:gosub1560
- 1550 k%(hz,vz)=14:poke646,10:sysat,hz,vz:printrn$"o"rf$;:next:return
- 1560 hz=int(rnd(e)*27)+2:vz=int(rnd(e)*12)+2
- 1570 ifk%(hz,vz)=14ork%(hz-1,vz)=14thengoto1560
- 1580 return
- 1600 c=2559:gosub1680
- 1610 reada:ifa=-1thenreturn
- 1620 c=c+1:pokec,a
- 1630 goto1610
- 1670 sysre:data 5,13,7,8,9,12,15
- 1680 sysre:data15,96,176,176,184,185,255,191
- 1690 data255,3,15,63,112,230,230,247
- 1700 data255,0,128,224,16,8,38,35
- 1710 data192,0,0,0,0,0,0,192
- 1720 data191,126,121,59,59,11,1,0
- 1730 data255,0,255,255,254,254,255,31
- 1740 data255,0,254,63,31,31,63,255
- 1750 data248,254,31,239,231,230,232,0
- 1760 data1,1,3,3,3,7,7,7
- 1770 data128,128,192,192,192,224,224,224
- 1780 data7,7,7,15,31,29,24,16
- 1790 data224,224,224,240,248,184,24,8
- 1800 data24,24,24,24,24,24,24,24
- 1810 data0,0,0,255,255,0,0,0
- 1820 data136,170,34,0,136,170,34,0
- 1830 data2,50,50,50,2,124,184,184
- 1840 data184,128,184,76,68,72,76,192
- 1850 data128,152,152,152,128,124,58,58
- 1860 data58,2,56,36,68,36,100,2
- 1870 data-1
- 1880 rem nachspann ===========
- 1890 rem farbcodes/steuercodes
- 1900 c4$=chr$(017):rn$=chr$(018)
- 1910 c3$=chr$(029):fl$=chr$(130)
- 1920 fo$=chr$(132):rf$=chr$(146)
- 1930 b$=" ":b2$=b$+b$:b3$=b2$+b$:b4$=b3$+b$
- 1940 bl$=b4$+b4$:bl$=bl$+bl$+bl$+b4$+b2$
- 1950 rem * zeichensatz/graphik
- 1960 zv$=chr$(192)
- 1970 return
- 1980 rem =====================
-