TGC Codebase Backup



10 Seconds to kill 63 enemies, 2D Mouse Shooter by trouper

15th 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
Email me at exiguousmikey@msn.com
AIM: atommikey



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