import random
def jogar():
imp_mensagem_abertura()
palavra_secreta = carrega_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
print(letras_acertadas)
enforcou = False
acertou = False
erros = 0
while(not enforcou and not acertou):
chute = pede_chute()
if(chute in palavra_secreta):
marca_chute_correto(chute, palavra_secreta, letras_acertadas)
else:
erros = erros + 1
desenha_forca(erros)
enforcou = erros == 7
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
imprime_mensagem_ganhador()
else:
imprime_mensagem_perdedor(palavra_secreta)
def imp_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(palavra): return ["_" for letra in palavra]
def pede_chute(): chute = input("Qual a letra? ") chute = chute.strip().upper() return chute
def marca_chute_correto(chute, palavra_secreta, letras_acertadas): index = 0 for letra in palavra_secreta: if (chute == letra): letras_acertadas[index] = letra index = index + 1
def imprime_mensagem_ganhador(): print("Parabéns, você ganhou!") print(" ___ ") print(" '.=====_.' ") print(" .-\: /-. ") print(" | (|:. |) | ") print(" '-|:. |-' ") print(" \::. / ") print(" '::. .' ") print(" ) ( ") print(" _.' '. ") print(" '-------' ")
def imprime_mensagem_perdedor(palavra_secreta): 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 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()