import random
def jogar():
mensagem_de_abertura()
palavra_secreta = carrega_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
print(letras_acertadas)
enforcou = False
acertou = False
letras_faltando = letras_acertadas
erro = 0
#while serve para fazer um loop
while(not enforcou and not acertou):
chute = pede_chute()
if(chute in palavra_secreta):
marca_chute_correto(chute, letras_acertadas, palavra_secreta)
else:
erro += 1
print('Ops, você errou! Faltam {} tentativas.'.format(6-erro))
enforcou = erro == 6
acertou = '_' not in letras_acertadas
print(letras_acertadas)
#.count() era para mostrar quantas vezes existe na lista/quantos faltam
print( 'Ainda faltam acertar {} letras'.format(letras_faltando))
if(acertou):
mensagem_jogo_ganho()
else:
mensagem_jogo_perdido()
print('FIM', 'DE', 'JOGO!', sep='-------')
# ------------------------------REPARTIÇÃO DO CODIGO------------------------------------------------------------
def mensagem_jogo_perdido():
print('VOCÊ SE ENFORCOU!', 'GAME OVER!', sep='-')
def mensagem_jogo_ganho():
print('VOCÊ SE LIVROU, PARABENS!', 'YOU WIN',sep='---')
def marca_chute_correto(chute, letras_acertadas, palavra_secreta):
index = 0
for letra in palavra_secreta:
if (chute == letra):
#.upper() serve para formatar se a letra for maiuscula ou minuscula
letras_acertadas[index] = letra
index += 1
def pede_chute():
chute = input('selecione uma letra: ')
chute = chute.strip().upper()
return chute
#.strip() e uma buit-in para eliminar o espaço da entrada do chute/e tirar o \n - pular linha em codigo
def inicializa_letras_acertadas(palavra):
return ['_' for letra in palavra]
def mensagem_de_abertura():
print('#####################')
print('JOGO', 'DA', 'FORCA!', sep='-')
print('#####################')
def carrega_palavra_secreta():
arquivo = open('palavras.txt', 'r')
palavra = []
for linha in arquivo:
linha = linha.strip()
palavra.append(linha)
arquivo.close()
numero = random.randrange(0,len(palavra))
palavra_secreta = palavra[numero].upper()
return palavra_secreta
if(__name__== '__main__'):#para rodar como programa principal
jogar()