import random
def jogar():
imprime_mensagem_abertura()
palavra_secreta = carrega_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
enforcou = False
acertou = False
erros = 0
#quando o jogo começa, o jogador não acertou a palavra e nem se enforcou
print(letras_acertadas)
while (not acertou and not enforcou):
chute = pede_chute()
if (chute in palavra_secreta):
chute_correto(palavra_secreta, chute, letras_acertadas)
else:
erros += 1
desenha_forca(erros)
print("Faltam {} tentativas".format(7 - erros))
enforcou = erros == 7
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
imprime_mensagem_vencedor()
else:
imprime_mensagem_perdedor(palavra_secreta)
print("Fim de jogo!")
#* FIM DA MAIN **
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 # remove o \n ao final de cada linha
palavras.append(linha)
arquivo.close()
numero = random.randrange(0, len(palavras))
palavra_secreta = palavras[numero].upper()
return palavra_secreta
def inicializa_letras_acertadas(palavra_secreta):
return [""for letra in palavrasecreta]
def pede_chute():
print("Jogando...")
chute = input("Qual letra?")
chute = chute.strip()
return chute
def chute_correto(palavra_secreta, chute, letras_acertadas):
index = 0
for letra in palavra_secreta: # percorre a palavra
if (chute.upper == letra.upper): # verifica se a letra digitada está presente na palavra
letras_acertadas[index] = letra
index += 1
def imprime_mensagem_vencedor():
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()