コード例 #1
0
ファイル: reloadBird.py プロジェクト: kscasado/ShootEmAll
 def __init__(self):
     self.isDead=False
     self.width=64
     self.height=64
     self.frames=3
     self.index=0
     self.vy=-3*(game.constants.HEIGHT/600)
     self.y = game.constants.HEIGHT/2
     self.sheet=SpriteSheet('../media/reloadBird1.png',3,192,256)
     self.timer=0
     self.name='reload'
     for j in range(0,4):
         image=self.sheet.getImage(64,j*64,64,64,game.constants.WHITE)
         self.framesL_Arr.append(image)
             ##flip the image
         pygame.transform.flip(image,True,False)
         self.framesR_Arr.append(image)
    
     
     
     i = random.randint(0,1)
     if i==1:
         self.vx=2*(game.constants.WIDTH/800)
         self.x=0
         self.framesC_Arr=self.framesR_Arr
     else:
         self.vx=-2*(game.constants.WIDTH/800)
         self.x=game.constants.WIDTH+self.width
         self.framesC_Arr=self.framesL_Arr
コード例 #2
0
ファイル: bat.py プロジェクト: kscasado/ShootEmAll
 def __init__(self, x, y, vx, vy):
     self.name = "bat"
     self.frames = 4
     self.sheet = SpriteSheet("../media/batsprite.png", 20, 256, 320)
     self.x = x
     self.y = y
     self.vx = vx
     self.vy = vy
     self.index = 0
     image = self.sheet.getImage(0, 128, 60, 60, game.constants.BLACK)
     self.framesR_Arr.append(image)
     image = self.sheet.getImage(64, 128, 60, 60, game.constants.BLACK)
     self.framesR_Arr.append(image)
     image = self.sheet.getImage(128, 128, 60, 60, game.constants.BLACK)
     self.framesR_Arr.append(image)
     image = self.sheet.getImage(192, 128, 60, 60, game.constants.BLACK)
     self.framesR_Arr.append(image)
     image = self.sheet.getImage(0, 192.0, 60, 60, game.constants.BLACK)
     self.framesL_Arr.append(image)
     image = self.sheet.getImage(64, 192, 60, 60, game.constants.BLACK)
     self.framesL_Arr.append(image)
     image = self.sheet.getImage(128, 192, 60, 60, game.constants.BLACK)
     self.framesL_Arr.append(image)
     image = self.sheet.getImage(192, 192, 60, 60, game.constants.BLACK)
     self.framesL_Arr.append(image)
     self.timer = 0
     self.passes = 0
     self.width = 60
     self.height = 60
     self.framesCurr_Arr = self.framesR_Arr
コード例 #3
0
ファイル: bossBird.py プロジェクト: kscasado/ShootEmAll
    def __init__(self, x, y, vx, vy):
        self.name = "bossBird"
        self.isDead = False
        self.shooting = False
        self.x = x
        self.y = y
        self.vx = vx
        self.vy = vy
        self.frames = 4
        self.width = 64
        self.height = 64
        self.sheet = SpriteSheet("../media/blueBird.png", 12, 384, 384)

        self.index = 0
        self.timer = 0

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 0, 96, 96, game.constants.WHITE)
            self.framesM_Arr.append(image)

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 2 * 96, 96, 96, game.constants.WHITE)
            self.framesR_Arr.append(image)

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 1 * 96, 96, 96, game.constants.WHITE)
            self.framesL_Arr.append(image)
        self.framesC_Arr = self.framesR_Arr
コード例 #4
0
ファイル: HealthBar.py プロジェクト: kscasado/ShootEmAll
class healthBar(pygame.sprite.Sprite):
    frames_Arr=[]
    def __init__(self):
        self.sheet = SpriteSheet("../media/healthBar.png",1,300,210)
        self.width=300
        self.height=52
        self.image = self.sheet.getImage(0,0,self.width,self.height,
                                         game.constants.WHITE)
       
         
    
    def update(self):
        if self.width>0:
            self.width-=30
            self.image = self.sheet.getImage(0,0,self.width,self.height,
                                             game.constants.WHITE)
    def draw(self,SCREEN):
        SCREEN.blit(self.image,(0,game.constants.HEIGHT-52))
