1
resposta

Código final do joguinho de adivinhação

O jogo é um pouco diferente do apresentado na aula, nesse o jogador escolhe a dificuldade e é o número do range que aumenta, as jogadas ou rodadas são proporcionais ao range em cerca de 30%, ou seja, 3 para range 10, 8 para 25 e 15 para 50, a pontuação é um pouco diferente, a cada perda é feito o calculo da diferença entre os números e multiplicado por 10 e retirado da sua pontuação, em caso de acerto sua pontuação é multiplicada por 100, em caso de a pontuação ser menor ou igual a zero o jogo para.

# Faça um jogo de adivinhação, onde o usuário tenta adivinhar um numero escolhido pela maquina
import random

total_tentativas = 3  # variavel inicializa com 3 e mantem caso seja no nivel facil porem aumenta para outros niveis
nivel = 0
taxa = 0
pontuacao = 1000  # jogador começa com 1000 pontos e vai diminuindo conforme perde tentativas
while nivel < 1 or nivel > 3:
    print("=" * 20)
    print("JOGO DE ADIVINHAÇÃO")
    print("=" * 20)
    nivel = int(input("[1] Facil\n"
                      "[2] Medio\n"
                      "[3] Dificil\n"
                      "Escolha o nivel: "))
    if nivel == 1:
        dif = 10
    elif nivel == 2:
        dif = 25
        total_tentativas = 8  # aqui damos ao jogador o mesmo indice de chance cerca de 30%
    elif nivel == 3:
        dif = 50
        total_tentativas = 15  # aqui damos ao jogador o mesmo indice de chance cerca de 30%
    else:
        print("Nivel inválido, tente novamente")
        continue

    while total_tentativas > 0:
        n = int(input("Insira um numero de 1 a {}: ".format(dif)))
        r = random.randint(1, dif)
        acertou = n == r
        maior = n > r
        menor = n < r
        if n < 1 or n > dif:
            print("O seu numero não está na faixa entre 1 e {}, tente novamente!\n".format(dif))
            continue
        if acertou:
            print("Parabens voce acertou, seu numero foi {}, e o da maquina foi {}\n".format(n, r))
            print("Sua pontuação é: ", pontuacao * 100)  # se jogador acerta seus pontos são aumentado em 100 pontos
            break
        else:
            if maior:
                print("Você ERROU, seu numero {} foi maior do que o da maquina {}\n".format(n, r))
            else:
                print("Você ERROU, seu numero {} foi menor do que o da maquina {}\n".format(n, r))
        total_tentativas -= 1
        taxa = abs((n - r) * 10)  # aqui pegamos o numero absoluto da diferença entre os numeros
        # e multiplicamos por 10 como taxa para a redução da pontuação
        pontuacao -= taxa
        print("Você possui {} pontos!".format(pontuacao))
        if pontuacao <= 0:
            print("Voce ainda possuia {} tentativas mas sua pontuação zerou.".format(total_tentativas))
            break   # programa para quando a pontuação fica menor ou igual a zero.
        if total_tentativas > 0:
            print("Voce ainda possui {} de {:.0f} tentativas".format(total_tentativas, dif * 0.3))
            # informa ao jogador quantas tentativas ainda possui
        else:
            print("Voce esgotou todas as suas tentativas")
print("GAME OVER")
1 resposta

Fala, Cosme!!! Tudo bem com você?

Rapaz...incrível!!!

Fiz diversos testes no game e rodou perfeitamente!

É isso aí!!!

Continue com essa evolução que você já está indo longe!!!

Bons estudos e vamos em frente!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software