一、构建父类
无论什么样的敌人,无论其行动、AI如何,能力强弱、大小各异,它们总会有一些共同的属性,例如无论什么样的敌人都具有生命值、攻击力等基本的属性。
从这里出发,我们可以使用类的继承来简化代码量,避免重复造轮子。
首先,我们先构建一个敌人基类:
import pygame
class Monster(pygame.sprite.Sprite):
maxHp: int
Hp: int
Ad: int
index = 0
status = "standing"
direction = -1
images: map
def update(self):
"""敌人动作"""
def die(self):
"""敌人死亡后事件"""
复制代码
首先,可以看到,我们先继承了pygame提供了精灵类,使该类获得了一些常用的工具函数。
然后,我们为其定义了几个属性最大生命、生命、攻击,并标注了其数据类型。
另外,对于一些通用的变量,我们直接在父类进行赋值。
最后,我们定义了一些通用的函数作为接口,提供给子类进行覆写。
二、继承父类
接下来,我们来创建第一种类型的敌人-史莱姆:
class Sh