コード例 #5
0
ファイル: reloadBird.py プロジェクト: kscasado/ShootEmAll
class reloadBird(Mob):
    #setup the frames
    framesL_Arr=[]
    framesR_Arr=[]
    framesC_Arr=[]
    def __init__(self):
        self.isDead=False
        self.width=64
        self.height=64
        self.frames=3
        self.index=0
        self.vy=-3*(game.constants.HEIGHT/600)
        self.y = game.constants.HEIGHT/2
        self.sheet=SpriteSheet('../media/reloadBird1.png',3,192,256)
        self.timer=0
        self.name='reload'
        for j in range(0,4):
            image=self.sheet.getImage(64,j*64,64,64,game.constants.WHITE)
            self.framesL_Arr.append(image)
                ##flip the image
            pygame.transform.flip(image,True,False)
            self.framesR_Arr.append(image)
       
        
        
        i = random.randint(0,1)
        if i==1:
            self.vx=2*(game.constants.WIDTH/800)
            self.x=0
            self.framesC_Arr=self.framesR_Arr
        else:
            self.vx=-2*(game.constants.WIDTH/800)
            self.x=game.constants.WIDTH+self.width
            self.framesC_Arr=self.framesL_Arr
    def update(self):
        
        if self.timer%5==0:
            
            if self.index==self.frames-1:
                self.index=0
            else:
                    self.index+=1
        self.timer+=1
        self.x+=self.vx
        self.y+=self.vy
        self.vy+=.06
    def draw(self,SURFACE):
        SURFACE.blit(self.framesC_Arr[self.index],(self.x,self.y))
コード例 #6
0
ファイル: bat.py プロジェクト: kscasado/ShootEmAll
class Bat(Mob):
    framesR_Arr = []
    framesL_Arr = []
    framesCurr_Arr = []

    def __init__(self, x, y, vx, vy):
        self.name = "bat"
        self.frames = 4
        self.sheet = SpriteSheet("../media/batsprite.png", 20, 256, 320)
        self.x = x
        self.y = y
        self.vx = vx
        self.vy = vy
        self.index = 0
        image = self.sheet.getImage(0, 128, 60, 60, game.constants.BLACK)
        self.framesR_Arr.append(image)
        image = self.sheet.getImage(64, 128, 60, 60, game.constants.BLACK)
        self.framesR_Arr.append(image)
        image = self.sheet.getImage(128, 128, 60, 60, game.constants.BLACK)
        self.framesR_Arr.append(image)
        image = self.sheet.getImage(192, 128, 60, 60, game.constants.BLACK)
        self.framesR_Arr.append(image)
        image = self.sheet.getImage(0, 192.0, 60, 60, game.constants.BLACK)
        self.framesL_Arr.append(image)
        image = self.sheet.getImage(64, 192, 60, 60, game.constants.BLACK)
        self.framesL_Arr.append(image)
        image = self.sheet.getImage(128, 192, 60, 60, game.constants.BLACK)
        self.framesL_Arr.append(image)
        image = self.sheet.getImage(192, 192, 60, 60, game.constants.BLACK)
        self.framesL_Arr.append(image)
        self.timer = 0
        self.passes = 0
        self.width = 60
        self.height = 60
        self.framesCurr_Arr = self.framesR_Arr

    def update(self):
        if self.vx < 0:
            if self.framesCurr_Arr != self.framesL_Arr:
                self.framesCurr_Arr = self.framesL_Arr
                self.index = 0
        else:
            if self.framesCurr_Arr != self.framesR_Arr:
                self.framesCurr_Arr = self.framesR_Arr
                self.index = 0
        if self.timer % 10 == 0:

            if self.index == self.frames - 1:
                self.index = 0
            else:
                self.index += 1
        self.timer += 1
        self.x += self.vx
        self.y += self.vy
        self.checkWall()

    def checkWall(self):
        if self.x + self.width > game.constants.WIDTH:
            self.vx = -self.vx
            self.framesCurr_Arr = self.framesL_Arr
            self.index = 0
            self.update()
        if self.x < 0:
            self.framesCurr_Arr = self.framesR_Arr
            self.index = 0
            self.vx = -self.vx
            self.update()
        if self.y == (game.constants.HEIGHT - self.height):
            self.vy = 0

    def isDead(self):
        self.vy = 9
        self.vx = 0
        self.isDead = True

    def collide(self, pos):
        if self.x < pos[0] and self.x + self.width > pos[0]:

            if self.y < pos[1] and self.y + self.height > pos[1]:

                return True

        return False

    def draw(self, SURFACE):
        if self.isDead == True:
            SURFACE.blit(self.framesCurr_Arr[0], (self.x, self.y))
        else:
            SURFACE.blit(self.framesCurr_Arr[self.index], (self.x, self.y))
