Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Como reproduzir o jogo no terminal ?

No meu terminal só aparece o diretório, estou usando o vs code.

Ele não reproduz o jogo forca.

4 respostas

Olá Leandro, tudo bem com você?

Com base nas mensagens de log apresentadas na imagem, peço que verifique se a função jogar() está sendo chamada no arquivo forca.py. Ao final do código devemos ter as seguintes linhas declaradas. Note que apenas o "__main__" é uma string.

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

Caso as linhas acima estejam declaradas, peço que verifique a indentação (espaços), as linhas acima devem ser declaradas fora da função jogar().

Após confirmar que as linhas acima foram declaradas como apresentadas, salve o arquivo. Basta pressionar +.

Executaremos o arquivo usando linhas de comando. Primeiramente será necessário acessar a pasta Python_Orientação a Objetos que contém o arquivo forca.py executando o comando abaixo no terminal.

cd "Python_Orientação a Objetos"

Após acessar a pasta Python_Orientação a Objetos basta realizar a execução do arquivo forca.py, execute o comando abaixo no terminal.

python forca.py

Nesse momento o jogo forca deverá iniciar.

Quero aproveitar a oportunidade de deixar uma dica de boas práticas. É recomendado que as pastas dos projetos que possuem múltiplas palavras sejam nomeadas fazendo o uso do underline (_) ou traço (-) no lugar do espaço. Também é recomendado que não seja feito o uso de caracteres especiais, exemplos: til (~) cedilha (ç) entre outros. Aplicando essas recomendações a pasta Python_Orientação a Objetos ficará da seguinte forma python_orientacao_a_objetos.

Verifique o ponto destacado acima, caso o jogo continue não sendo apresentado, peço que compartilhe o código completo e uma print da tela completa no momento da execução do arquivo forca.py.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

terminal não reproduz jogo

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

    palavra_secreta = "maçã".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()
solução!

Olá Leandro, tudo bem com você?

O arquivo forca.py não está apresentado a execução da função jogar() devido a indentação (espaço) incorreta da estrutura condicional if(__name__ == "__main__"):. Será necessário remover os espaços que estão a mais na estrutura condicional if para que ela e seu conteúdo sejam executados no momento em que executamos o arquivo forca.py. Deixo abaixo os passos que devem ser realizados.

  • Conforme apresentado na imagem, selecione as linhas 39 e 40 do código presentes no arquivo forca.py e pressione uma vez + para remover os espaços.

  • Salve o arquivo pressionando +.

  • Acesse a pasta Python_Orientação a Objetos que contém o arquivo forca.py executando o comando abaixo no terminal.

      cd "Python_Orientação a Objetos"
  • Após acessar a pasta Python_Orientação a Objetos basta realizar a execução do arquivo forca.py, execute o comando abaixo no terminal.

      python forca.py

Código completo com a mudança de indentação já corrigida

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

    palavra_secreta = "maçã".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()

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado Felippe, era o código mesmo.