在Python中,开始我的双骰子小猪游戏的while循环

2024-09-28 19:05:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用Python3.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()

Tags: orto代码forrandom骰子diceplayer
2条回答

试着换线

Player1 = p1dice+p1dice2

^{pr2}$

旧版本每次都替换Player1的值。新版本增加了它。在

顺便说一下,+=

Player1 = Player1+p1dice+p1dice2

Python的许多其他操作符都有类似的“增广赋值”表示法。在

所以你的问题是随机数不是你想要的,而是“开始你的循环”? 我真的只看到这种情况的发生是因为你的系统时钟弄乱了(random使用当前时间作为random的种子)。 你试过实例化吗随机。随机()然后打电话过来?在

相关问题 更多 >