Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Jogo quebrou e não consigo identificar meu erro

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Meu código de adivinhação está funcionando perfeitamente, mas o da forca e do menu dos jogos não estão mais funcionando do jeito que deviam. Esta dando os erros acima, se alguem puder me ajudar a identificar o problema agradeço! Estava funcionando, mas na reta final acho que apaguei algo que n deveria e não consigo identificar o que foi.

codigo da forca

def jogar_forca():
    import random

    imprime_mensagem_abertura()
    palavra_secreta = carrega_palavra_secreta()
    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)


    letras_faltando = str(letras_acertadas.count('_'))
    print('Ainda faltam acertar {} letras'.format(letras_faltando))

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    # Enquanto não enforcou e não aceto o codigo irá manter o loop
    while (not enforcou and not acertou):

        chute = input("Qual a letra?")
        chute = chute.strip().upper()

        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if (chute.upper() == letra.upper()):
                    letras_acertadas[index] = letra
                index += 1
        else:
            erros += 1
            print("Ops, você errou! Faltam {} tentativas.".format(6 - erros))
        enforcou = erros == 6
        acertou = "_" not in letras_acertadas
        print(letras_acertadas)

    if(acertou):
        print("-------------------")
        print("Voce ganhou!!!")
    else:
        print ("Voce perdeu!!!")
    print("Fim do jogo")


#Funcoes

def imprime_mensagem_abertura():
    print("*********************************")
    print("***Bem vindo ao jogo da 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]

if (__name__ == "__main__"):
    jogar_forca()

codigo do menu dos jogos

import forca
import adivinhacao


def escolhe_jogo():
    print("---------------------------------------")
    print("Escolha o jogo desejado!")
    print("---------------------------------------")

    print("(1) Forca (2) Adivinhacao)")

    jogo = int(input("Qual o jogo deseja?"))

    if (jogo == 1):
        print("Jogo da forca")
        jogo_forca()
        forca.jogar_forca()
    elif (jogo == 2):
        print("Jogo de advinhacao")
        adivinhacao.jogar_adivinhacao()

    if (__name__ == "__main__"):
        escolhe_jogo()
1 resposta
solução!

Eu estava importando RANDOM dentro da função e estava causando o erro, apos eu ajustar conseguir resolver.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software