由于某种原因,该class
变量self
不能在 a 中定义function
。
功能:
def pickapoo_specialattack(opponent):
print("PICKAPOO's FLATULENCE BOLTS WAS EFFECTIVE")
self.damage -= float(self.damage / 20)
damage_dealt = random.randrange(200, 250)
defender.health -= damage_dealt
print("\nPICKAPOO's DAMAGE RATING WAS DECREASED BY 20%")
print("PICKAPOO's DAMAGE RATING IS NOW {}".format(str(self.damage)))
return self.damage
班级:
class Deskemon(object):
def __init__(self, name, health, damage, defense):
self.base_name = name
self.base_health = health
self.base_damage = damage
self.base_defense = defense
self.name = self.base_name
self.health = self.base_health
self.damage = self.base_damage
self.defense = self.base_defense
追溯:
Traceback (most recent call last):
File "DESKEMON PRE ALPHA.py", line 378, in <module>
Battle(deskemon, Jack)
File "DESKEMON PRE ALPHA.py", line 168, in Battle
Deskemon_Attack(D1, D2, special=(random.randrange(1, 100) <= 45))
File "DESKEMON PRE ALPHA.py", line 216, in Deskemon_Attack
pickapoo_specialattack(defender)
File "DESKEMON PRE ALPHA.py", line 115, in pickapoo_specialattack
self.damage -= float(self.damage / 20)
NameError: name 'self' is not defined
这是我的完整代码: http: //pastebin.com/8Xn6UCKS