我想做一个类似的游戏,https://gyazo.com/8d8dff02a09d27ba28ed303979f64894它叫Farkle!它的工作原理是,你掷骰子,如果你掷1得到100分(或者另一个骰子给你点),骰子会被拿走,直到你掷骰子,改变回合或者你赢了游戏。但我不知道如何根据掷骰子后的价值暂时拿走它。有人能告诉我根据变量的值删除变量的方法吗?你知道吗
from random import randint
score1 = 0
def dices():
score1 = 0
a = 0
dice1 = randint(1, 6)
dice2 = randint(1, 6)
dice3 = randint(1, 6)
dice4 = randint(1, 6)
dice5 = randint(1, 6)
dice6 = randint(1, 6)
rolled_dice = [dice1, dice2, dice3, dice4, dice5, dice6]
one_count = rolled_dice.count(1)
a = [0, 100, 200, 300, 1000, 2000, 300][one_count]
two_count = rolled_dice.count(2)
score1 += a
a = [0, 0, 0, 200, 1000, 2000, 3000][two_count]
score1 += a
three_count = rolled_dice.count(3)
a = [0, 0, 0, 300, 1000, 2000, 3000][three_count]
score1 += a
four_count = rolled_dice.count(4)
a = [0, 0, 0, 400, 1000, 2000, 3000][four_count]
score1 += a
five_count = rolled_dice.count(5)
a = [0, 50, 100, 500, 1000, 2000, 3000][five_count]
score1 += a
six_count = rolled_dice.count(6)
a = [0, 0, 0, 600, 1000, 2000, 3000][six_count]
score1 += a
print(score1)
if score1 == 0:
print("Farkle!")
print(rolled_dice)
dices()
让我们像在现实生活中一样去想。如果你掷骰子并且想保留一些结果,你可以记下它们或者把它们放在一边,直到你掷完其他的为止。你不要把它们扔掉,因为结果仍然很重要。你知道吗
编码时也会发生同样的情况,您不希望丢弃以后可能需要的值。相反,你把它们写在安全的地方,直到你需要它们。你知道吗
您可以通过将骰子的结果保存在
list
中,并编写一个reroll
函数来实现这一点,该函数只重新掷一些骰子,而不是全部。你知道吗一个更好的解决方案是使
reroll
返回一个新的值列表,其中它只重新滚动了一些骰子,而不改变数据,即允许您在重新滚动时保留以前的结果。你知道吗相关问题 更多 >
编程相关推荐