我目前正在用Python 3.6编写骰子游戏的代码 我知道我的编码在这方面有些不足,但是,我真的只是想知道如何启动我的while循环。 游戏说明如下...
人类玩家在与计算机对战。
他们轮流滚动两个骰子,除非掷出1,否则将所有骰子加在一起。
如果将一个1掷出,则不会添加任何分数,这是下一个人的回合。如果掷出两个1,则您将失去所有点数,并失去下一个人的位置。
第一个获得100分的玩家赢得比赛。
当我运行这段代码时,我会得到一遍又一遍相同的随机生成的数字。我不确定如何在每卷上获得不同的号码。我也不明白如何在每个回合结束时跟上每个球员的得分。 任何帮助将不胜感激。
import random
def main():
print("Welcome to the Two Dice Pig Game. You are Player 1!")
Player1 = 0
Player2 = 0
while(Player1<100 or Player2<100):
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Player1 = p1dice+p1dice2
print("Player 1 dice 1 =",p1dice)
print("Player 1 dice 2 =",p1dice2)
print("Player 1 dice total =",Player1)
print("Does player 1 want to hold?")
choose1 = input("Enter y for yes or n for no.")
if(choose1=="n"):
print("Player 1 dice 1 =",p1dice)
print("Player 1 dice 2 =",p1dice2)
print("Player 1 dice total =",Player1)
print("Does player 1 want to hold?")
choose1 = input("Enter y for yes or n for no.")
elif(choose1=="y"):
print("It's player 2's turn.")
print("Player 2 dice 2 =",p2dice)
print("Player 2 dice 2 =",p2dice2)
print("Player 2 dice total =",Player2)
print("Does player 2 want to hold?")
choose2 = input("Enter y for yes or n for no.")
main()
答案 0 :(得分:-1)
尝试更改行
Player1 = p1dice+p1dice2
到
Player1 += p1dice+p1dice2
旧版本每次都会替换Player1
的值。新版本添加到其中。
顺便说一句,+=
是
Player1 = Player1+p1dice+p1dice2
Python的许多其他运算符也具有类似的“增强分配”符号。
答案 1 :(得分:-1)
因此,您的问题是随机数不能像您想要的那样工作,而不是“开始循环”工作? 我真的只看到这种情况发生,因为您的系统时钟混乱了(随机使用当前时间作为随机种子)。 您是否尝试实例化random.Random()并从中调用?