Exemple #1
0
def hit_power(g, a, b):
    if not tile_close(g, a, b): return

    g.game.sfx['powerup'].play()
    #print '+ power'
    player.powerup(g, b)
    tile_explode(g, a)
def hit_power(g,a,b):
    if not tile_close(g,a,b): return 
    
    g.game.sfx['powerup'].play()
    #print '+ power'
    player.powerup(g,b)
    tile_explode(g,a)
def hit_power(g, a, b, weapon):
    if not tile_close(g, a, b): return

    g.game.sfx['powerup'].play()
    # print '+ power'

    g.game.powerup = weapon

    if weapon == "shootgun":
        g.game.weapons[1] = weapon
    elif weapon == "cannon":
        g.game.weapons[2] = weapon
    elif weapon == "granadelauncher":
        g.game.weapons[3] = weapon
    elif weapon == "laser":
        g.game.weapons[4] = weapon

    player.powerup(g, b, weapon)
    tile_explode(g, a)
Exemple #4
0
def hit_power(g, a, b, weapon):
    if not tile_close(g, a, b): return

    g.game.sfx['powerup'].play()
    # print '+ power'

    g.game.powerup = weapon

    if weapon == "shootgun":
        g.game.weapons[1] = weapon
    elif weapon == "cannon":
        g.game.weapons[2] = weapon
    elif weapon == "granadelauncher":
        g.game.weapons[3] = weapon
    elif weapon == "laser":
        g.game.weapons[4] = weapon

    player.powerup(g, b, weapon)
    tile_explode(g, a)
    def start(self):
        score = 0
        running = True
        while running:
            self.clock.tick(FPS)
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running = False

            all_sprites.update()

            hits = pygame.sprite.groupcollide(mobs, bullets, True, True)
            for hit in hits:
                score += 50 - hit.radius
                random.choice(expl_sounds).play()
                expl = Explosion(hit.rect.center, 'lg')
                all_sprites.add(expl)
                if random.random() > 0.9:
                    pow = Pow(hit.rect.center)
                    all_sprites.add(pow)
                    powerups.add(pow)
                newmob()

            hits = pygame.sprite.spritecollide(player, mobs, True,
                                               pygame.sprite.collide_circle)
            for hit in hits:
                player.shield -= hit.radius * 2
                expl = Explosion(hit.rect.center, 'sm')
                all_sprites.add(expl)
                newmob()
                if player.shield <= 0:
                    death_explosion = Explosion(player.rect.center, 'player')
                    all_sprites.add(death_explosion)
                    player.hide()
                    player.lives -= 1
                    player.shield = 100

            hits = pygame.sprite.spritecollide(player, powerups, True)
            for hit in hits:
                if hit.type == 'shield':
                    player.shield += random.randrange(10, 30)
                    if player.shield >= 100:
                        player.shield = 100
                if hit.type == 'gun':
                    player.powerup()
                    power_sound.play()

            if player.lives == 0 and not death_explosion.alive():
                Win.ShowGoScreen(score)
                cur.execute("INSERT INTO Space VALUES(1, {}, {})".format(
                    score, datetime.now()))
                con.commit()

            if score >= 1000:
                Win.VictoryScreen(score)
                cur.execute("INSERT INTO Space VALUES(1, {}, {})".format(
                    score, datetime.now()))
                con.commit()

            self.screen.fill(BLACK)
            self.screen.blit(background, background_rect)
            all_sprites.draw(self.screen)
            draw_text(self.screen, str(score), 18, WIDTH / 2, 10)
            draw_shield_bar(self.screen, 5, 5, player.shield)
            draw_lives(self.screen, WIDTH - 100, 5, player.lives,
                       player_mini_img)
            pygame.display.flip()

        con.close()
        pygame.quit()