'-------------------------------------- 'BIERSCHEN V1.0a ' 'Released ®25/08/93 by Volker Stepprath 'Copyright BIERSCHEN ©1993 by Testaware '-------------------------------------- ' Close Workbench Request Off Break Off Amos Lock ' Dim XALIEN$(15),XEXPLOSION$(15),XHIGH(9),XHIGH$(9) ' Global HA$,XHIGH(),XHIGH$(),XHIGHOK Global XALIENANZ,XEXPLOSION$,XALIEN$(),XEXPLOSION$() Global XSHIPS,XLEVEL,XPOINTS,XLASERANZ,XLOST,XTREFFER Global XTSHOOTS,XTHITS,XTLOST,XTTIME,XTTALENT# ' Fix(2) ' Unpack 16 To 0 Screen Hide 0 Hide On ' _INTRO _GETHERO ' Do _MAIN _GAME Loop ' Procedure _INTRO If Exist(".bierschenhigh") On Error Proc _FEHLER Resume Label _BEERS Open In 1,".bierschenhigh" For I=0 To 9 Input #1,XHIGH$(I) Input #1,XHIGH(I) Next I Close 1 Wait 50 Else _BEERS: For I=0 To 9 Read XHIGH$(I) XHIGH(I)=11000-(I*1000+1000) Next I End If Wait 100 ' If Length(3) Then Music 1 ' Unpack 14 To 2 Fade 2,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Wait 30 Fade 2,,$600,$800,$A20,$A40,$C60,$C80,$EC0 : Wait 200 Fade 2,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Wait 30 Fade 2 : Wait 60 ' Screen Open 2,320,256,4,Lowres Cls 0 : Wait 10 _TC["PRESENTS",130,105,2,0] : Wait 150 : Flash Off : Fade 1 : Wait 15 : Cls 0 ' _TC["A GAME WRITTEN IN AMOS",72,105,2,0] : Wait 150 : Flash Off : Fade 1 : Wait 15 : Cls 0 ' Screen Copy 0,0,130,236,178 To 2,43,90 Fade 1,,$FFF,$F : Wait 250 Fade 1 : Wait 15 : Cls 0 ' _TC["TESTING",132,20,2,1] : _TC["KARSTEN BLANK",108,30,2,1] _TC["SOUND",140,50,2,1] : _TC["THE DEZECRATOR",104,60,2,1] : _TC["VOLKER STEPPRATH",98,70,2,1] _TC["GRAPHICS",128,90,2,1] : _TC["DAVID MCLACHLAN",100,100,2,1] : _TC["VOLKER STEPPRATH",98,110,2,1] _TC["PROGRAMMING",116,130,2,1] : _TC["VOLKER STEPPRATH",98,140,2,1] _TC["AMOS/ACMP",124,160,2,1] : _TC["FRANCOIS LIONET",102,170,2,1] : _TC["EUROPRESS SOFTWARE",90,180,2,1] _TC["BIERSCHEN ©1993 BY TESTAWARE",48,220,2,0] _WAIT ' _TC["WIR SCHREIBEN DAS JAHR 2294.",20,30,2,1] _TC["DAS BIER IST AEUSSERST KNAPP!",20,40,2,1] _TC["DU BIST EINER DER LETZTEN HOPFEN",20,50,2,1] _TC["UND MALZ ANBAUER DER GALAXIS!",20,60,2,1] _TC["KURZ VOR DER REICHEN ERNTE WOLLEN",20,80,2,1] _TC["ALKOHOLABHAENGIGE ALIENS DEINE",20,90,2,1] _TC["WERTVOLLEN PLANTAGEN AUSPLUENDERN.",20,100,2,1] _TC["DIR BLEIBT KEINE WAHL...",20,120,2,1] _TC["...DENN ES GEHT UM LECKERES BIER!",20,130,2,1] _TC["PROST",200,160,2,1] _TC["(MAN... DIE STORY GEHT INS BLUT)",20,190,2,0] _WAIT ' Data "GUINESS","KILKKENNY","CORONA","SOL","HANSAEXPORT" Data "FRUEHKOELSCH","PAULANA","ERDINGER","FAXE","ELEPHANT" End Proc Procedure _MAIN Screen Open 2,320,256,4,Lowres : Cls 0 XTSHOOTS=0 XTHITS=0 XTLOST=0 XTTIME=0 XTTALENT#=0 ' XSHIPS=9 XLEVEL=0 XPOINTS=0 ' _TC["LINKS ENDE / RECHTS START",60,100,2,0] ' Do If Joy(1)=8 Flash Off : Fade 1 _MUSICOFF Cls 0 : Exit End If ' If Joy(1)=4 If XHIGHOK On Error Proc _FEHLER Resume Label _END Open Out 1,".bierschenhigh" For I=0 To 9 Print #1,XHIGH$(I) Print #1,XHIGH(I) Next I Close 1 End If _END: Flash Off : Fade 1 _MUSICOFF Request On Wait 100 End End If Loop End Proc Procedure _FEHLER Resume Label End Proc Procedure _GAME ' Screen Open 3,320,8,2,Lowres Flash Off Curs Off Colour 1,$0 Cls 0 ' _SCREEN ' _GOONULF: '* Landscape '* -------------------------------------------------- Unpack 15 To 1 For I=0 To 7 : Colour I,$0 : Next I ' Inc XLEVEL XTREFFER=0 : XLASERANZ=0 : XLOST=0 : XTREFFERMAX=60 ' If XSHIPS>9 Then A$="" Else A$="0" If XLEVEL>9 Then B$="" Else B$="0" C$=" 0000000" Mid$(C$,9-Len(Str$(XPOINTS)-" "))=Str$(XPOINTS)-" " _TX["SHIPS:"+A$+Str$(XSHIPS)-" "+" LEVEL:"+B$+Str$(XLEVEL)-" "+" POINTS:"+C$-" ",0,0,3] Screen 1 : Fade 1,,$117,$4,$BDF,$9BF,$78F,$55F,$238 : Wait 15 Screen 3 : Fade 1,,$4F : Wait 15 ' Screen 2 Randomize Timer For I=0 To 20 Plot Rnd(330),Rnd(155)+10,15 Next I Fade 1,,,,,,,,,,,,,,,,$EEE _TX["ALERT",156,82,2] Flash 1,"(000,8)(100,1)(300,1)(500,1)(700,1)(900,1)(B00,1)(D00,1)(F00,8)(D00,1)(B00,1)(900,1)(700,1)(500,1)(300,1)(100,1)" While Joy(1)<16 : Wend Flash Off Fade 1,,$0 Wait 15 Ink 0 : Bar 157,82 To 195,89 Double Buffer ' '* Held & Aliens installieren '* -------------------------------------------------- On XLEVEL Proc _LEVEL01,_LEVEL02,_LEVEL03,_LEVEL04,_LEVEL05,_LEVEL06 Bob 1,10,100,1 Amal 1,HA$ Amreg(0)=0 Fade 1 To 0 : Wait 15 Amal On Make Mask Timer=0 LVOFORBID=Execall(-132) ' Do ' '* Wurde Held getroffen '* --------------------------------------------------- If Bob Col(1,3 To 15) Amal Off 1 Amal 1,"A 1,(9,3)(10,3)(11,3)(12,3)(13,3)(14,3)(15,3)(16,3)(17,3)(18,3)" Amal On 1 If Length(5) : Sam Play 9,2,9000 : End If Wait 30 Dec XSHIPS : Inc XLOST If XSHIPS=-1 : Bob 1,0,-200,1 : Exit : End If If XSHIPS<10 : A$="0" Else A$="" : End If _TX[A$+Str$(XSHIPS)-" ",48,0,3] Amal 1,HA$ Amal On 1 End If ' ' '* Feuertaste drÜcken und Laser abschießen '* --------------------------------------------------- If Amreg(0)<>0 Amreg(0)=0 If Chanmv(2)=0 X=X Bob(1) : Y=Y Bob(1) Bob 2,X+34,Y+8,19 Amal 2,"M"+Str$(320-X)+",0,"+Str$((320-X)/12)+";LY=-200" Amal On 2 If Length(5) : Sam Play 2,1 : End If Inc XLASERANZ End If End If ' ' '* Testen ob Treffer und Explosion '* --------------------------------------------------- If Chanmv(2) If Bob Col(2) For I=4 To 4+XALIENANZ If Bob Col(I,1 To 2)<>0 and Amreg(I-3)=0 Bob Off 2 Amal Off I Amal I,XEXPLOSION$(I-3)+XALIEN$(I-3) Amal On I If Length(5) If XLEVEL<6 Sam Play 4,2,8000+Rnd(3000) Else Sam Play 4,3,21000 End If End If Add XPOINTS,100 C$=" 0000000" Mid$(C$,9-Len(Str$(XPOINTS)-" "))=Str$(XPOINTS)-" " _TX[C$-" ",264,0,3] Inc XTREFFER End If Next I End If End If ' ' If XTREFFER=>XTREFFERMAX Then Exit ' Loop ' LVOPERMIT=Execall(-138) _STATISTIC ' If XSHIPS>-1 and XLEVEL<6 Goto _GOONULF Else Wait 80 End If ' End Proc Procedure _STATISTIC T=Timer ' '* Alles aus '* --------- Wait 30 For I=4 To 15 Amal Off I Next I Wait 10 ' If XSHIPS>-1 and XLEVEL<6 For I=4 To 3+XALIENANZ Amal I,XEXPLOSION$(I-3) Amal On I If Length(5) : Sam Play 4,2,8000+Rnd(3000) : Wait 10 : End If Next I Wait 50 Amal Off 1 Amal 1,"A0,(1,3)(2,3)(3,3)(4,3)(5,3)(6,3)(7,3);Loop:M"+Str$(370-X Bob(1))+",0,100" Amal On 1 Wait 130 End If If XSHIPS>-1 and XLEVEL=6 Amal 4,"A1,(25,1)" X=X Bob(4) : Y=Y Bob(4) : I=0 Repeat N=Rnd(5)+5 If Chanan(N)<>-1 Bob N,X-8+Rnd(26),Y-8+Rnd(26),9 Amal N,"A1,(9,3)(10,3)(11,3)(12,3)(13,3)(14,3)(15,3)(16,3)(17,3)(18,3);FR0=0T14;P;NR0;LX=352" Amal On N If Length(5) : Sam Play 4,2,9000+Rnd(2000) : Wait 10 : End If Inc I End If Until I=30 Wait 60 End If ' Screen 2 : Fade 1 : Wait 15 : Bob Off Screen 1 : Fade 1 : Wait 15 Screen 3 : Fade 1 : Wait 15 Amal Off ' If Length(3) Then Music 1 ' If XSHIPS>-1 and XLEVEL=6 Then _ALLDONE ' '* Statistiken '* ----------- _SCREEN If XSHIPS=-1 _TX["GAME OVER",140,95,2] Fade 1,,$F00 : Wait 15 _WAIT End If A#=Max(1,XLASERANZ) : A#=((100.0/A#)*XTREFFER) B#=XLOST : B#=(100.0/(B#+1)) A#=(A#+B#)/2 If XTREFFER=0 Then A#=0.0 XTTALENT#=XTTALENT#+A# Add XTSHOOTS,XLASERANZ Add XTHITS,XTREFFER Add XTLOST,XLOST Add XTTIME,T ' If XSHIPS>-1 _TC["LEVEL STATISTIC",118,50,2,1] _TC["LEVEL.........."+Str$(XLEVEL)-" ",114,70,2,1] A$=" ....." : Mid$(A$,7-Len(Str$(XLASERANZ)-" "))=Str$(XLASERANZ)-" " _TC["SHOOTS....."+A$-" ",114,80,2,1] A$=" ....." : Mid$(A$,7-Len(Str$(XTREFFER)-" "))=Str$(XTREFFER)-" " _TC["HITS......."+A$-" ",114,90,2,1] If XLOST<10 : A$="." Else A$="" : End If _TC["LOST.........."+A$+Str$(XLOST)-" ",114,100,2,1] N=T/50 : H=N/3600 : M=N/60-H*60 : S=N-(H*3600+M*60) M$=" 00" : Right$(M$,Len(Str$(M))-1)=Str$(M)-" " S$=" 00" : Right$(S$,Len(Str$(S))-1)=Str$(S)-" " _TC["TIME......."+M$-" "+":"+S$-" ",114,110,2,1] A$="" If A#<100 : A$="." : End If If A#<10 : A$=".." : End If _TC["TALENT..."+A$+Str$(A#)-" "+"%",114,120,2,1] If A#>39.99 : Inc XSHIPS : End If XPOINTS=XPOINTS+A#*100 A$=" ......." : Mid$(A$,9-Len(Str$(XPOINTS)-" "))=Str$(XPOINTS)-" " _TC["POINTS..."+A$-" ",114,130,2,0] _WAIT If XLEVEL<6 : _MUSICOFF : End If End If ' If XLEVEL=6 or XSHIPS=-1 ' _TC["TOTAL STATISTIC",118,50,2,1] _TC["LEVEL.........."+Str$(XLEVEL)-" ",114,70,2,1] A$=" ....." : Mid$(A$,7-Len(Str$(XTSHOOTS)-" "))=Str$(XTSHOOTS)-" " _TC["SHOOTS....."+A$-" ",114,80,2,1] A$=" ....." : Mid$(A$,7-Len(Str$(XTHITS)-" "))=Str$(XTHITS)-" " _TC["HITS......."+A$-" ",114,90,2,1] If XTLOST<10 : A$="." Else A$="" : End If _TC["LOST.........."+A$+Str$(XTLOST)-" ",114,100,2,1] N=XTTIME/50 : H=N/3600 : M=N/60-H*60 : S=N-(H*3600+M*60) M$=" 00" : Right$(M$,Len(Str$(M))-1)=Str$(M)-" " S$=" 00" : Right$(S$,Len(Str$(S))-1)=Str$(S)-" " _TC["TIME......."+M$-" "+":"+S$-" ",114,110,2,1] A#=XTTALENT#/6 A$="" If A#<100 : A$="." : End If If A#<10 : A$=".." : End If _TC["TALENT..."+A$+Str$(A#)-" "+"%",114,120,2,1] XPOINTS=XPOINTS+A#*100 A$=" ......." : Mid$(A$,9-Len(Str$(XPOINTS)-" "))=Str$(XPOINTS)-" " _TC["POINTS..."+A$-" ",114,130,2,0] _WAIT ' _HIGHSCORE ' End If ' End Proc Procedure _MUSICOFF If Length(3) For I=63 To 0 Step -1 Mvolume I : Wait Vbl Next I Music Off Mvolume 63 End If End Proc Procedure _WAIT While Joy(1)>15 : Wend While Joy(1)<16 : Wend Flash Off Fade 1 Wait 15 Cls 0 End Proc Procedure _HIGHSCORE If XPOINTS>XHIGH(9) _TC["DAS WAR EIN HARTES STUECK ARBEIT ALTER!",20,10,2,1] _TC["ZUR BELOHNUNG GIBT ES ZWAR KEIN BIER",20,20,2,1] _TC["ABER IMMERHIN KANNST DU DICH IN DER",20,30,2,1] _TC["EWIGEN BESTENLISTE EINTRAGEN!",20,40,2,1] _TX["#",20,60,2] ' Repeat N=0 While N=0 : N=Asc(Upper$(Inkey$)) : Wend If N>31 and N<>35 and Len(N$)<16 N$=N$+Chr$(N) End If If N=8 and Len(N$)>0 N$=Left$(N$,Len(N$)-1) End If _TX[N$+"# ",20,60,2] Clear Key Until N=13 ' XHIGH(9)=XPOINTS XHIGH$(9)=N$ XHIGHOK=True ' For I=0 To 8 For I2=I+1 To 9 If XHIGH(I2)>XHIGH(I) Swap XHIGH(I2),XHIGH(I) Swap XHIGH$(I2),XHIGH$(I) End If Next I2 Next I ' Flash Off : Fade 1 : Wait 15 : Cls 0 End If ' _TC["HIGHSCORE",140,50,2,1] For I=1 To 10 If I<10 Then A$="0" Else A$="" B$=A$+Str$(I)-" "+". "+XHIGH$(I-1)+String$(".",16-Len(XHIGH$(I-1)))+" "+String$("0",7-Len(Str$(XHIGH(I-1))-" "))+Str$(XHIGH(I-1))-" " If I=10 : C=0 Else C=1 : End If _TC[B$,64,I*10+65,2,C] Next I _WAIT End Proc Procedure _ALLDONE Screen Open 2,320,256,4,Lowres : Cls 0 ' _TC["NA ALSO!",0,60,2,1] _TC["DEN ALIENS IST DER DURST",0,70,2,1] _TC["AUF BIER NUN ENDLICH VERGANGEN.",0,80,2,1] _TC["UND EINES IST IHNEN EINE LEHRE...",0,100,2,1] _TC["...WENN ES UM SUEFFIGEN MEET GEHT",0,120,2,1] _TC["DANN HOERT BEI DIR DER SPASS AUF.",0,130,2,1] _TC["ACH JA...HERZLICHEN GLUECKWUNSCH!",0,160,2,0] _WAIT End Proc Procedure _SCREEN Screen Open 2,352,178,16,Lowres Screen Hide Flash Off Curs Off For I=0 To 15 : Colour I,$0 : Next I Cls 0 Screen Display 2,,58,, Screen Show End Proc Procedure _TX[N$,X,Y,S] A$="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-*:=!$%&/()?<>.,_©# " L=Len(N$)-1 ' For I=0 To L B$=Mid$(N$,I+1,1) N=Instr(A$,B$) If N>0 If N<40 : A=240 Else A=248 : Add N,-39 : End If Screen Copy 0,(N-1)*8-1,A,N*8-1,A+8 To S,X+I*8,Y End If Next I End Proc Procedure _TC[N$,X,Y,S,C] Colour 1,$F0 : Flash 2,"(0F0,15)(000,15)" ' A$="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-*:=!$%&/()?<>.,_©# " L=Len(N$)-1 ' For I=0 To L B$=Mid$(N$,I+1,1) N=Instr(A$,B$) If N>0 If N<40 : A=240 Else A=248 : Add N,-39 : End If Screen Copy 0,129,249,135,256 To S,X+(I+1)*8+2,Y Screen Copy 0,(N-1)*8-1,A,N*8-1,A+8 To S,X+I*8,Y If Joy(1)<16 : Wait 4 : End If End If Next I If C Then Screen S : Ink 0 : Bar X+8+L*8,Y To X+L*8+18,Y+8 End Proc Procedure _GETHERO '* Heldanimationen '* --------------- For I=0 To 17 Get Bob 0,1+I,1+I*17,1 To I*17+17,17 Next I ' '* Laserschuß & Miene '* ------------------ Get Bob 0,19,307,0 To 320,1 : Hot Spot 19,$21 ' '* Kanäle fÜr animationen festlegen '* -------------------------------- Channel 0 To Screen Offset 1 For I=1 To 15 Channel I To Bob I Next I ' '* Steuerung des Helden '* -------------------- HA$=HA$+"JS;B:LR0=J1;IX<10JV;IX>310JQ;IY>160JN;IY<5JK;" HA$=HA$+"C:IR0&16JF;M:IR0&1JU;IR0&2JD;IR0&4JL;IR0&8JR;JB;" HA$=HA$+"U:A0,(2,1);M0,-4,1;JS;D:A0,(8,1);M0,4,1;JS;R:M4,0,1;JB;" HA$=HA$+"L:M-4,0,1;JB;S:A1,(1,10);JB;F:LRA=1;JM;V:LX=10;JC;" HA$=HA$+"Q:LX=310;JC;N:LY=160;JC;K:LY=5;JC;" ' '**** Registerwertigkeiten **** 'Amreg(0)=Feuertaste->RA End Proc Procedure _LEVEL01 XALIENANZ=5 ' For I=0 To 9 Get Bob 0,21+I,1+I*17,18 To I*17+17,34 Next I ' For I=1 To XALIENANZ Read N XEXPLOSION$(I)="LR"+Chr$(65+I)+"=1;A 1,(25,3)(26,3)(27,3)(28,3)(29,3)(30,3);FR1=0T8;P;NR1;L X=352;L Y=Z(95)+Z(65);LR"+Chr$(65+I)+"=0;" XALIEN$(I)="A 0,(21,3)(22,3)(23,3)(24,3);Loop: M -372,0,"+Str$(N)+";L X=352;L Y=Z(95)+Z(65);J Loop" Bob 3+I,352,Rnd(160),21 Amal 3+I,XALIEN$(I) Next I ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' Data 70,90,110,120,130 End Proc Procedure _LEVEL02 XALIENANZ=6 ' For I=0 To 13 Get Bob 0,21+I,1+I*15,35 To I*15+15,49 Next I ' For I=1 To XALIENANZ Read N : X=-Rnd(150)-70 XEXPLOSION$(I)="LR"+Chr$(65+I)+"=1;A 1,(30,6)(31,3)(32,3)(33,3)(34,3);FR1=0T8;P;NR1;L X=352;L Y=Z(95)+Z(65);LR"+Chr$(65+I)+"=0;" XALIEN$(I)="A 0,(21,3)(22,3)(23,3)(24,3)(25,3)(26,10)(27,3)(28,3)(29,3);" XALIEN$(I)=XALIEN$(I)+"Loop:M"+Str$(X)+",0,"+Str$(N)+";FR0=0T20;P;NR0;" XALIEN$(I)=XALIEN$(I)+"M"+Str$(-352+Abs(X))+",0,"+Str$(N/2) XALIEN$(I)=XALIEN$(I)+";LX=352;LY=Z(85)+Z(65)+Z(10);JLoop" Bob 3+I,352,Rnd(160),21 Amal 3+I,XALIEN$(I) Next I ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' Data 40,50,60,70,80,90 End Proc Procedure _LEVEL03 XALIENANZ=7 ' For I=0 To 13 Get Bob 0,21+I,1+I*17,67 To I*17+17,83 Next I ' Randomize Timer For I=1 To XALIENANZ Read N XEXPLOSION$(I)="LR"+Chr$(65+I)+"=1;A 1,(29,3)(30,3)(31,3)(32,3)(33,3)(34,3);FR1=0T8;P;NR1;L X=352;L Y=Z(95)+Z(65);LR"+Chr$(65+I)+"=0;" XALIEN$(I)="A 0,(21,4)(22,4)(23,4)(24,4)(25,4)(26,4)(27,4)(28,4);Loop: " I3=Rnd(1) For I2=1 To 2 Add I3,1,0 To 1 If I3=1 Then A$=Str$(-Rnd(10)-20) Else A$=Str$(Rnd(10)+20) XALIEN$(I)=XALIEN$(I)+"M-185,"+A$+","+Str$(N)+";" Next I2 XALIEN$(I)=XALIEN$(I)+"L X=352;L Y=Z(55)+Z(35)+Z(10)+30;J Loop" Bob 3+I,352,Rnd(100)+30,21 Amal 3+I,XALIEN$(I) Next I ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' Data 34,40,50,60,70,75,90,40 End Proc Procedure _LEVEL04 XALIENANZ=8 ' For I=0 To 9 Get Bob 0,21+I,1+I*17,84 To I*17+17,100 Next I ' For I=1 To XALIENANZ Read N XEXPLOSION$(I)="LR"+Chr$(65+I)+"=1;A 1,(25,2)(26,2)(27,2)(28,2)(29,2)(30,2);FR1=0T7;P;NR1;L X=352;L Y=Z(95)+Z(65);LR"+Chr$(65+I)+"=0;" XALIEN$(I)="A 0,(21,4)(22,4)(23,4)(24,4);Loop: " XALIEN$(I)=XALIEN$(I)+"FR1=0T1;M-102,34,"+Str$(N)+";" XALIEN$(I)=XALIEN$(I)+"M0,-34,10;" XALIEN$(I)=XALIEN$(I)+"M-102,0,"+Str$(N)+";NR1" XALIEN$(I)=XALIEN$(I)+"L X=352;L Y=Z(53)+Z(40)+Z(23)+10;J Loop" Bob 3+I,352,Rnd(100)+30,21 Amal 3+I,XALIEN$(I) Next I ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' Data 24,28,39,30,35,20,40,22 End Proc Procedure _LEVEL05 XALIENANZ=9 ' For I=0 To 13 Get Bob 0,21+I,1+I*17,50 To I*17+17,66 Next I ' For I=1 To XALIENANZ Read N : X=-Rnd(150)-70 XEXPLOSION$(I)="LR"+Chr$(65+I)+"=1;A 1,(25,8)(26,2)(27,2)(28,2)(29,2)(30,2)(31,2)(32,2)(33,2)(34,2);FR1=0T13;P;NR1;L X=352;L Y=Z(95)+Z(65);LR"+Chr$(65+I)+"=0;" XALIEN$(I)="A 0,(21,3)(22,3)(23,3)(24,3);" XALIEN$(I)=XALIEN$(I)+"Loop:M"+Str$(X)+",0,"+Str$(N)+";FR0=0T20;P;NR0;" XALIEN$(I)=XALIEN$(I)+"M"+Str$(-400+Abs(X))+",0,"+Str$(N/2) XALIEN$(I)=XALIEN$(I)+";LY=Z(85)+Z(65)+Z(10);M"+Str$(Abs(X)+130)+",0,"+Str$(N) XALIEN$(I)=XALIEN$(I)+";M"+Str$(X-130)-" "+",0,"+Str$(N) XALIEN$(I)=XALIEN$(I)+";LX=352;LY=Z(85)+Z(65)+Z(10);JLoop" Bob 3+I,352,Rnd(160),21 Amal 3+I,XALIEN$(I) Next I ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' Data 40,50,60,70,80,90,95,100,75 End Proc Procedure _LEVEL06 XALIENANZ=0 ' For I=0 To 5 Get Bob 0,21+I,1+I*26,101 To I*26+26,129 Next I ' XEXPLOSION$(1)="LRB=1;A1,(26,1);P;P;P;P;P;P;A1,(25,1);LRB=0;FR0=0T30;LX=X+10;IX>290JS;NR0;" XALIEN$(1)="S:LX=300;A0,(21,9)(22,3)(23,3)(24,3)(25,9)(24,3)(23,3)(22,3);" XALIEN$(1)=XALIEN$(1)+"LRC=Z(1);IRC=1JD;U:FR0=0T50;LY=Y+3;IY>150JD;LRC=Z(1000);IRC=1000JA;NR0;" XALIEN$(1)=XALIEN$(1)+"D:FR0=0T50;LY=Y-3;IY<0JU;LRC=Z(1000);IRC=1000JB;NR0;JU" XALIEN$(1)=XALIEN$(1)+"A:M-300,0,15;M300,0,15;JG" XALIEN$(1)=XALIEN$(1)+"B:M-300,0,15;M300,0,15;G:LRC=Z(1);IRC=0JUJD;" Bob 4,300,100,21 Amal 4,XALIEN$(1) ' Amal 0,"Loop:FR0=0T352;LX=R0;NR0;JLoop;" ' End Proc