这里是我遇到问题的代码(简化以使其更清晰)。这是一个基于文本的游戏只是为了帮助学习的东西。重新评估函数以获取python中的新随机值
class Character(object):
def __init__(self):
self.level = 5
self.moveset = [None,None,None,None]
def movesetleveling(self):
if self.level > 4:
self.moveset[0] = Punch(self.level)
def punch(level):
damagedealt = random.randint(0,5)**level
return damagedealt
我想知道我怎样才能使self.moveset[0] = Punch()
,而不是等于Punch()
在这个代码块的输出。所以每当我在while循环中运行它时,它都会重新评估Punch()的输出,而不是评估一次Punch()
并将其分配给self.moveset[0]
的第0个索引。
“在一个while循环中运行它”是什么意思?你打算如何使用'moveset'? – BrenBarn
您是否想在'self.moveset'中设置四个随机冲压级别,或者是否希望'self.moveset'中的第一个项目在循环的每次迭代中都是一个随机冲值? –
@BrenBarn'moveset'将用于显示选择器的移动选择。他们会从列表中选择一个移动,然后进行评估,以产生一个整数值,这将成为一个damagestat。这个伤害状态会影响敌人的健康。我创建了一个while循环,它一遍又一遍地完成,但每次它为'self.moveset [0]'使用相同的值,而不是获取新的值。 –