這裏是我遇到問題的代碼(簡化以使其更清晰)。這是一個基於文本的遊戲只是爲了幫助學習的東西。重新評估函數以獲取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]'使用相同的值,而不是獲取新的值。 –