声明一个继承自NPC类的战士类,新增属性攻击力__atk, 该子类添加方法如下: attack(class, int) 可以对目标进行一定伤害 重写upLevel() 函数,等级提升时提升20%攻击力
时间: 2024-09-27 17:05:07 浏览: 45
战士类(Warrior),作为NPC的一个子类,将继承其基本特性,并添加额外的攻击力属性和攻击方法。下面是战士类的定义:
```python
class Warrior(BaseNPC):
def __init__(self, name: str, level: int, hp: int, atk: int):
"""
继承BaseNPC并初始化战士类的额外属性
:param name: NPC的名字
:param level: NPC的等级
:param hp: NPC的生命值
:param atk: NPC的攻击力
"""
super().__init__(name, level, hp)
self.__atk = atk
def attack(self, target: 'Warrior', damage: int):
"""
对另一个战士造成一定伤害
:param target: 目标战士
:param damage: 造成的伤害
"""
target.damage(damage)
def upLevel(self):
"""
重写upLevel函数,提升战士等级的同时提升20%的攻击力
"""
super().upLevel()
self.__atk = int(self.__atk * 1.2)
# 其他方法同上...
```
在这个战士类中,`attack`方法允许战士与其他战士交互,而`upLevel`方法不仅提升等级还提升了攻击力。
阅读全文