我目前正在用 Python 3.6 编写骰子游戏的代码我知道我的编码在这方面有点偏差,但是,我真的只是想知道如何开始我的 while 循环。游戏说明如下...人类玩家与计算机对战。他们轮流掷两个骰子,骰子的总数相加,除非掷出 1。如果掷出一个 1,则不会增加分数,轮到下一个人了。如果掷出两个 1,您将失去所有积分,然后轮到下一个人。第一个得分为 100 的玩家赢得游戏。当我运行这段代码时,我一遍又一遍地得到相同的随机生成的数字。我不确定如何在每卷上获得不同的数字。我也不明白如何在每个玩家的回合结束时跟上他们的得分。任何帮助都将不胜感激。import randomdef 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()
2 回答

MMTTMM
TA贡献1869条经验 获得超4个赞
尝试更改线路
Player1 = p1dice+p1dice2
至
Player1 += p1dice+p1dice2
旧版本Player1
每次替换的值。新版本增加了它。
顺便说一下,这+=
是一个简写
Player1 = Player1+p1dice+p1dice2
Python 的许多其他运算符都有类似的“增强赋值”符号。

catspeake
TA贡献1111条经验 获得超0个赞
所以你的问题是随机数不像你想要的那样工作,而不是关于“开始你的循环”?我真的只看到这种情况发生,因为您的系统时钟搞砸了(随机使用当前时间作为随机种子)。您是否尝试过实例化 random.Random() 并从中调用?
添加回答
举报
0/150
提交
取消