7
respostas

Jogo Forca

O jogo Forca ele não parou após cometer mais de 6 erros como planejado. Alguém pode me ajudar a entender?

def jogar(): print("*") print("Bem vindo ao jogo da Forca!") print("*")

palavra_secreta = "maça".upper()
letras_acertadas = ["_" for letra in palavra_secreta]

enforcou = False
acertou = False
erros = 0

print(letras_acertadas)

while(not enforcou and not acertou):

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

    if(chute in palavra_secreta):
        index = 0
        for letra in palavra_secreta:
            if(chute == letra):
                letras_acertadas[index] = letra
            index += 1
    else:
        erros += 1

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


if(acertou):
    print("Você ganhou!!")
else:
    print("Você perdeu!!")
print("Fim do jogo")

if(name == "main"): jogar()

7 respostas

Daniel, segue o código debugado:

def jogar():
    print("*")
    print("Bem vindo ao jogo da Forca!")
    print("*")


    palavra_secreta = "maça".upper()
    letras_acertadas = ["_" for letra in palavra_secreta]

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    while(not enforcou and not acertou):

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

        if(chute in palavra_secreta):
            index = 0
            for letra in palavra_secreta:
                if(chute == letra):
                    letras_acertadas[index] = letra
                index += 1
        else:
            erros += 1

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


    if(acertou):
        print("Você ganhou!!")
    else:
        print("Você perdeu!!")
    print("Fim do jogo")

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

Atente-se para as indentações, no Python isso é essencial para que tudo funcione como o esperado. Fiz também uma adequação na condicional if, anterior à chamada da função jogar()

Ainda continua não parando quando erro X vezes, observei as endentações e até copie o código e ocorre mesmo problema, estou aqui tentando entender rs

Estanho... acabo de rodar o código em meu editor e está correto. Daniel, você está rodando o código correto? Às vezes pode ocorrer de vocẽ estar manipulando outro código. Tem que ver na aba RUN qual código você está rodando. Pode verificar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Nossa, que coisa mais esquisita... Eu repliquei o código, e como te disse anteriormente, ele itera as 6 vezes e pára no útlimo erro. Puxa, Daniel, eu não sei então o que está acontecendo..

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Então estranho, de qualquer forma agradeço de mais pela atenção, obrigado pelo suporte ^^

Pois é , super estranho. Bem, tente brincar com a variável "erros" atribuindo-lhe outros valores e veja se ela atualiza. Eu tô no celular então fica ruim testar agora. ah, eu espero que vc consiga debugar isso ou alguém no forum tenha alguma outra ideia para teste...