Hangman Game - Hit Check

0

I have a problem with finishing the game in Python, I can not make a schematic to check if the letters were correct or wrong, could you help me?

from random import randint

lista_palavras = ["casa", "mercado", "palio", "palmeiras", "lakers", "lucas"]

print('''==============================
     JOGO DA FORCA - IFPR
==============================''')
print("\n")

print('''==============================
     Pronto para Começar...?
==============================''')
print("\n")

aceita = 1
n_aceita = 0

while True:
    inicio = int(input("Digite (1) para Inicar ou (0) para Sair: "))

    if inicio == aceita:

        pos= randint (0, len(lista_palavras)-1)
        palavra = lista_palavras[pos]
        riscos = [" _ "] * len(palavra)

        print("\n")
        print("Começando o jogo....FORCA - IFPR")

        erros = 0

        while erros < 7 :
            letra = input("Digite uma letra: ")


            l = 0
            while l < len(palavra):
                if palavra[l] == letra:
                    riscos[l] = letra

                # fazer um esquema para verificar se errou ou acertou

                l+=1

            #se ele errou
            #conta um erro a mais

            #mostrar o desenho conforme a quantidade de erros


        print(palavra)
        print(riscos)

    elif inicio == n_aceita:
        print("Saindo do jogo....")
        print("\n")
        print("Obrigado!")
        break
    
asked by anonymous 11.07.2018 / 22:58

1 answer

0

I took your code and changed some things, check the changes and add / modify whatever you think you need in your original. Edit: I've added comments to make changes easier.

from random import randint

lista_palavras = ["casa", "mercado", "palio", "palmeiras", "lakers", 
"lucas"]

print('''==============================
 JOGO DA FORCA - IFPR
==============================''')
print("\n")

print('''==============================
 Pronto para Começar...?
==============================''')
print("\n")

while True:
    inicio = int(input("Digite (1) para Inicar ou (0) para Sair: "))

    '''retirei as variáveis aceita e n_aceita, pois em Python qualquer valor diferente
de 0 já significa verdadeiro, então usei isso como parâmetro para iniciar o jogo'''

    if inicio:

        pos= randint (0, len(lista_palavras)-1)
        palavra = lista_palavras[pos]
        riscos = [" _ "] * len(palavra)

        print("\n")
        print("Começando o jogo....FORCA - IFPR")

        erros = 0

        while erros < 7 :
            letra = input("Digite uma letra: ")

            '''adicionei uma lógica para conferir se a letra está presente na palavra,
        estando presente, ela substitui a posição equivalente dela na string palavra na lista
        de riscos, senão o número de erros aumenta em 1'''

            if letra in palavra:
                pos = palavra.find(letra)
                for i in range(pos, len(palavra)):
                    if letra == palavra[i]:
                        riscos[i] = letra
            else:
                erros += 1

            '''Coloquei a impressão dos riscos dentro do loop para que seja possível
        ver as letras acertadas enquanto se digita novas'''

            print('Palavra:\n', riscos)

        print(palavra)

    else:
        print("Saindo do jogo....")
        print("\n")
        print("Obrigado!")
        break
    
11.07.2018 / 23:36