Win Count和Loop帮助(Python 3)

时间:2017-03-29 05:20:03

标签: python python-3.x

我找到了一个基本的石头剪刀游戏,想知道如何为它创建一个得分表。另外,我很困惑如何让游戏永远持续下去,直到玩家想要结束游戏。以下是游戏的编码:

import random;

wins_history = [0]
ties_history = [0]
losses_history = [0]

def initial_wins():
    return wins_history[0]

def cur_wins():
    return wins_history[-1]

def affect_wins(delta):
    wins_history.append(cur_wins() + delta)
    return cur_wins()

def initial_ties():
    return ties_history[0]

def cur_ties():
    return ties_history[-1]

def affect_ties(delta):
    ties_history.append(cur_ties() + delta)
    return cur_ties()

def initial_losses():
    return losses_history[0]

def cur_losses():
    return losses_history[-1]

def affect_losses(delta):
    losses_history.append(cur_losses() + delta)
    return cur_losses()

while True:
 player = input("Enter your choice (rock/paper/scissors): ");
 player = player.lower();
 while (player != "rock" and player != "paper" and player != "scissors"):
     print(player);
     player = input("That choice is not valid. Enter your choice (rock/paper/scissors): ");
     player = player.lower();

 computerInt = random.randint(0,2);
 if (computerInt == 0):
    computer = "rock";
 elif (computerInt == 1):
    computer = "paper";
 elif (computerInt == 2):
     computer = "scissors";
 else:
     computer = "Huh? Error...";

 if (player == computer):
     print("Draw!");
     affect_ties(+1)
     print ("Your new tie score is, cur_ties()")
 elif (player == "rock"):
     if (computer == "paper"):
         print("Computer wins!");
         affect_losses(+1)
         print ("Your new loss score is, cur_losses()")
     else:
         print("You win!");
         affect_wins(+1)
         print ("Your new win score is, cur_wins()")

 elif (player == "paper"):
     if (computer == "rock"):
         print("You win!");
         affect_wins(+1)
         print ("Your new win score is, cur_wins()")
     else:
         print("Computer wins!")
         affect_losses(+1)
         print ("Your new loss score is, cur_losses()")

 elif (player == "scissors"):
     if (computer == "rock"):
         print("Computer wins!");
         affect_losses(+1)
         print ("Your new loss score is, cur_losses()")
     else:
         print("You win!");
         affect_wins(+1)
         print ("Your new win score is, cur_wins()")

0 个答案:

没有答案