def init_alien_missile(self, shooter): missile = Missile() sprite = pygame.image.load("assets/images/missile.png") sprite = pygame.transform.scale(sprite, (4, 10)) missile.image = sprite missile.rect = missile.image.get_rect() missile.rect.x = shooter.rect.x + 15 missile.rect.y = shooter.rect.y + 40 missile.speed = 5 missile.vector = 1 return missile
def init_bullet(self): bullet = Missile() sprite = pygame.image.load("assets/images/missile.png") sprite = pygame.transform.scale(sprite, (4, 10)) bullet.image = sprite bullet.rect = bullet.image.get_rect() bullet.vector = -1 bullet.speed = 10 bullet.rect.x = self.player.rect.x + 10 bullet.rect.y = self.player.rect.y return bullet
def fire(self): trigger = random.randint(1, 100) if trigger <= ENEMY_MEDIUM_FIRE_CHANCE and self.cool_down_timer <= 0: pygame.event.post(pygame.event.Event(ENEMY_SHOOT_EVENT)) missile = Missile(MISSILE_IMAGE_PATH[0]) missile.speed = MISSILE_SPEED missile.rect.centerx = self.rect.centerx missile.rect.y = self.rect.bottom - ENEMY_MEDIUM_SIZE_Y//2 self.missile_group.add(missile) self.cool_down_timer = self.fire_cool_down return missile return None