Jump to content

Como resetar o contador de mortes quando dá Gameover - Pygame - Python


CAIOG94

Postagens Recomendadas

def draw_game():

tela.fill(BLACK)

tela.blit(background, (0, 0))

# Draw Player

player.draw(tela)

# Draw Bullets

for bullet in player.bullets:

bullet.draw_bullet()

# Draw Enemies

for enemy in enemies:

enemy.draw(tela)

# Player Health

if player.alive == False:

tela.fill((0, 0, 0))

font = pygame.font.Font('fonte/PressStart2P-vaV7.ttf', 32)

text = font.render('GAME OVER! pressione R', True, (138, 47, 47))

textRect = text.get_rect()

textRect.center = (metadeLargura, metadeAltura)

tela.blit(text, textRect)

if userInput[pygame.K_r]:

player.alive = True

player.lives = 1

player.health = 40

font = pygame.font.Font('fonte/PressStart2P-vaV7.ttf', 27)

text = font.render('Mortos: ' + str(kills) + ' Vidas: ' + str(player.lives), True, (189, 178, 209)) tela.blit(text, (230, 20))

pygame.display.update()

CLOCK.tick(FPS)

player = Hero(250, 410)

enemies = []

kills = 0

while player.lives == 0:

kills = 0

 Eu estou tendo problemas na hora que acaba as vidas do personagem e dá gameover, pois quero que resete o contador de mortes a 0 quando dá Game over , mas já usei :

while player.lives == 0:

kills = 0

ou while player.lives <0

kills = 0

e nada do contador de Mortes resetar. Gostaria de saber como resetar o contador de mortes ?

mortes.png

jogo 1.png

jogo 2.png

Editado por CAIOG94
destacar pergunta
Link to comment
Compartilhe em outros sites

  • 2 weeks later...
  • 1 year later...

E ai @CAIOG94!
Vim aqui pra tentar te ajudar! Pra poder de fato solucionar o teu problema seria bacana que você passasse pra gente qual versão do Python você está utilizando e também quais bibliotecas e respectivas versões delas!

Porém, vou deixar aqui uma possível lógica para solucionar o teu problema! Qualquer dúvida posta aqui novamente que a gente te ajuda!

kills = 0

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    if player.alive:
        # Lógica do jogo vai aqui
        pass
    else:
        # Jogador está morto
        player.lives -= 1
        if player.lives == 0:
            # Jogador não tem mais vidas
            kills = 0  # Reseta o contador de mortes para 0
            # Exibe mensagem de "GAME OVER" e espera que o jogador reinicie o jogo
            pass
        else:
            # Jogador ainda tem vidas restantes
            # Reseta a posição do jogador e dos inimigos, etc.
            pass

    pygame.display.update()
    CLOCK.tick(FPS)

Talvez implementando essa solução no seu código, você possa conseguir uma solução!

  • Curtir 1
  • Amei 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...