Python 3.x 一个简单的猪游戏

Python 3.x 一个简单的猪游戏,python-3.x,dice,Python 3.x,Dice,我为游戏编写的代码运行得很好,但是当一个人达到至少100分时,我很难让游戏结束 def dont_Be_Greedy(turn): points = 0 keepPlaying = 121 print('Lets start!') input('Press enter to roll') while keepPlaying == 121: roll = roll_Dice() print('You rolled a ' + str(roll)) if roll == 1:

我为游戏编写的代码运行得很好,但是当一个人达到至少100分时,我很难让游戏结束

def dont_Be_Greedy(turn):
points = 0
keepPlaying = 121
print('Lets start!')
input('Press enter to roll')
while keepPlaying == 121:
    roll = roll_Dice()
    print('You rolled a ' + str(roll))
    if roll == 1:
        points = 0 * roll
        keepPlaying = 110
        enter = input('Your turn is over. Next player.')
    elif roll > 1:
        points += roll
        print('your total is', points)
        passPlay = input('Do you want to keep playing or pass?'
                         '\ntype pass or play. ')                                                          
        if passPlay == 'play':
            keepPlaying = 121
        else:
            keepPlaying = 110
            enter = input('Your turn is over. Next player.')        
return points


player1 = 0
player2 = 0
while player1 < 100 and player2 < 100:
    print('Player 1 points are: ' + str(player1))
    print('Player 2 points are: ' + str(player2))
    gameOn = dont_Be_Greedy(1)
    player1 += gameOn
    print('Player 1 points are: ' + str(player1))
    print('Player 2 points are: ' + str(player2))
    gameOn = dont_Be_Greedy(2)
    player2 += gameOn
    if player1 >= 100:
         print('Player 1 is the winner!')
    elif player2 >= 100:
         print('Player 2 is the winner!')
def不要贪婪(转身):
分数=0
持续播放=121
打印('让我们开始!')
输入('按enter键滚动')
当keepplay==121时:
掷骰子
打印('您滚动了一个'+str(滚动))
如果滚动=1:
点数=0*滚动
持续播放=110
enter=input('你的回合结束了,下一个玩家')
elif滚动>1:
点数+=滚动
打印('您的总数为',分)
passPlay=input('您想继续比赛还是传球?'
“\n键入传球或比赛。”)
如果passPlay==“播放”:
持续播放=121
其他:
持续播放=110
enter=input('你的回合结束了,下一个玩家')
返回点
player1=0
player2=0
当player1<100和player2<100时:
打印('玩家1点为:'+str(玩家1))
打印('玩家2点为:'+str(玩家2))
gameOn=不要贪婪(1)
player1+=游戏机
打印('玩家1点为:'+str(玩家1))
打印('玩家2点为:'+str(玩家2))
gameOn=不要贪婪(2)
player2+=游戏机
如果player1>=100:
打印('玩家1是赢家!')
elif播放器2>=100:
打印('玩家2是赢家!')
当一名玩家达到100时,程序不再停止,而是让他们继续他们的回合。在他们通过轮次后,它允许下一个玩家开始滚动,直到他们通过或滚动一个,然后程序停止并声明获胜者(两个得分中较高的人)。 我不确定问题出在哪里


编辑:我添加了
不要贪婪
我尝试将
if
elif
语句移动到循环的正下方,程序停止运行而不打印获胜者。

似乎你的问题在于
不要贪婪()


当达到100时,它不会停止。

因此,一个明显的问题是:
print
语句是否执行了(玩家1/2是赢家!)?我认为你的问题在于
不要贪婪()。确保它停在100。@UnholySheep我不确定我是否理解你的问题。@Bharel我原本以为它会在那里,但它没有记录总分。