1
resposta

[Projeto] JOKENPÔ PYTHON

Fala galera!!! Primeiro post no fórum

Esse é meu projeto de pedra, papel, tesoura. Peguei tudo que aprendi até agora e decidi implementar umas melhorias.


#IMPORTAÇÕES NECESSÁRIAS
import random
import time

vitorias_player = 0
vitorias_cpu = 0
print("""
░░░░░██╗░█████╗░██╗░░██╗███████╗███╗░░██╗██████╗░░█████╗░
░░░░░██║██╔══██╗██║░██╔╝██╔════╝████╗░██║██╔══██╗██╔══██╗
░░░░░██║██║░░██║█████═╝░█████╗░░██╔██╗██║██████╔╝██║░░██║
██╗░░██║██║░░██║██╔═██╗░██╔══╝░░██║╚████║██╔═══╝░██║░░██║
╚█████╔╝╚█████╔╝██║░╚██╗███████╗██║░╚███║██║░░░░░╚█████╔╝
░╚════╝░░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚══╝╚═╝░░░░░░╚════╝░""")

#ESCOLHA DO USUARIO
while True:
  opcoes = ['pedra', 'papel', 'tesoura']
  print(f"\nPLACAR: VOCÊ {vitorias_player} X {vitorias_cpu} COMPUTADOR\n")
  usuario = input("Escolha entre [pedra] [papel] [tesoura] OU [sair]: ").lower().strip()

  #OPÇÃO SAIR
  if usuario == "sair":
     print("\nFinalizando o jogo...")
     time.sleep(0.6)
     break
  
  #VALIDAÇÃO DO USUARIO
  if usuario not in opcoes:
      print("Opção inválida, tente novamente!")
  else:
    computador = random.choice(opcoes)

  #LOAD
    print("\nJO...")
    time.sleep(0.6)
    print("\nKEN...")
    time.sleep(0.6)
    print("\nPÔ!!\n")
    time.sleep(0.4)

    print(f"Computador escolheu: {computador}")
    print(f"Você escolheu: {usuario}")
    print("-"*20)

  #PONTUAÇÃO DO JOGO 
    if computador == usuario:
      print("\nEMPATE!!!")
    elif (computador == "pedra" and usuario == "tesoura") or \
        (computador == "tesoura" and usuario == "papel") or \
        (computador == "papel" and usuario == "pedra"):
        print("""\nPONTO PARA O COMPUTADOR!!!""")
        vitorias_cpu+= 1
    else:
        print("""\nPONTO PARA VOCÊ!!!""")
        vitorias_player += 1

# SAIDA PLACAR
time.sleep(0.6)
print(f"\nPlacar Final: VOCÊ {vitorias_player} - {vitorias_cpu} COMPUTADOR")
if vitorias_player > vitorias_cpu:
   print("""
██╗░░░██╗░█████╗░██╗░░░██╗  ░██╗░░░░░░░██╗██╗███╗░░██╗
╚██╗░██╔╝██╔══██╗██║░░░██║  ░██║░░██╗░░██║██║████╗░██║
░╚████╔╝░██║░░██║██║░░░██║  ░╚██╗████╗██╔╝██║██╔██╗██║
░░╚██╔╝░░██║░░██║██║░░░██║  ░░████╔═████║░██║██║╚████║
░░░██║░░░╚█████╔╝╚██████╔╝  ░░╚██╔╝░╚██╔╝░██║██║░╚███║
░░░╚═╝░░░░╚════╝░░╚═════╝░  ░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚══╝""")
elif vitorias_cpu > vitorias_player:
   print("""
░██████╗░░█████╗░███╗░░░███╗███████╗  ░█████╗░██╗░░░██╗███████╗██████╗░
██╔════╝░██╔══██╗████╗░████║██╔════╝  ██╔══██╗██║░░░██║██╔════╝██╔══██╗
██║░░██╗░███████║██╔████╔██║█████╗░░  ██║░░██║╚██╗░██╔╝█████╗░░██████╔╝
██║░░╚██╗██╔══██║██║╚██╔╝██║██╔══╝░░  ██║░░██║░╚████╔╝░██╔══╝░░██╔══██╗
╚██████╔╝██║░░██║██║░╚═╝░██║███████╗  ╚█████╔╝░░╚██╔╝░░███████╗██║░░██║
░╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝╚══════╝  ░╚════╝░░░░╚═╝░░░╚══════╝╚═╝░░╚═╝""")
else:
   print("""
███████╗███╗░░░███╗██████╗░░█████╗░████████╗███████╗
██╔════╝████╗░████║██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
█████╗░░██╔████╔██║██████╔╝███████║░░░██║░░░█████╗░░
██╔══╝░░██║╚██╔╝██║██╔═══╝░██╔══██║░░░██║░░░██╔══╝░░
███████╗██║░╚═╝░██║██║░░░░░██║░░██║░░░██║░░░███████╗
╚══════╝╚═╝░░░░░╚═╝╚═╝░░░░░╚═╝░░╚═╝░░░╚═╝░░░╚══════╝""")

time.sleep(0.6) 
print("\nOBRIGADO POR JOGAR!!!")
1 resposta

Olá, Gabriel, como vai?

Obrigado por compartilhar seu primeiro projeto no fórum. Dá para ver claramente a evolução do conteúdo do curso aplicada de forma prática, principalmente na organização do fluxo do jogo, no uso de placar acumulado e na preocupação com a experiência do usuário.

O código está correto e atende plenamente ao que foi proposto no exercício. A validação da entrada, o uso do random.choice, o controle de pontuação e a condição de saída estão bem implementados. O uso do while True junto com a opção sair deixa o jogo mais flexível e demonstra boa compreensão de laços de repetição.

Parabéns pela iniciativa de incrementar o exercício e por compartilhar. O fórum fica à disposição para dúvidas, projetos ou melhorias que queira discutir. Continue compartilhando sua evolução.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!