コード例 #7
0
ファイル: bossBird.py プロジェクト: kscasado/ShootEmAll
class bossBird(Mob):
    framesL_Arr = []
    framesC_Arr = []
    framesR_Arr = []
    framesM_Arr = []

    def __init__(self, x, y, vx, vy):
        self.name = "bossBird"
        self.isDead = False
        self.shooting = False
        self.x = x
        self.y = y
        self.vx = vx
        self.vy = vy
        self.frames = 4
        self.width = 64
        self.height = 64
        self.sheet = SpriteSheet("../media/blueBird.png", 12, 384, 384)

        self.index = 0
        self.timer = 0

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 0, 96, 96, game.constants.WHITE)
            self.framesM_Arr.append(image)

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 2 * 96, 96, 96, game.constants.WHITE)
            self.framesR_Arr.append(image)

        for j in range(0, 4):
            image = self.sheet.getImage(j * 96, 1 * 96, 96, 96, game.constants.WHITE)
            self.framesL_Arr.append(image)
        self.framesC_Arr = self.framesR_Arr

    def update(self):

        if self.timer % 10 == 0:

            if self.index == self.frames - 1:
                self.index = 0
            else:
                self.index += 1
                ##check if you need to shoot
                if self.framesC_Arr == self.framesM_Arr:
                    if self.index == 3 and self.timer % 3 == 0:
                        if self.isDead is False:
                            print("Bird Shot")
                            self.shooting = True

        self.timer += 1
        self.x += self.vx
        self.y += self.vy
        if self.x > game.constants.WIDTH / 4:
            if self.x < 3 * game.constants.WIDTH / 4:
                if self.framesC_Arr != self.framesM_Arr:
                    self.framesC_Arr = self.framesM_Arr
                    self.index = 0
            elif self.vx > 0 and self.x > 3 * game.constants.WIDTH / 4:
                if self.framesC_Arr != self.framesR_Arr:
                    self.framesC_Arr = self.framesR_Arr
                    self.index = 0
        elif self.vx < 0 and self.x < game.constants.WIDTH / 4:
            if self.framesC_Arr != self.framesL_Arr:
                self.framesC_Arr = self.framesL_Arr
                self.index = 0
        self.checkWall()

    def checkWall(self):
        if self.x + self.width > game.constants.WIDTH:
            self.vx = -self.vx
            self.framesC_Arr = self.framesL_Arr
            self.index = 0
            self.update()
        if self.x < 0:
            self.framesC_Arr = self.framesR_Arr
            self.index = 0
            self.vx = -self.vx
            self.update()
        if self.y == (game.constants.HEIGHT - self.height):
            self.vy = 0

    ### changes so the bird falls
    def isDead(self):
        self.vy = 9
        self.vx = 0
        self.isDead = True

    # check for a collision given the posistion
    def collide(self, pos):
        if self.x < pos[0] and self.x + self.width > pos[0]:

            if self.y < pos[1] and self.y + self.height > pos[1]:

                return True

        return False

    #####Draw to the screen
    def draw(self, SURFACE):
        if self.isDead == True:
            SURFACE.blit(self.framesC_Arr[0], (self.x, self.y))
        else:
            SURFACE.blit(self.framesC_Arr[self.index], (self.x, self.y))
コード例 #8
0
ファイル: HealthBar.py プロジェクト: kscasado/ShootEmAll
 def __init__(self):
     self.sheet = SpriteSheet("../media/healthBar.png",1,300,210)
     self.width=300
     self.height=52
     self.image = self.sheet.getImage(0,0,self.width,self.height,
                                      game.constants.WHITE)