10 Seconds to kill 63 enemies, 2D Mouse Shooter by trouper15th Jul 2005 16:18
|
---|
Summary Use mouse and arrow keys up and down('w' or 's') to fight off a group of enemies in under 10 seconds. Collision with enemies causes damage to yourself. Description This is like my first game so its not very conservative. I guess it shows off that DB can handle a bunch of cluttered up code. Owell. Anyway if you want to snake some art from my friend you could drop him a line at Sephirothxv8@aol.com Code ` This code was downloaded from The Game Creators ` It is reproduced here with full permission ` http://www.thegamecreators.com `TRY TO TAKE DOWN 63 ENEMIES IN UNDER 10 SECONDS` ``` Michael S., Justin M.``` SET DISPLAY MODE 800, 600, 32 : sync on : sync rate 0 `load bitmap "start screen.jpg",0 : suspend for key hide mouse start: score=0 load bitmap "da-man.bmp",1 : get image 1,130,0,499,291 : delete bitmap 1 load bitmap "level.jpg",2 : blur bitmap 2, 1.5 load bitmap "fire.bmp",3 : get image 3,0,0,163,163 : delete bitmap 3 load bitmap "pointer.bmp",4 : get image 4,0,0,30,30 : delete bitmap 4 load bitmap "enemy.bmp",6 : get image 6,0,0,40,75 : delete bitmap 6 load bitmap "blood.bmp",7 : get image 7,0,0,113,135 : delete bitmap 7 load bitmap "pointer2.bmp",8 : get image 8,0,0,30,30 : delete bitmap 8 load bitmap "pointer3.bmp",9 : get image 9,0,0,30,30 : delete bitmap 9 load bitmap "ylaser.bmp",10 : get image 10,0,0,100,300 : delete bitmap 10 load bitmap "elaser.bmp",11 : get image 11,0,0,4,40 : delete bitmap 11 load bitmap "invisible barrier.bmp",12 : get image 12,0,0,800,1 : delete bitmap 12 load bitmap "damage.bmp",14 : get image 14,0,0,100,100 : delete bitmap 14 load bitmap "enemy.bmp",15 : get image 15,0,0,40,75 : delete bitmap 15 load bitmap "enemy.bmp",16 : get image 16,0,0,40,75 : delete bitmap 16 load bitmap "enemy.bmp",17 : get image 17,0,0,40,75 : delete bitmap 17 load bitmap "enemy.bmp",18 : get image 18,0,0,40,75 : delete bitmap 18 load bitmap "enemy.bmp",19 : get image 19,0,0,40,75 : delete bitmap 19 load bitmap "enemy.bmp",20 : get image 20,0,0,40,75 : delete bitmap 20 load bitmap "enemy fire.bmp",21 : get image 21,0,0,100,30 : delete bitmap 21 sprite 1,0,0,1 sprite 6,0,0,6 sprite 12,0,0,6 sprite 7,0,0,7 sprite 2,0,0,1 hide sprite 2 cls sprite 4,mousex(),mousey(),4 sprite 3,mousex(),mousey(),3 hide sprite 3 dim j(6) a=0 for t=0 to 6 j(t)=a inc a,50 next t k=450 H=100 L=100 t=timer() return rem Main loop do oldxx=xx oldyy=yy xx=mousex()-191.5 yy=y+30 rem move da-man with arrow keys if upkey()=1 or keystate(17)=1 then y=y-20 if downkey()=1 or keystate(31)=1 then y=y+20 rem da-man will eventually come back on screen if y>130 then mo=1 if mo=1 y=y-.9 else y=y+.9 endif if y<60 then mo=0 rem make sprites sprite 1,xx,yy,1 sprite 2,mousex(),mousey(),1 sprite 3,mousex()-100,mousey()-75,3 sprite 4,mousex()-16,mousey()-16,4 sprite 7,sprite x(6)+29,sprite y(6)+5,7 : hide sprite 7 sprite 8,mousex()-16,mousey()-16,8 : hide sprite 8 sprite 9,mousex()-16,mousey()-16,9 : hide sprite 9 sprite 10,mousex()+10,y+135,10 : hide sprite 10 sprite 11,rnd(2000),rnd(470),11 sprite 12,0,0,12 sprite 13,0,599,12 sprite 14,xx+150,yy,14 : hide sprite 14 sprite 49,xx+200,yy+100,3 : hide sprite 49 sprite 21,rnd(800),k-28,21 rem invisible border barrier (top) if sprite collision(1,12) xx=oldxx yy=oldyy x=-25 y=-25 sprite 1,xx,yy,1 endif rem invisible border barrier (bottom) if sprite collision(1,13) xx=oldxx yy=oldyy x=270 y=270 sprite 1,xx,yy,1 endif rem adjusts enemy speed on sprite 14 if p>-760 : p=p-10 : else : p=p+10 : endif rem show damage on da-man if sprite collision(1,11) show sprite 49 endif rem SHOOT STUFF!!!! if mouseclick()=1 show sprite 3 else hide sprite 3 endif rem changes cursor on da-man, can't shoot da-man!!! if sprite collision(4,1) show sprite 8 hide sprite 3 hide sprite 10 else hide sprite 8 endif rem changes cursor on enemy if sprite collision(4,6) show sprite 9 endif rem ------------------------ENEMY SECTION------------------------------------------------------------ sprite 6,j,k,6 rem Cluster based on bitmap 6 sprite 50,j+rnd(100),k,6 : sprite 51,j+rnd(100),k,6 : sprite 52,j+rnd(100),k,6 : sprite 53,j+rnd(100),k,6 sprite 54,j+rnd(100),k,6 : sprite 55,j+rnd(100),k,6 : sprite 56,j+rnd(100),k,6 : sprite 57,j+rnd(100),k,6 sprite 15,jj,k,15 rem Cluster based on bitmap 15 sprite 58,jj+rnd(200),k,15 : sprite 59,jj+rnd(200),k,15 : sprite 60,jj+rnd(200),k,15 : sprite 61,jj+rnd(200),k,15 sprite 62,jj+rnd(200),k,15 : sprite 63,jj+rnd(200),k,15 : sprite 64,jj+rnd(200),k,15 : sprite 65,jj+rnd(200),k,15 sprite 16,jjj,k,16 rem Cluster based on bitmap 16 sprite 66,jjj+rnd(150),k,16 : sprite 67,jjj+rnd(150),k,16 : sprite 68,jjj+rnd(150),k,16 : sprite 69,jjj+rnd(150),k,16 sprite 70,jjj+rnd(150),k,16 : sprite 71,jjj+rnd(150),k,16 : sprite 72,jjj+rnd(150),k,16 : sprite 73,jjj+rnd(150),k,16 sprite 17,jjjj,k,17 rem Cluster based on bitmap 17 sprite 74,jjjj+rnd(50),k,17 : sprite 75,jjjj+rnd(50),k,17 : sprite 76,jjjj+rnd(50),k,17 : sprite 77,jjjj+rnd(50),k,17 sprite 78,jjjj+rnd(50),k,17 : sprite 79,jjjj+rnd(50),k,17 : sprite 80,jjjj+rnd(50),k,17 : sprite 81,jjjj+rnd(50),k,17 sprite 18,jjjjj,k,18 rem Cluster based on bitmap 18 sprite 82,jjjjj+rnd(250),k,18 : sprite 83,jjjjj+rnd(250),k,18 : sprite 84,jjjjj+rnd(250),k,18 : sprite 85,jjjjj+rnd(250),k,18 sprite 86,jjjjj+rnd(250),k,18 : sprite 87,jjjjj+rnd(250),k,18 : sprite 88,jjjjj+rnd(250),k,18 : sprite 89,jjjjj+rnd(250),k,18 sprite 19,jjjjjj,k,19 rem Cluster based on bitmap 19 sprite 90,jjjjjj+rnd(350),k,19 : sprite 91,jjjjjj+rnd(350),k,19 : sprite 92,jjjjjj+rnd(350),k,19 : sprite 93,jjjjjj+rnd(350),k,19 sprite 94,jjjjjj+rnd(350),k,19 : sprite 95,jjjjjj+rnd(350),k,19 : sprite 96,jjjjjj+rnd(350),k,19 : sprite 97,jjjjjj+rnd(350),k,19 sprite 20,jjjjjjj,k,20 rem Cluster based on bitmap 20 sprite 98,jjjjjjj+rnd(210),k,20 : sprite 99,jjjjjjj+rnd(210),k,20 : sprite 100,jjjjjjj+rnd(210),k,20 : sprite 101,jjjjjjj+rnd(210),k,20 sprite 102,jjjjjjj+rnd(210),k,20 : sprite 103,jjjjjjj+rnd(210),k,20 : sprite 104,jjjjjjj+rnd(210),k,20 : sprite 105,jjjjjjj+rnd(210),k,20 rem adjusts enemy speed on sprite 6 if j>760 then ul=1 if ul=1 : j=j-10 : else : j=j+10 : endif : if j<0 then ul=0 rem adjusts enemy speed on sprite 15 if jj>760 then il=1 if il=1 : jj=jj-8 : else : jj=jj+8 : endif : if jj<0 then il=0 rem adjusts enemy speed on sprite 16 if jjj>760 then iil=1 if iil=1 : jjj=jjj-15 : else : jjj=jjj+15 : endif : if jjj<0 then iil=0 rem adjusts enemy speed on sprite 17 if jjjj>760 then iiil=1 if iiil=1 : jjjj=jjjj-2 : else : jjjj=jjjj+2 : endif : if jjjj<0 then iiil=0 rem adjusts enemy speed on sprite 18 if jjjjj>760 then iiiil=1 if iiiil=1 : jjjjj=jjjj-12 : else : jjjjj=jjjjj+12 : endif : if jjjjj<0 then iiiil=0 rem adjusts enemy speed on sprite 19 if jjjjjj>760 then iiiiil=1 if iiiiil=1 : jjjjjj=jjjjjj-.1 : else : jjjjjj=jjjjjj+.1 : endif : if jjjjjj<0 then iiiiil=0 rem adjusts enemy speed on sprite 20 if jjjjjjj>760 then iiiiiil=1 if iiiiiil=1 : jjjjjjj=jjjjjjj-19 : else : jjjjjjj=jjjjjjj+19 : endif : if jjjjjjj<0 then iiiiiil=0 rem enemy shot collision and death by contact with bitmap 6 if mouseclick()=1 and sprite collision(4,6)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 6 endif if sprite collision(1,6)=1 score=score+100 show sprite 7 delete image 6 endif rem enemy shot collision and death by contact with bitmap 15 if mouseclick()=1 and sprite collision(4,15)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 15 endif if sprite collision(1,15)=1 score=score+100 show sprite 7 delete image 15 endif rem enemy shot collision and death by contact with bitmap 16 if mouseclick()=1 and sprite collision(4,16)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 16 endif if sprite collision(1,16)=1 score=score+100 show sprite 7 delete image 16 endif rem enemy shot collision and death by contact with bitmap 17 if mouseclick()=1 and sprite collision(4,17)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 17 endif if sprite collision(1,17)=1 score=score+100 show sprite 7 delete image 17 endif rem enemy shot collision and death by contact with bitmap 18 if mouseclick()=1 and sprite collision(4,18)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 18 endif if sprite collision(1,18)=1 score=score+100 show sprite 7 delete image 18 endif rem enemy shot collision and death by contact with bitmap 19 if mouseclick()=1 and sprite collision(4,19)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 19 endif rem enemy shot collision and death by contact with bitmap 20 if mouseclick()=1 and sprite collision(4,20)=1 score=score+100 show sprite 3 : show sprite 10 : hide sprite 3 : show sprite 7 : delete image 20 endif if sprite collision(1,20)=1 score=score+100 show sprite 7 delete image 20 endif rem --------------------------------------------------------------------------------------------------- rem da-man's health bar ink rgb(180,180,200),1 box mousex()-50,y+2,mousex()+H-50,y+14 if H>100 H=H-0.01 endif if H<0 H=H+0.01 endif rem ---------------lose health-------------------------------- if sprite collision(1,11)=1 and H>0 show sprite 14 H=H-10 endif if sprite collision(1,6)=1 : show sprite 14 : H=H-33 : endif if sprite collision(1,15)=1 : show sprite 14 : H=H-33 : endif if sprite collision(1,16)=1 : show sprite 14 : H=H-33 : endif if sprite collision(1,17)=1 : show sprite 14 : H=H-33 : endif if sprite collision(1,18)=1 : show sprite 14 : H=H-33 : endif if sprite collision(1,20)=1 : show sprite 14 : H=H-33 : endif ink rgb(255,255,255),2 set cursor mousex()-40,y print "Health "+str$((int(H/1))*1)+"%" ink rgb(255,0,0),6 set cursor 300,5 if H=0 : print "YOU HAVE DIED TRY AGAIN" : wait 2000 : then goto end rem timer stuff set text size 24 ink rgb(190,200,190),3 time=abs(((timer()-t)/1000)-10) text 5,35,"TIME: "+str$(time)+"" if time=0 ink rgb(255,0,0),8 set cursor 300,5 print "OUT OF TIME TRY AGAIN" wait 2000 goto end endif rem score stuff ink rgb(160,200,160),4 set text size 30 text 5,5,"Score: "+str$(score)+"" rem press tab for FPS ink rgb(255,255,255),5 set cursor 745,5 if keystate(15)=1 : print "FPS: ", screen fps() : endif rem overkill if H<0 ink rgb(255,255,255),7 set cursor 170,40 print "OVERKILL, DEATH INEVITABLE!!! TAKE OUT THE REST WITH YOUR LAST BREATH!" endif rem end game if score=700 ink rgb(255,255,0),6 set cursor 300,5 print "NICE, LETS GO AGAIN" wait 2000 goto end: endif sync cls copy bitmap 2,0 loop end: goto start |