"""aggressivity 攻击力armor 护甲damage_value 伤害值""" class Riven: camp = 'Noxus' def __init__(self, nickname, aggressivity=200, life_value=600, money=1000, armor=10): self.nickname = nickname self.aggressivity = aggressivity self.
""" aggressivity 攻击力 armor 护甲 damage_value 伤害值 """
class Riven: camp = 'Noxus' def __init__(self, nickname, aggressivity=200, life_value=600, money=1000, armor=10): self.nickname = nickname self.aggressivity = aggressivity self.life_value = life_value self.money = money self.armor = armor def attack(self, enemy): if enemy.life_value <= 0: return True if self.life_value: damage_value = self.aggressivity - enemy.armor # 一次攻击伤害值 enemy.life_value -= damage_value # 被攻击一次后剩余的生命值 print( f''' [{self.nickname}]攻击:[{enemy.nickname}] [{enemy.nickname}]掉血:[{damage_value}] 还剩血量:[{enemy.life_value}] ''')
class Garen: camp = 'Demacia' def __init__(self, nickname, aggressivity=250, life_value=500, money=1100, armor=5): self.nickname = nickname self.aggressivity = aggressivity self.life_value = life_value self.money = money self.armor = armor def attack(self, enemy): if enemy.life_value <= 0: return True if self.life_value: damage_value = self.aggressivity - enemy.armor # 一次攻击伤害值 enemy.life_value -= damage_value # 被攻击一次后剩余的生命值 print( f''' [{self.nickname}]攻击:[{enemy.nickname}] [{enemy.nickname}]掉血:[{damage_value}] 还剩血量:[{enemy.life_value}] ''')
class BlackCleaver: def __init__(self, price=500, aggrev=10, life_value=100): self.price = price self.aggrev = aggrev self.life_value = life_value def update(self, obj): obj.money -= self.price # 减钱 obj.aggressivity += self.aggrev # 加攻击 obj.life_value += self.life_value # 加生命值 def fire(self, obj): # 主动攻击技能,喷火,烧死对方 obj.life_value -= 1000 # 火烧得攻击力定为1000
r1 = Riven('飞灵') g1 = Garen('盖轮') b1 = BlackCleaver() while True: flag1 = r1.attack(g1) if flag1: print(f'{g1.nickname}已挂') break flag2 = g1.attack(r1) if flag2: print(f'{r1.nickname}已挂') break
扩展:
# print(r1.aggressivity, r1.life_value, r1.money) # if r1.money > b1.price: # r1.b1 = b1 # b1.update(r1) # print(r1.aggressivity, r1.life_value, r1.money) # print(g1.aggressivity, g1.life_value, g1.money) # r1.attack(g1) # 普通攻击 # print(g1.life_value) # r1.b1.fire(g1) # 用装备攻击 # print(g1.life_value) # g1的生命值小于等于0就死了