1
resposta

[Projeto] Jogo de advinhação finalizado e com algumas funções novas!

#bibliotecas
import random
import os
#variaveis-importantes:
numero_secreto = round(random.randrange(1, +101))
Total_de_tentativas = 0
rodada = 0
Pontos = 0
Peso_ponto = 0
recorde_pontos = 0
Nome_recorde = 0
#.
#Laço inicial, importante para que retorne para o menu inicial ao final de cada partida.
#.
while True:
    #comando para limpar a tela quando retornar ao menu inicial
    clear = lambda: os.system('cls')
    clear()
    #...........................................................
    print(40 * "*")
    print("---Bem vindo ao jogo de advinhação---")
    print(40 * "*")
    print(" ")
    print("1- INICIAR.....2- PLACAR........3- SAIR")
    Menu = int(input("Qual opção deseja?"))
    print(" ")
#PRIMEIRA OPÇÂO - INICIO DE JOGO!
    if Menu == 1:
        print("Escolha seu nivel de dificuldade:")
        print("1 - Facil     2 - normal    3 - Dificil")
        nivel = int(input("Defina o nivel:"))
        print(numero_secreto)
        if nivel == 1:
            Total_de_tentativas = 20
            Peso_ponto = Total_de_tentativas
        elif nivel == 2:
            Total_de_tentativas = 15
            Peso_ponto = Total_de_tentativas - 0.75

        elif nivel == 3:
            Total_de_tentativas = 5
            Peso_ponto = Total_de_tentativas - 2.25

        for rodada in range(1, Total_de_tentativas + 1):
            print("Tentativa ", rodada, "de", Total_de_tentativas)
            chute_str = input("Digite um numero entre 1 e 100:  ")
            chute = int(chute_str)
            print("você digitou ", chute_str)

            if chute < 1 or chute > 100:
                print("você deve digitar um numero entre 1 e 100")
                continue
            acertou = chute == numero_secreto
            maior = chute >= numero_secreto
            menor = chute <= numero_secreto

            if acertou:
                print("você acertou,parabens!")
                print("Fim do jogo.")

                Pontos = int(((Total_de_tentativas / rodada) * 100) / Peso_ponto)
                print("você fez ", Pontos, "pontos")
                if Pontos > recorde_pontos:
                    print(" ")
                    print("Temos um novo recorde!!!")
                    Nome_recorde = input("Qual seu nome?")
                    recorde_pontos = Pontos
                break

            elif maior:
                print("Quase lá, seu palpite foi maior")

            elif menor:
                print("chegou perto, mas o seu palpite foi menor que o numero.")

            else:
                print("Você errou")
                print("Fim do jogo")

            rodada = rodada + 1

        print("Gostaria de Continuar?")
        resposta = input("(s/n):")
        if resposta.lower() != 's':
            input("Pressione uma tecla para sair...")
            break
#SEGUNDA OPÇÃO: PLACAR DE RECORDE!
    elif Menu == 2:
        print("Recorde atual:")
        if recorde_pontos == 0:
            print("não há recordes disponiveis.")
            input("Pressione uma tecla para retornar...")
        else:
            print(Nome_recorde, "com um total de ", recorde_pontos, "pontos" )
            print(" ")
            input("Pressione uma tecla para retornar...")

#TERCEIRA OPÇÃO: SAIR DO JOGO
    elif Menu == 3:
        print("Gostaria de finalizar?")
        resposta = input("(s/n):")
        if resposta.lower() != 'n':
            print(" ")
            print(" MUITO OBRIGADO ")
            input("pressione uma tecla para sair...")
            break

1 resposta

Oi Edmilson, tudo bem?

Agradeço por compartilhar o seu projeto do Jogo de Adivinhação! É empolgante ver o que você construiu, e parabenizo você pela dedicação em implementar diversas funcionalidades.

Sua abordagem de menu para iniciar, visualizar o placar e sair é organizada e facilita a navegação pelo programa. Além disso, a inclusão de opções de dificuldade demonstra um pensamento abrangente para oferecer uma experiência personalizada aos jogadores.

A lógica do jogo, incluindo a avaliação de pontuações e recordes, está bem implementada. O cálculo dos pontos com base na performance do jogador é uma adição interessante.

O uso de funções como lambda para limpar a tela e a organização do código em seções distintas mostra um esforço em manter o código claro e legível.

Continue praticando e explorando novos conceitos.

Um abraço e bons estudos.