2
respostas

Resultado final do meu jogo de adivinhação

este é como ficou o meu jogo de adivinhar o número




import random
from time import sleep


def jogar():
    print('\033[33m*\033[m' * 60)
    print('\033[31m{:*^60}\033[m'.format('-Bem vindo ao jogo de Adivinhação-'))
    print('\033[33m*\033[m' * 60)

    # criando variavei para definir o numero que será adivinhado
    # numero_secreto = round(random.random() * 100)
    numero_secreto = random.randrange(1, 101)
    total_tentativas = 0
    pontos = 1000

    # essa parte foi para definir o nível de dificuldade da partida,
    # onde foi definido que quanto mais dificil for a escolha o jopgador terá menos chance
    print('Qual é o nível de dificuldade? ')
    print(' [1] Facíl\n [2] Médion\n [3] Dificíl\n')

    nivel = int(input("Defina um nível: \n"))

    # este while foi criado para fazer com que o jogador digite um nível válido
    while nivel < 1 or nivel > 3:
        print("Nível Invalido!\n")
        print("Escolha a dificuldade. \n")
        print(' [1] Facíl\n [2] Médion\n [3] Dificíl\n')

        nivel = int(input("Dificuldade: "))

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

    # definindo um laço for para criar um loop onde serão aceitos um número x de tentativas
    for rodada in range(1, total_tentativas + 1):
        print('*' * 60)
        print('Tentativa {} de {}'.format(rodada, total_tentativas))
        chute = int(input('Insira o seu chute entre 1 e 100: \n'))

        # criando uma condição para o usuario escolher um numero que esteja dentro da validade do jogo
        if (chute < 1 or chute > 100):
            print('Você deve digitar um número entre 1 e 100!')
            continue

        # importei da biblioteca time o sleep que faz uma pausa de tempo calculado so para
        # fazer um drama na hora de mostrar o resultado
        print('Pensando...')
        sleep(2)

        # exibindo o numero que o usuario chutou
        print('Voce digitou  o {}'.format(chute))

        # criando as variaveis para fazer as comparações
        acertou = chute == numero_secreto
        chute_maior = chute > numero_secreto
        chute_menor = chute < numero_secreto

        # criando um if para mostrar se é False ou True a condição ou seja mostrar para o usuario se errou ou acertou
        if (acertou):
            print('Você acertou!pontuação atingida é {} pontos '.format(pontos))
            break
        else:
            if (chute_maior):
                print('Você errou! seu chute foi maior que o escolhido.')
            elif (chute_menor):
                print('Você errou! seu chute foi menor que o escolhido.')
            # fazendo com que o jogo mostre uma pontuação para o jogador
            pontos_perdidos = abs(numero_secreto - chute)
            pontos = pontos - pontos_perdidos

        # incrementando a variavel para a condição ssair do laço e não criar um loop infinito
        rodada += 1

    print(f'O número escolhido foi o {numero_secreto} ')
    print('\033[33m*\033[m' * 60)
    print('\033[33m{:*^60}\033[m'.format(' Game Over '))
    print('\033[33m*\033[m' * 60)

2 respostas

Fala, Fernando! Tudo bom?

Parabéns! Seu jogo ficou muito bacana!

Adorei as modificações que você fez melhorando a interatividade e visualização pro usuário.

Mandou bem demais!

Continue mergulhando.

Bons estudos e até mais! =)

Ficou super organizado Fernando, show!