Olá boa tarde.
Podemos colocar um print
de tela após a soma dos erros, conforme código abaixo, pois como temos as tentativas fixas e não temos uma variação de dificuldade igual o jogo da adivinhação, podemos só "printar" para o usuário o numero de tentativas.
while (not acertou and not enforcou):
chute = input("Qual letra? ")
chute = chute.strip().upper()
if (chute in palavra_secreta):
index = 0
for letra in palavra_secreta:
if (chute == letra):
letras_acertadas[index] = letra
index += 1
else:
erros += 1
print(f"Você utilizou um total de {erros}, das suas 6 tentativas!")
enforcou = erros == 6
acertou ="_" not in letras_acertadas
Caso o jogo tenha niveis de dificuldade podemos fazer desta forma!
import Jogos
def jogar():
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
palavra_secreta = "banana".upper()
letras_acertadas = ["*" for letra in palavra_secreta]
enforcou = False
acertou = False
erros = 0
tentativas = 0
while (tentativas == 0):
print("Escolha o nivel de dificuldade: [1]- Fácil, [2]-Médio e [3]-Dificil")
dificuldade = int(input("Dificuldade: "))
if (dificuldade == 1):
tentativas = 6
print(f"Você está jogando na dificuldade [1]- Fácil, você possui {tentativas} tentativas")
elif (dificuldade == 2):
tentativas = 3
print(f"Você está jogando na dificuldade [2]-Médio, você possui {tentativas} tentativas")
elif (dificuldade == 3):
tentativas = 2
print(f"Você está jogando na dificuldade [3]-Dificil, você possui {tentativas} tentativas")
else:
print("Digite um valor de dificuldade valido! ")
while (not acertou and not enforcou):
nova_palavra = ""
chute = input("Qual letra? ")
chute = chute.strip().upper()
if (chute in palavra_secreta):
index = 0
for letra in palavra_secreta:
if (chute == letra):
letras_acertadas[index] = letra
index += 1
else:
erros += 1
enforcou = erros == 6
acertou = "*" not in letras_acertadas
print(f"Você utilizou um total de {erros}, das suas {tentativas} tentativas!")
for letra in letras_acertadas:
nova_palavra += letra
print(nova_palavra)
if acertou:
print("Você ganhou o Jogo")
else:
print("Você perdeu o jogos! ")
print("Fim do jogo")
Jogos.jogar_novamente()
if (__name__ == "__main__"):
jogar()
OBS: Na logica da forca o erro só é contato quando erramos o letra da forca ! Quando o eu estou passando o valor de tentativas no segundo laço, ele está encerrando o jogo, não está comparando o valor de 'erros', com 'tentativas'
Achei o erro dentro do codigo, fiz algumas substituições e não alterei dentro do segundo while !