Exemple #1
0
 def shoot(self):
     ## to tell the bullet where to spawn
     now = pygame.time.get_ticks()
     if now - self.last_shot > self.shoot_delay:
         self.last_shot = now
         bullet = BulletEnemy(self.rect.centerx, self.rect.bottom, player.x,
                              player.y)
         sprites.add(bullet)
         bulletsEnemy.add(bullet)
Exemple #2
0
 def shoot(self):
     ## to tell the bullet where to spawn
     now = pygame.time.get_ticks()
     if now - self.last_shot > self.shoot_delay:
         self.last_shot = now
         if self.power == 1:
             bullet = Bullet(self.rect.left, self.rect.top, 0)
             bullet2 = Bullet(self.rect.right, self.rect.top, 0)
             sprites.add(bullet)
             sprites.add(bullet2)
             bullets.add(bullet)
             bullets.add(bullet2)
         if self.power >= 2:
             bullet1 = Bullet(self.rect.left, self.rect.centery, -2)
             bullet2 = Bullet(self.rect.right, self.rect.centery, 2)
             bullet3 = Bullet(self.rect.centerx, self.rect.centery, 0)
             sprites.add(bullet1)
             sprites.add(bullet2)
             sprites.add(bullet3)
             bullets.add(bullet1)
             bullets.add(bullet2)
             bullets.add(bullet3)
Exemple #3
0
def new_enemy():
    enemy = Enemy()
    sprites.add(enemy)
    enemies.add(enemy)
Exemple #4
0
                                 player.y)
            sprites.add(bullet)
            bulletsEnemy.add(bullet)


def new_enemy():
    enemy = Enemy()
    sprites.add(enemy)
    enemies.add(enemy)


ss = SpriteSheet('Lightning.png')
player_imgs = []
player_imgs.append(ss.get_image(0, 0, 30, 30))
player_imgs.append(ss.get_image(32, 0, 30, 30))
player_imgs.append(ss.get_image(64, 0, 30, 30))
player_imgs.append(ss.get_image(96, 0, 30, 30))

ss1 = SpriteSheet('UFO.png')
enemy_imgs = []
enemy_imgs.append(ss1.get_image(0, 0, 30, 30))
enemy_imgs.append(ss1.get_image(32, 0, 30, 30))
enemy_imgs.append(ss1.get_image(64, 0, 30, 30))
enemy_imgs.append(ss1.get_image(96, 0, 30, 30))

player = Player()
for i in range(4):
    new_enemy()
PlayerSprite.add(player)
sprites.add(player)
Exemple #5
0
 def __init__(self):
     clock = pygame.time.Clock() 
     pygame.init()
     screen = pygame.display.set_mode((Commons.WIDTH,Commons.HEIGHT))
     pygame.display.set_caption("Game")
     background = pygame.image.load(path.join(img_dir,'background.png')).convert()
     background = pygame.transform.scale(background,(Commons.WIDTH,Commons.HEIGHT))
     background_rect = background_rect = background.get_rect()
     #game loop
     running  = True
     while True:
         ev = pygame.event.poll()
         if ev.type == pygame.KEYDOWN:
             if ev.key == pygame.K_RETURN:
                 break
             elif ev.key == pygame.K_q:
                 pygame.quit()
                 quit()
         else:
             self.draw_text(screen, "Press [ENTER] To Begin", 30, Commons.WIDTH/2, Commons.HEIGHT/2)
             self.draw_text(screen, "or [Q] To Quit", 30, Commons.WIDTH/2, (Commons.HEIGHT/2)+40)
             pygame.display.update()
     while running:
         clock.tick(120)
         for event in pygame.event.get():
             if event.type == pygame.QUIT:
                 running = False
             if event.type == pygame.KEYDOWN:
                 if event.key == pygame.K_ESCAPE:
                     running = False
         hits = pygame.sprite.groupcollide(enemies, bullets, True, True)
         for hit in hits:
             print("HIT")
             Entities.new_enemy()
             if random.random() > 0.8:
                 pw = Power_ups.Pow(hit.rect.center)
                 sprites.add(pw)
                 power_ups.add(pw)
                 
         hitsPlayer = pygame.sprite.spritecollide(player,bulletsEnemy,True,pygame.sprite.collide_circle)
         for hitP in hitsPlayer:
             print("DEAD")
             player.lives -=1
             player.power = 1
             player.hide()
             for sprite in bulletsEnemy:
                 if isinstance(sprite, BulletEnemy):
                     sprite.kill()
         if player.lives == 0:
             running = False
         hits = pygame.sprite.spritecollide(player, power_ups, True)
         for hit in hits:
             if hit.type == 'extra_live':
                 if player.lives < 5:
                     player.lives += 1
             if hit.type == 'upgrade':
                 player.powerup()
             
         screen.fill(Commons.BLACK)
         sprites.update()
         screen.blit(background, background_rect)
         sprites.draw(screen)
         self.draw_lives(screen,5,5,player.lives,player.image_lives)
         pygame.display.flip()      
         
     pygame.quit()