1
resposta

[Bug] Apenas o Adivinhação está rodando

Apenas o código Adivinhação está sendo rodado, não estou conseguindo testar o jogo da Forca. Código Adivinhação: ``import random

def jogar():

print("*********************************")
print ("Bem vindo ao jogo de Adivinhação")
print("*********************************")

numero_secreto = round(random.randrange(0,101))
total_tentativa = 0

pontos = 1000
print("Qual nível de dificuldade?")
print("(1) Fácil  (2) Intermediário (3) Difícil")

nivel = int(input("Define o nível do jogo: "))

if(nivel == 1):
    total_tentativa = 20
elif(nivel == 2):
    total_tentativa = 10
else:
    total_tentativa = 5

for rodada in range(1, total_tentativa + 1):
    print("Tentativa {} de {}:".format(rodada,total_tentativa))
    tentativa_str = input("Digite o seu número entre 1 até 100: ")
    tentativa = int(tentativa_str)

    if (tentativa < 1 or tentativa > 100):
        print("Você deve digitar um número entre 1 até 100:")
        continue

    #print("Você digitou:", tentativa_str)

    acertou = tentativa == numero_secreto
    maior = tentativa > numero_secreto
    menor = tentativa < numero_secreto

   # print(type(Acertou))
    if (acertou):
        print("Você acertou e fez {}!".format(pontos))
        break
    else:
        if(maior):
            print("Você errou! A Tentativa foi maior que o número secreto")
        elif(menor):
            print("Você errou! A Tentativa foi menor que o número secreto")
            pontos_perdidos = abs(numero_secreto-tentativa)
            pontos = pontos - pontos_perdidos

    print("Fim de Jogo")

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

def jogar():

print("*********************************")
print ("Bem vindo ao jogo de Forca")
print("*********************************")

palavra_secreta = "prost"
enforcou = False
acertou = False

#enquanto(True
while(not enforcou and not acertou):
    print("continue a jogar...")
print("Fim de Jogo")

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

import adivinhacao import forca

def escolhe_jogo(): print("****************************") print("Escolha o seu jogo!") print("**************************")

print("(1) Forca (2) Adivinhação")

jogo = int(input("Escolha um jogo para jogar: "))

if(jogo == 1):
    print("Jogo da forca.")
    forca.jogar()
elif(jogo == 2):
    print("Jogo da adivinhação.")
    adivinhacao.jogar()

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

1 resposta

Oi

Há alguns problemas no código que você compartilhou. Vou apontar algumas questões que podem estar causando o comportamento indesejado:

  1. Indentação incorreta:

    • No código da função jogar() do jogo da forca, a indentação está incorreta. A indentação correta deve ser utilizada para definir o bloco de código dentro da função. Certifique-se de corrigir a indentação.
  2. Loop infinito no jogo da forca:

    • No código do jogo da forca, há um loop infinito (while(not enforcou and not acertou)) sem nenhum código dentro dele. Isso fará com que o jogo da forca nunca termine. Adicione o código apropriado dentro desse loop.
  3. Condição incorreta no final do jogo da forca:

    • No final do jogo da forca, você tem um if(name == "main"): jogar(), que parece estar destinado a chamar a função jogar(). No entanto, a condição está errada; deveria ser if __name__ == "__main__": jogar().

Aqui está uma versão corrigida do código:

import random

def jogar_adivinhacao():
    # Código do jogo de Adivinhação aqui...

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

    palavra_secreta = "prost"
    enforcou = False
    acertou = False

    while not enforcou and not acertou:
        print("Continue a jogar...")

    print("Fim de Jogo")

if __name__ == "__main__":
    def escolhe_jogo():
        print("****************************")
        print("Escolha o seu jogo!")
        print("**************************")
        
        print("(1) Forca (2) Adivinhação")
        
        jogo = int(input("Escolha um jogo para jogar: "))
        
        if jogo == 1:
            print("Jogo da forca.")
            jogar_forca()
        elif jogo == 2:
            print("Jogo da adivinhação.")
            jogar_adivinhacao()

    escolhe_jogo()

Certifique-se de ajustar a indentação conforme necessário e corrija quaisquer outros problemas específicos do seu código. Isso deve resolver os problemas que você está enfrentando.