Python练习--模仿王者荣耀定义两个英雄类

时间:2022-01-06 22:22:39

需求:

英雄需要有昵称、攻击力、生命值等属性;

实例化出两个英雄对象;

英雄之间可以互殴,被殴打的一方掉血,血量小于0则判定为死亡。

 

实例代码如下:

class Garen:
    camp = 'Demacia'

    def __init__(self, nick_name, life_value, aggresivity):
        self.nick_name = nick_name
        self.life_value = life_value
        self.aggresivity = aggresivity

    def attack(self, enemy):
        enemy.life_value -= self.aggresivity


class Riven:
    camp = 'Noxus'

    def __init__(self, nick_name, life_value, aggresivity):
        self.nick_name = nick_name
        self.life_value = life_value
        self.aggresivity = aggresivity

    def attack(self, enemy):
        enemy.life_value -= self.aggresivity


g1 = Garen('草丛伦', 100, 30)
r1 = Riven('芮雯雯', 80, 50)
print(r1.life_value)
g1.attack(r1)
print(r1.life_value)

结果为:

80
50

草丛伦打芮雯雯,草丛伦的攻击力为30 ,打了芮雯雯一下,芮雯雯掉了30的血,还剩50的生命值