Oi Cristiane!
Muitíssimo agradecido pela sua resposta.
De fato o erro foi onde você apontou. Deu certo, mas agora surgiu outro problema: o jogo inicia, existe uma palavra secreta, mas não importa quais letras eu tente no chute, não aparece nenhuma e depois dá a mensagem de fim de jogo. Mas não diz se acertei/troféu ou enforquei/caveira.
Posto aqui o código inteiro tal como eu digitei para não ter dúvidas:
imprime_mensagem_abertura()
palavra_secreta=carrega_palavra_secreta()
letras_acertadas=inicializa_letras_acertadas
print(letras_acertadas)
letras_acertadas=["_" for letra in palavra_secreta]
enforcou = False
acertou = False
erros=0
print(letras_acertadas)
while(not enforcou and not acertou):
chute = pede_chute()
if(chute in palavra_secreta):
marca_chute_correto
else:
erros=erros+1
enforcou=erros==7
acertou="_" not in letras_acertadas
print(letras_acertadas)
print ("Continue jogando...")
if (acertou):
mensagem_vitoria()
else:
mensagem_derrota
print ("Fim de jogo")
def mensagem_vitoria():
print ("Parabéns, você acertou a palavra secreta!")
def mensagem_derrota():
print("Você perdeu e foi pra forca!")
def pede_chute():
chute=input("Qual letra?" )
chute=chute.strip().upper()
return chute
def imprime_mensagem_abertura():
print ("**********************************")
print ("Bem-vindo ao jogo de Forca! ")
print ("**********************************")
def carrega_palavra_secreta():
arquivo = open("palavras.txt", "r")
palavras = []
for linha in arquivo:
linha=linha.strip()
palavras.append(linha)
arquivo.close()
numero=random.randrange(0,len(palavras))
palavra_secreta = palavras[numero].upper()
return palavra_secreta
def inicializa_letras_acertadas():
lista=["" for letra in palavrasecreta]
return lista
def marca_chute_correto():
index=0
for letra in palavra_secreta:
if (chute==letra):
letras_acertadas[index] = letra
print("Encontrei a letra {} na posição {}". format(letra,index))
index= index+1
def mensagem_perdedora():
print("Puxa, você foi enforcado!")
print("A palavra era {}".format(palavra_secreta))
print(" ___ ")
print(" / \ ")
print(" / \ ")
print("// /\ ")
print("| XXXX XXXX | / ")
print(" | XXXX XXXX |/ ")
print(" | XXX XXX | ")
print(" | | ")
print(" __ XXX / ")
print(" |\ XXX /| ")
print(" | | | | ")
print(" | I I I I I I I | ")
print(" | I I I I I I | ")
print(" _ / ")
print(" \ / ")
print(" ____/ ")
def imprime_mensagem_vencedor():
print("Parabéns, você ganhou!")
print(" ___ ")
print(" '.=====_.' ")
print(" .-\: /-. ")
print(" | (|:. |) | ")
print(" '-|:. |-' ")
print(" \::. / ")
print(" '::. .' ")
print(" ) ( ")
print(" _.' '. ")
print(" '-------' ")
def desenha_forca(erros):
print(" ___ ")
print(" |/ | ")
if(erros == 1):
print(" | (_) ")
print(" | ")
print(" | ")
print(" | ")
if(erros == 2):
print(" | (_) ")
print(" | \ ")
print(" | ")
print(" | ")
if(erros == 3):
print(" | (_) ")
print(" | \| ")
print(" | ")
print(" | ")
if(erros == 4):
print(" | (_) ")
print(" | \|/ ")
print(" | ")
print(" | ")
if(erros == 5):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | ")
if(erros == 6):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | / ")
if (erros == 7):
print(" | (_) ")
print(" | \|/ ")
print(" | | ")
print(" | / \ ")
print(" | ")
print("_|___ ")
print()
if (name == "main"):
jogar()