1
resposta

Mãos na Massa: Exportando o código para funções

import random

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()

def pede_chute(): chute = input("Digite uma letra: ") chute = chute.strip() chute = chute.lower() return chute

def imprime_abertura(): print("*") print("Bem vindo ao jogo de Forca!") print("*")

def carrega_msg_secreta(): palavras = [] with open("palavras.txt", "r") as arquivo: for linha in arquivo: linha = linha.strip() palavras.append(linha)

numero = random.randrange(0, len(palavras))
palavra_secreta = palavras[numero].lower()
return palavra_secreta

def inicializa_letras_acertadas(palavra): return ["_" for letra in palavra]

def marca_chute_correto(chute, palavra_secreta, letras_acertadas): index = 0 for letra in palavra_secreta: if chute == letra: print("Encontrei a letra {} na posição {}".format(chute, index)) letras_acertadas[index] = letra index += 1

def msg_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 msg_vencedor(): print("Parabéns, você ganhou!") print(" ___ ") print(" '.=====_.' ") print(" .-\: /-. ") print(" | (|:. |) | ") print(" '-|:. |-' ") print(" \::. / ") print(" '::. .' ") print(" ) ( ") print(" _.' '. ") print(" '-------' ")

def jogar(): imprime_abertura()

palavra_secreta = carrega_msg_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 += 1
        desenha_forca(erros)

    enforcou = erros == 7
    acertou = "_" not in letras_acertadas
    print(letras_acertadas)

if acertou:
    msg_vencedor()
else:
    msg_perdedor(palavra_secreta)

print("Fim do Jogo")

if name == "main": jogar()

1 resposta

legal, me lembra uma atividade que tive na faculdade haha!