Ajuda em python3

19/05/2021

0

PYTHON3
Oiii estou fazendo um jogo de jokenpo, e surgiram alguns problemas no caminho.
Eu preciso emplementar um "jogar novamente" e limitar as rodadas.
Por exemplo: Caso for uma melhor de 3, se o jogador vencer 2, o jogo deve declarar o vencedor e finalizar. Caso for uma melhor de 5 e o jogador vencer 3, o jogo deve declarar o vencedor e finalizar.

Código que eu tenho até o momento:
vitoriasPlayer = 0
vitoriasCPU = 0
empates = 0

from random import randint
from time import sleep

def perdeu():
print("CPU Venceu")
global vitoriasCPU
vitoriasCPU+=1
sleep(2)

def venceu():
print("{} Venceu" .format(nome))
global vitoriasPlayer
vitoriasPlayer+=1
sleep(2)

def empatou():
print("Empate")
global empates
empates+=1
sleep(2)

def invalido():
print("Invalido")
sleep(2)

lista = ("Pedra", "Papel", "Tesoura")
print('''''' JOKENPÔ

'''''')

nome=str(input("Insira seu nome:"))
print("Seja Bem-Vindo {}.".format(nome))
rodadas = 0
while(rodadas != 3 and rodadas != 5):
rodadas = int(input("Digite a quantidade de rodadas (3 ou 5)"))

for i in range(rodadas):
CPU = randint(0,2)
perguntar = int(input(''''''\nOpções:

[0] Pedra
[1] Papel
[2] Tesoura

Sua escolha: ''''''))

print("JO\n")
sleep(0.5)
print("KEN\n")
sleep(0.5)
print("POOH!!!\n")

print("-="*20)
print("O CPU escolheu: {}".format(lista[CPU]))
print("{} escolheu: {}".format(nome, lista[perguntar]))
print("-="*20)

if CPU == 0:
if perguntar == 0:
empatou()
elif perguntar == 1:
venceu()
elif perguntar == 2:
perdeu()
else:
invalido()

elif CPU == 1:
if perguntar == 0:
perdeu()
elif perguntar == 1:
empatou()
elif perguntar == 2:
venceu()
else:
invalido()
elif CPU == 2:
if perguntar == 0:
venceu()
elif perguntar == 1:
perdeu()
elif perguntar == 2:
empatou()
else:
invalido()
else:
invalido()

print("\n{} venceu {} vez(es)".format(nome, vitoriasPlayer))
print("CPU venceu {} vez(es)".format(vitoriasCPU))
print("{} empate(s)".format(empates))

if vitoriasPlayer > vitoriasCPU:
print("\n{} Parabéns, vitória.".format(nome))
elif vitoriasCPU > vitoriasPlayer:
print("\nSupremacia das maquinas, vitória da CPU.")
elif vitoriasPlayer == vitoriasCPU:
print("\nEmpate")

Eu também fiz uma função para o jogar novamente, mas sempre que coloco no código, dá algum problema...desde já, grata pela ajuda.

def continuarjogando():
resposta = False

while True:
print(''Deseja continuar jogando? [S]im ou [N]ão'')
resposta = input()
if resposta.lower() == ''s'':
return True
elif resposta.lower() == ''n'':
return False

continuar = True
while continuar:
print(''jogando'')

continuar = continuarjogando()
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar