2
respostas

Incluindo novas funcionalidades!

Bom, eu participei do primeiro curso de python e apesar de estar bem avançado no segundo eu sempre volto para o primeiro para revisar e pensar em coisas novas. Dito isso eu acabei desenvolvendo uma nova funcionalidade no jogo de adivinhação onde caso você sacrifique sua pontuação é possível conseguir mais tentativas antes do jogo acabar! Enfim, segue o cod <3

import random
  import time
  import os
  clear = lambda: os.system('clear')
  clear()

  print("##################################")
  print("Bem vindo ao jogo de Adivinhação!")
  print("##################################\n");
  print('\n')
  print('(1) Iniciar Jogo\n(2) Instruções\n')
  opcao = int(input('Escolha uma opção:\n')) #Convertendo a entrada de inoput para int

  if(opcao == 1): # Verificando se a opção passada no input acima é verdadeira

      numero_secreto = random.randrange(1, 100, + 1) #Usando a biblioteca random.randrange onde os parâmetros são: inicio e fim da contagem randomizada 
      rodada = 1 # indicando a rodada onde o jogador se encontra
      name_player = input('Digite seu nome:\n') #Solicitando o nome do jogador
      player_points = 1000 # Passando a quantidade de pontos que o jogador terá
      print('Selecione o nivel de dificuldade:\n(1) Fácil \n(2) Médio \n(3) Difícil \n')
      dificuldade_jogo = int(input('Selecione a dificuldade:'))
      print('Bem vindo ao jogo de Adivinhação, {}, sua pontuação inicial é {}, boa sorte!'.format(name_player, player_points))


      if(dificuldade_jogo == 1):
          tentativas = 20
      elif(dificuldade_jogo == 2):
          tentativas = 10
      else:
          tentativas = 5
      while(player_points >= 0): #laço de repetição que define o parâmetro de pontuação do jogador
        while (rodada <= tentativas): #laço de repetição que define a quantidade de tentativas que o jogador ainda possui
            print('Tentativa {} de {} sua pontuação está com {}'.format(rodada, tentativas, player_points))
            numero_escolhido = int(input('Digite um numero: \n'))
            clear()
            acertou = numero_escolhido == numero_secreto;
            maior = numero_escolhido > numero_secreto;
            menor = numero_escolhido < numero_secreto;
            if (numero_escolhido < 1 or numero_escolhido > 100): #parâmetro condicional que define um range de limitação para o numero escolhido
                print("O numero digitado dever ser maior que 0 ou menor que 100");
                continue;
            if (acertou): 
                print("O numero digitado pelo jogador {} é: {} o numero secreto foi {} e você ficou com total de {} pontos , parabens você ganhou!".format(name_player, numero_escolhido, numero_secreto, player_points));
                break
            else:
                if (maior):
                    print("Você errou, o numero digitado foi maior que o numero secreto!");
                elif (menor):
                    print("Você errou, o numero digitado é menor que o numero a ser adivinhado");
            rodada = rodada + 1 #parâmetro de incremento da variável rodada que define a quantidade de tentativas do jogador
            pontos_perdidos = abs(numero_secreto - numero_escolhido) #parâmetro de decremento que define quantos pontos o jogador perdeu por erro
            player_points= player_points - pontos_perdidos
            while(rodada==tentativas):
              print('Deseja sacrificar alguns pontos seus por mais tentativas')
              print('Digite 1 para sacrificar 200 pontos e ganhar 10 chances')
              print('Digite 2 para sacrificar 100 pontos e ganhar 5 chances')
              select_option = int(input('Digite sua opção: '))
              if(select_option == 1):
                tentativas = tentativas + 10
                player_points = player_points - 200
                clear()
              else:
                if(select_option==2):
                  tentativas = tentativas + 5
                  player_points = player_points - 100
                  clear()
                else:
                  print('opcao invalida')
                  time.sleep(3)
                  clear()

            if(player_points <= 0):
                break
        break

      print('Fim do Jogo, o numero secreto foi {}!'.format(numero_secreto))
  else:
    print('1 - O jogo consiste em você adivinhar o respectivo numero secreto. \n2 - O jogador pode optar por três níveis de dificuldade \n3 - Existe uma tabela de pontuação onde a cada erro sua pontuação vai diminuindo, você pode perder zerando suas tentativas ou zerando sua pontuação.\n4 - Você começa com 1000 pontos. \n5 - Existe uma logica por trás da pontuação, talvez você descubra o numero secreto, basta observar. ')

Segue link do meu replit: https://replit.com/@CaqueBrener/SparseExpertLists#main.py

2 respostas

Que bacana, Caique! Eu adorei o seu jogo!

Parabéns por isso! E por esse esforço de sempre tentar implementar algo novo. Continue assim que você vai longe :)

Obrigada por compartilhar com a gente aqui no fórum.

Qualquer dúvida estamos a disposição.

Bons estudos!

Obrigado Millena!!