Amiga Dünyası sayı 10, sayfa 27
Sayfanın metni

Sayfa 27

Rem********************************************* Rem***** A M I G A DÜNYASI ***** Rem***** ***** Rem***** KAMIKAZE BY BURAK OZDEMIR ***** Rem***** ***** Rem***** AMOS Copyright 1990 Mandarin/Jawx ***** Rem********************************************* Randomize(Timer) Hide Global SCORE,LEVEL,A,B,ALIEN$ INITIALIZATION Rem********************************************* Rem MAIN LOOP Do SPSCROLL ALIENTRACK ALIENSHOW Locate 0,0 Print "SCORE=";SCORE X1=X Mouse-144 Amreg(0)=Xl If(Mouse Key>0 and Amreg(2)<2) Shoot Sprite 5,X Mouse.Y Hard(0,160),29 Amreg(2)=YHard(0,160) Amal On 5 End If CRASH=Sprite Col(2) IfCRASH=-l Sprite 5,0,0,29 Amreg(2)=0 Boom Amal Freeze 1 Amal 4,ALIEN$ Amal On 4 SCORE=SCORE+10 LEVEL=LEVEL+1 For 1=1 To 20 SPSCROLL Locate 0,0 Print "SCORE=";SCORE Next I Amal Freeze 4 Sprite 2,0,0,1 A=Rnd(200)+50 B=Rnd(100) Amal On 1 End If Loop Rem********************************************* Procedure SETANIMS Channel 1 To Sprite 2 Channel 2 To Bob 1 Channel 3 To Bob 1 Channel 4 To Sprite 2 Channel 5 To Sprite 5 Amal 1 ,"A 0,( 1,4)(2,4)(3,4)(4,4)(5,4)(6,4)(5,4)(4,4)(3,4)(2,4);Q:Let RF=0;Let X=RD;Let Y=RE;Pause;Jump Q" SHIP$="A 0,( 19,6)(20,6)(21,6)(22,6)(23,6)(24,6)(23,6)(22,6)(21,6)(20,6);Label:Let X=RA;Pause;Jump Label" Amal 2,SHIP$ Amal 3,"A 4,(25,10)(26,10)(27,10)(28,10)" ALIEN$="A

1 ,(7,5)(8,5)(9,5)( 10,5)( 11,5)( 12,5)( 13,5)( 14,5)( 15,5)( 16.5)( 17,5)( 18,5)" Amal 4,ALIEN$ Amal 5,"Loop:Let Y=RC;Mabel:Let Y=Y-l;Let RC=Y;If Y>0 Jump Mabel;Test:If Yo0 Jump Loop;Pause;Jump Test" End Proc Rem********************************************* Procedure IMAGES Screen Display 0,140,330,, Curs Off Flash Off Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Cls Load "df0:sprite_600/space/shipl .abk" Get Sprite Palette %11111111111111111111111111111101 For 1=0 To 5 Paste Bob 1*32,0,1+15 Paste Bob 1*32,40,1+20 Paste Bob 1*32,80,1+25 Next I Load "dfO:sprite_600/aliens/alien5.abk" For 1=0 To 5 Get Sprite 1+19,1*32,0 To 1*32+32,32 Get Sprite 1+24,1*32,40 To 1*32+32,72 Get Sprite 1+24,1*32,80 To 1*32+32,112 Next I

Ink 10 Bar 100,100 To 101,110 Get Sprite 29,100,100 To 101,110 Screen Display 0,140,50,, End Proc Rem********************************************** Procedure SETSPACE For 1=1 To 50 Plot Rnd(32O),Rnd(20O),Rnd(15) Next I End Proc Rem********************************************** Procedure SPSCROLL Scroll 1 Gr Locate 0,15 InkO Draw To 320,15 QQ=Rnd(l) For 1=1 To QQ PlotRnd(320),15,Rnd(15) Next I End Proc Rem********************************************** Procedure INITIALIZATION LEVEL=1 IMAGES Cls Make Mask SETSPACE Def Scroll 1,0,0 To 320,200,0,1 Set Bob 1,0„ SETANIMS A=100 B=100 Sprite 2,0,0,1 Bob 1,150,160,19 Amal On 2 Amreg(2)=0 Amal On 5 Amal On 1 End Proc Rem ********************************************* Procedure ALIENTRACK A=A+Rnd(LEVEL)*2-LEVEL B=B+Rnd(LEVEL)*2-LEVEL+1 IfA<0ThenA=0 IfA>320ThenA=320 If B<0 Then B=0 If B> 160 Then KAMIKAZE End Proc Rem ********************************************* Procedure ALIENSHOW Amreg(3)=X Hard(0,A): Amreg(4)=B+50 End Proc Rem ********************************************* Procedure KAMIKAZE ALIENSHOW While Abs(X Mouse-140-A)>5 A=A+Sgn(X Mouse-140-A)*LEVEL ALIENSHOW Wend FINAL End Proc Rem ********************************************* Procedure FINAL Boom Sprite 5,0,0,29 Amreg(2)=0 Boom Amal Freeze 1 Amal Freeze 2 Amal On 3 Amal 4,ALIEN$ Amal On 4 Wait 150 GAMEOVER End Proc Rem ********************************************* Procedure GAMEOVER Amal Off Sprite Off Bob Off Locate 10,10 Print "GAME OVER" Locate 10,11 Print "SCORE=";SCORE Wait Key End End Proc

Klavyeyle gezinmek için ← ve → tuşları.