<p>我在写一个介于骰子之间的游戏。我之前有另一个问题被回答了,但我仍然有一个问题。(请记住,我对编程一般来说都是新手)</p>
<p>这是我得到的输出,它涉及到“更高或更低”选项,如果两个骰子掷同一个数字:</p>
<blockquote>
<p>Would you like to play in-between [y|n]? y</p>
<p>Die 1: 1 Die 2: 1</p>
<p>Number of chips: 100
Place your bet: 50</p>
<p>Even-steven!</p>
<p>Even-steven! Higher or lower [h|l]? h</p>
<p>Die 3: 9</p>
<p><strong>* You win! *</strong></p>
<p>You now have 150 chips!
Play again y|n? y</p>
<p>Die 3: 9</p>
<p><strong>* Sorry - You lose! *</strong></p>
<p>You now have 100 chips!
Play again [y|n]? </p>
</blockquote>
<p>它不应该再次显示骰子3并说“你输了”,它应该再次滚动骰子1和2(基本上从一开始,但保留已赢/输的筹码),如果玩家选择“n”,它会做同样的事情。如果玩家选择“n”,游戏结束。在</p>
<p>以下是我的代码(我将两个骰子上的数字都改为“1”,以测试更高/更低的游戏):</p>
<pre><code>import random
# Number of chips
chipBalance = 100
play = input('Would you like to play in-between [y|n]? ')
while play == 'y':
# First dice roll
die1 = 1
# Second dice roll
die2 = 1
# Swaps the values of the dice if die one is larger than die two
if die1 > die2:
temp = die1
die1 = die2
die2 = temp
# Displays value of the first and second die
print('\nDie 1:', die1, ' Die 2:', die2)
# Displays the number of chips held by player
print('\nNumber of chips:', chipBalance)
# Prompts player to place their bet
bet = int(input('Place your bet: '))
#Third dice roll
die3 = random.randint(1,12)
# Checks if the dice are the same or different
if die1 == die2:
print('\nEven-steven!')
guess = input('\nEven-steven! Higher or lower [h|l]? ')
print('\nDie 3:', die3)
if guess == 'h':
if die3 > die1:
print('\n*** You win! ***')
chipBalance = chipBalance + bet
elif die3 < die1:
print('\n*** Sorry - You lose! ***')
chipBalance = chipBalance - bet
elif die3 == die1:
print('\n*** You hit the post - You lose! ***')
chipBalance = chipBalance - bet
if guess == 'l':
if die3 > die1:
print('\n*** Sorry - You lose! ***')
chipBalance = chipBalance - bet
elif die3 < die1:
print('\n*** You win! ***')
chipBalance = chipBalance + bet
elif die3 == die1:
print('\n*** You hit the post - You lose! ***')
chipBalance = chipBalance - bet
# Displays when chip balance has reached zero
if chipBalance <= 0:
print('\nYou\'re all out of chips!\n\n*** GAME OVER ***')
else:
print('\nYou now have', chipBalance, 'chips!')
play = input('Play again y|n? ')
elif die1 != die2:
print('\nNot the same, let\'s play!')
# Value of the third die
print('\nDie 3:', die3)
# Results of dice roll
if die3 > die1 and die3 < die2:
print('\n*** You win! ***')
chipBalance = chipBalance + bet
elif die3 < die1 or die3 > die2:
print('\n*** Sorry - You lose! ***')
chipBalance = chipBalance - bet
elif die3 == die1 or die3 == die2:
print('\n*** You hit the post - You lose! ***')
chipBalance = chipBalance - bet
# Displays when chip balance has reached zero
if chipBalance <= 0:
print('\nYou\'re all out of chips!\n\n*** GAME OVER ***')
else:
print('\nYou now have', chipBalance, 'chips!')
# Update loop control
play = input('Play again [y|n]? ')
print('\nThanks for playing!')
</code></pre>
<p>任何关于我需要改变/改变为什么的帮助将不胜感激!提前谢谢。在</p>