Я успешно создал игру «камень, ножницы, бумага» на Python, но у меня возникли проблемы с тем, чтобы заставить игрока играть в игру до лучших из 7.
Я бы хотел Чтобы игра запустилась 7 раз, подсчитайте очки (т. е., если выиграл компьютер, выиграл игрок или игра завершилась вничью), а затем в конце сообщите эти результаты игроку. Приведенный ниже код представляет собой саму игру без каких-либо циклов while для указания ходов, поскольку мне не удалось заставить систему ходов работать.
Всякий раз, когда мне удавалось заставить ее работать правильно, она всегда вместо случайного выбора (камень, бумага или ножницы) просто выбирал бы то, что выбрал первым, 7 раз.
import random
choices = ["Rock", "Scissors", "Paper"]
choice = random.choice(choices)
# should i put a while loop in game() or outside? neither make the choice random, it's always whatever the computer chose first
def game():
prompt = input("Rock, paper or scissors?: ").title()
match prompt:
case "Rock":
if choice == "Paper":
print("Paper, I win!")
if choice == "Scissors":
print("Scissors, you win!")
case "Paper":
if choice == "Scissors":
print("Scissors, I win!")
if choice == "Rock":
print("Rock, you win!")
case "Scissors":
if choice == "Rock":
print("Rock, I win!")
if choice == "Paper":
print("Paper, you win!")
if choice == prompt:
print(f"{choice}, Tie!")
game()
Подробнее здесь: https://stackoverflow.com/questions/785 ... re-counter