首页 > 解决方案 > 如何在我的石头剪刀布游戏中添加另一轮

问题描述

我目前正在尝试学习 Python 并从事石头剪刀布游戏。它很简单,由 3 轮组成。大多数事情都运行良好,但我现在唯一的问题是,如果一轮是平局,我不能再添加一轮。

from random import randint

options = ['rock', 'paper', 'scissors']
players = 0
computers = 0

computer = options[randint(0,2)]

#introduction
print("Welcome to rock paper scissors")
print("The game is fairly simple.\n- Rock beats Scissors\n- Scissors beats Paper \n- Paper beats Rock")
start = input("To start the game type 'Start' or 's' ")

if start != 's':
    print("Ok")
    playerplay = False
else:
    rounds = 3
    playerplay = True
    for loop in range(rounds):
        player = input("Rock, Paper, Scissors? ").lower()
        if player == computer:
                print("It's a Tie!") 
                rounds += 1            
        elif player == options[0]:
            if computer == options[1]:
                print(computer, "covers", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, 'smashes', computer)
                print("Player wins, 1 point for the player")
                players += 1
        elif player == options[1]:
            if computer == options[2]:
                print(computer, "cuts", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, 'covers', computer)
                print("Player wins, 1 point for the player")
                players += 1
        elif player == options[2]:
            if computer == options[1]:
                print(computer, "smashes", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, "cuts", computer)
                print("Player wins, 1 point for the player")
                players += 1 
if playerplay:
    print((f'Player {players}\nComputer {computers}') )

标签: python

解决方案


我建议使用while

回合:如果是平局则添加+1,并在每回合后减少-1并使游戏运行直到回合为+ive

from random import randint

options = ['rock', 'paper', 'scissors']
players = 0
computers = 0

computer = options[randint(0,2)]

#introduction
print("Welcome to rock paper scissors")
print("The game is fairly simple.\n- Rock beats Scissors\n- Scissors beats Paper \n- Paper beats Rock")
start = input("To start the game type 'Start' or 's' ")

if start != 's':
    print("Ok")
    playerplay = False
else:
    rounds = 3
    playerplay = True
    # for loop in range(rounds):
    while rounds: #use while loop
        player = input("Rock, Paper, Scissors? ").lower()
        if player == computer:
                print("It's a Tie!") 
                rounds += 1# increase rounds left
        elif player == options[0]:
            if computer == options[1]:
                print(computer, "covers", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, 'smashes', computer)
                print("Player wins, 1 point for the player")
                players += 1
        elif player == options[1]:
            if computer == options[2]:
                print(computer, "cuts", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, 'covers', computer)
                print("Player wins, 1 point for the player")
                players += 1
        elif player == options[2]:
            if computer == options[1]:
                print(computer, "smashes", player)
                print("Player lost, 1 point for the computer")
                computers += 1
            else:
                print(player, "cuts", computer)
                print("Player wins, 1 point for the player")
                players += 1 
        rounds-=1 # dcrease the rounds left
if playerplay:
    print((f'Player {players}\nComputer {computers}') )

推荐阅读