如果我的问题是基于我的种族,那么我是说。我把精灵变成这样: elf=种族('elf',100,50,60,90)
如果精灵进入战斗,我如何使他的生命值在一个例子中下降,或者他的任何其他属性基于某种奖励而提高,比如他有某种装备给予他+(属性)?在
有点特别的问题,我知道。在
这是我到目前为止设置的班级竞赛。在
class Race(object):
race = None
health = None
strength = None
speed = None
endurance = None
def __init__(self, race, health, strength, speed, endurance):
self.race = race
self.health = health
self.strength = strength
self.speed = speed
self.endurance = endurance
def set_race(self, race):
self.race = race
def set_health(self, health):
self.health = health
def set_strength(self, strength):
self.strength = strength
def set_speed(self, speed):
self.speed = speed
def set_endurance(self, endurance):
self.endurance = endurance
批评是受欢迎的,只要它是建设性的!在
首先,由于IndentationError,代码无法编译,但这不是我想的要点(所以,请用4个空格缩进,不要按每个函数体和类主体的PEP-8制表符缩进)。在
也就是说,你不需要任何吸气剂或塞特瓶,因为它不是Python。如果要更改对象的属性,只需更改属性即可。如果需要控制属性的设置方式,请使用properties。在
另外,在下面的代码中,您实际上没有设置实例变量,而是在设置成员变量(请记住,我修复了缩进):
如果要删除上述属性,但保留
self.*
函数中的所有self.*
,那么您将拥有实例属性。术语self.*
表示“这是我自己的一个属性,是我自己的确切实例”。在另外,请考虑重命名种族。你需要一个类来封装一个对象的所有属性。想想看:角色的种族没有健康。一个角色可以有一个生命值,但是这个角色也有一个种族。这两样东西都是性格的属性。我建议命名这个类。在
相关问题 更多 >
编程相关推荐