1
resposta

[Projeto] Meu Adivinhação - Busco sugestões, críticas e feedbacks! :)

Estou postando o código do meu Avidinhação para que possa ser analisado e receber feedback da galera. Podem comentar sobre boas práticas (o que eu fiz que é uma boa prática e o que eu fiz que não é uma boa prática) Além de inspirar outras pessoas a buscarem melhorias dentro do mundo expert! Valeu a todos ai desde já!

#   Imports
import random as rdm

def jogar():
    #   Start
    print('#-------------------------------#')
    print('Bem vindo ao jogo de Adivinhação')
    print('#-------------------------------#\n')

    # Níveis de dificuldade:
    print('Escolha seu nível de dificuldade')
    print('| [1] para Fácil \n| [2] para Média \n| [3] para Difícil')
    dificuldade = int(input('Digite o número correspondente à dificuldade: '))
    
    if (dificuldade == 1):
        total_de_tentativas = 9
        numero_secreto = rdm.randrange(1, 26)
        numero_range = 25
        pontos = 80
        print(f'\nVocê escolheu o nível Fácil - Você tem {total_de_tentativas} tentativas!\nVocê começa com {pontos} pontos!')
    elif (dificuldade == 2):
        total_de_tentativas = 6
        numero_secreto = rdm.randrange(1, 26) + 10
        numero_range = 35
        pontos = 60
        print(f'\nVocê escolheu o nível Médio - Você tem {total_de_tentativas} tentativas!\nVocê começa com {pontos} pontos!')
    elif (dificuldade == 3):
        total_de_tentativas = 3
        numero_secreto = rdm.randrange(1, 26) + 20
        numero_range = 45
        pontos = 40
        print(f'\nVocê escolheu o nível Médio - Você tem {total_de_tentativas} tentativas!\nVocê começa com {pontos} pontos!')
    else:
        print('Opção invalida, escolha uma opção válida!')
        jogar()


    # Laço de repetição
    # while (rodada <= total_de_tentativas):

    for rodada in range(1, total_de_tentativas + 1):
        print(f'{numero_secreto}')
        print(f'Tentativa {rodada} de {total_de_tentativas}')
        chute = int(input(f'Chute um número de 1 a {numero_range}: '))
        
        if (chute < 1 or chute > numero_range):
            print(f'\nVocê deve digitar um número entre 1 e 20')
            continue

    # Variáveis
        acertou = numero_secreto == chute
        maior = numero_secreto > chute
        menor = numero_secreto < chute

    # Condições
    
        if (acertou):
            print(f'\nVocê chutou {chute} e acertou!\nSua pontuação é de: {pontos}\n')
            break
       
        elif (menor):
            print(f'\nVocê errou! O Número Secreto é menor que {chute}!\n')
            pontos_perdidos = numero_secreto - chute
            pontos -= pontos_perdidos
            print('')
        
        elif (maior):
            print(f'\nVocê errou! O Número Secreto é maior que {chute}!\n')
            pontos_perdidos = numero_secreto - chute
            pontos -= pontos_perdidos
    
        if (pontos <= 0):
            print(f'Você perdeu por pontos! O número secreto era {numero_secreto}!')
            break
        
        elif (total_de_tentativas == rodada):
            print(f'Você perdeu por tentativas! O número secreto era {numero_secreto}!')
            break


    print('Fim do jogo')

if(__name__ == "__main__"):
    jogar()
1 resposta

Olá, Aprendiz!

Parabéns por compartilhar o seu código do jogo de Adivinhação e buscar feedbacks! É sempre importante buscar melhorias e aprender com a comunidade, e estabelecer esses momentos de troca.

Analisando o seu código, percebi algumas boas práticas que você seguiu, como a modularização do código em uma função jogar(). Isso torna o código mais organizado e reutilizável. Além disso, você utilizou comentários para explicar partes do código, o que facilita o entendimento.

Alguns outros pontos super positivos foram:

  • Você usou comentários para explicar o que seu código está fazendo. Isso é uma boa prática, pois ajuda outras pessoas a entender seu código.
  • Você usou variáveis para armazenar dados. Isso é uma boa prática, pois ajuda a tornar seu código mais organizado e eficiente.
  • Você usou uma estrutura de repetição para repetir o loop do jogo. Isso é uma boa prática, pois ajuda a tornar seu código mais conciso e fácil de ler.
  • Você usou uma condição para verificar se o jogador acertou ou não o número secreto. Isso é uma boa prática, pois ajuda a tornar o jogo mais justo e divertido.

Como tudo no universo da programação da para sempre melhorar, sendo assim, alguns pontos que observei durante minha jogativa foram:

  • Você pode usar uma função para imprimir a mensagem de vitória ou derrota. Isso tornaria seu código mais consistente e fácil de manter.
  • Você pode usar uma função para gerar o número secreto. Isso tornaria seu código mais organizado e reutilizável.
  • E pode melhorar a saídas de erro, de vitória ou derrota, mas é apenas um plus é claro

No mais seu código está muito, bacana e seu jogo ficou bem completinho e divertido, meus parabéns!

Espero ter ajudado e Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!