def run_game(): #Cria bullet group bullets = Group() #Cria enemy group enemies = Group() #Cira enemy bullet group ebullets = Group() bbullets = Group() explosions = Group() gSettings.resetDificulty() gf.clearScore() bg = Background(gSettings, screen, trueScreen, 0) clouds = Group() for i in range(3): new_cloud = Background(gSettings, screen, trueScreen, 1) clouds.add(new_cloud) new_cloud = Background(gSettings, screen, trueScreen, 2) clouds.add(new_cloud) #Cria jogador p1 = Player(gSettings, screen, enemies, soundController, trueScreen, explosions, ebullets, bbullets) level = Level(screen, gSettings, enemies, p1, trueScreen) gf.initGUI(gSettings, screen) gf.getHighScore() soundController.playMusic(0) #Inicia o loop principal do jogo. level.generateSpawn() boss = Boss(gSettings, screen, 347, 100, p1, soundController) bossCount = 0 bossSpawned = False first = 0 while True: clock.tick(fps) gf.checkEvents(p1, gSettings, screen, bullets, boss, bossSpawned) gf.updateScreen(gSettings, screen, p1, bullets, enemies, ebullets, bg, clouds, explosions, boss, bbullets, bossSpawned) gf.updateBg(bg, clouds) p1.update(bullets) gf.updateBullets(bullets, enemies, soundController, screen, explosions, boss) gf.updateExplosions(explosions) gf.updateEBullets(ebullets, p1) gf.updateBBullets(bbullets, p1) gf.updateEnemies(enemies, p1, ebullets) gf.updateBoss(boss, bbullets, p1, bossSpawned) gf.updateScore() if len(enemies) == 0: if bossCount >= 20: bossCount = 0 if first == 1: gSettings.bossIncrease() boss = Boss(gSettings, screen, 347, 100, p1, soundController) bossSpawned = True soundController.stopMusic() soundController.playMusic(1) else: if not bossSpawned: gSettings.difficultyIncrease() level.generateSpawn() bossCount += 1 else: if boss.hp <= 0: bossSpawned = False boss.alive = False soundController.stopMusic() soundController.playMusic(0) gf.addBScore(p1) first = 1 soundController.playSound(6) new_explosion = new_explosion = Explosion( screen, boss.rect.centerx, boss.rect.centery, 200, 10, 0) explosions.add(new_explosion) if p1.dead and not pygame.mixer.get_busy(): telaBotoes("Game Over", "Novamente", "Sair")