Python 3.x 一个简单的猪游戏
我为游戏编写的代码运行得很好,但是当一个人达到至少100分时,我很难让游戏结束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:
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我原本以为它会在那里,但它没有记录总分。