Ja tentei inverter as variaveis antes e depois das funções e sempre dar erros. Não consegui entender esta logica de separar as responsabilidade por funções. Deu um nó aqui no cérebro! O que pertence a função def jogar():
import random
def imprime_mensagem_abertura():
print("*********************************")
print("***Bem vindo ao jogo da Forca!***")
print("*********************************")
imprime_mensagem_abertura()
def jogar():
palavra_secreta = carrega_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
def carrega_palavra_secreta():
arquivo = open("palavras.txt","r")
palavras = []
for linha in arquivo:
linha = linha.strip()
palavras.append(linha)
numero = random.randrange(0, len(palavras))
palavra_secreta = palavras[numero].upper()
return palavra_secreta
def inicializa_letras_acertadas(palavra_secreta):
return ["_" for letra in palavra_secreta]
enforcou = False
acertou = False
erros = 0
print(letras_acertadas)
while(not enforcou and not acertou):
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(letras_acertadas)
if(acertou):
print("Parabéns! Você acertou! A palavra secreta era {}".format(palavra_secreta))
else:
print("Você foi enforcado!")
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()