【发布时间】:2014-12-04 20:33:38
【问题描述】:
我一直在修改骰子游戏猪的代码。我将其修改为掷 2 个骰子而不是 1 个。当您掷出一个时,它会转到下一个玩家回合,并且您的分数与您之前的分数都不相同。好吧,当你掷出两个时,我需要它来将分数重置为 0 并打印出我的消息“Snake Eyes!! 你的分数设置为 0”。问题是蛇眼打印出来的消息和当你只滚动一个时,当滚动两个时。分数也不会重置。
编辑* 我已经修复了打印消息冲突的代码,但是当 sneyes 滚动时仍然无法将分数重置为 0
from random import randint
playercount = 2
maxscore = 100
safescore = [0] * playercount
player = 0
score=0
while max(safescore) < maxscore:
if player == 0:
rolling = 0
if score < 17 and score + safescore[player] < maxscore:
rolling = 1
else:
rolling = input("Player %i: (%i, %i) Rolling? (Y) "
% (player, safescore[player], score)).strip().lower() in {'yes', 'y', ''}
if rolling:
rolled = randint(1, 6)
rolled2 = randint(1, 6)
print(' Rolled %i' % rolled)
print(' Rolled %i' % rolled2)
if rolled ==1 and rolled2 ==1:
print(' Snake Eyes!! your score is set to 0')
score=0
elif rolled == 1:
print(' Bust! you lose %i but still keep your previous %i'
% (score, safescore[player]))
score, player = 0, (player + 1) % playercount
elif rolled2 == 1:
print(' Bust! you lose %i but still keep your previous %i'
% (score, safescore[player]))
score, player = 0, (player + 1) % playercount
else:
score += rolled + rolled2
else:
safescore[player] += score
if safescore[player] >= maxscore:
break
print(' Sticking with %i' % safescore[player])
score, player = 0, (player + 1) % playercount
print('\nPlayer %i wins with a score of %i' %(player, safescore[player]))
【问题讨论】:
标签: python if-statement random pygame