python编写程序设计

编写程序,按如下要求设计类: 王者荣耀是一款非常流行的即时对战类游戏,里面有很多的游戏角色可供选择。所有的角色都具有以下操作:普通攻击、技能攻击。 创建一个基类(Role),该类包括如下成员: (1)属性:普通攻击值(attackValue,整数型),技能攻击名称(skillName,字符串类型),角色名称(roleName,字符串类型),以上三个属性均为私有属性 (2)方法:普通攻击(commAttack()),技能攻击(skillAttack()) 其中:普通攻击方法显示:XXX正在使用普通攻击,攻击力为XXX。”,XXX表示具体英雄的具体角色名与攻击值。 技能攻击方法显示:XXX正在使用特殊攻击“XXX”。XXX表示具体的角色名称与技能攻击名称。 创建两个英雄角色,均继承基类 关羽类(GuanYu):普通攻击值10,技能攻击名称是“单刀赴会” 吕布(LvBu):普通攻击值15,技能攻击名称是“贪狼之握”,当使用吕布的技能攻击时,要显示:谁敢战我!!!吕布正在使用特殊攻击“贪狼之握”。 创建一个控制类(Control),该类有一个方法,该方法用于接收传入的具体的英雄角色,该方法采用多态技术实现。 当传入“关羽”时,显示如下信息: (1)当调用关羽的普通攻击方法时,在控制台显示: 关羽正在使用普通攻击,攻击力为10。 (2)当调用关羽的技能攻击方法时,在控制台显示: 关羽正在使用特殊攻击“单刀赴会”。 当传入“吕布”时,显示如下信息: (1)当调用吕布的普通攻击方法时,在控制台显示: 吕布正在使用普通攻击,攻击力为15。 (2)当调用吕布的技能攻击方法时,在控制台显示: 谁敢战我!!!吕布正在使用特殊攻击“贪狼之握”。 提示:注意在子类中可以使用super()方法使用父类的属性与方法。 求求了求求了,太难了

class Role:
    def __init__(self, attackValue, skillName, roleName):
        self.__attackValue = attackValue   # 普通攻击值,整型
        self.__skillName = skillName  # 技能攻击名称,字符串
        self.__roleName = roleName  # 角色名称,字符串
    def commAttack(self):
        print('{0}正在使用普通攻击,攻击力为{1}。'.format(self.__roleName, self.__attackValue))
    def skillAttack(self):
        print('{0}正在使用特殊攻击“{1}”。'.format(self.__roleName, self.__skillName))
        
class GuanYu(Role):
    def __init__(self):
        super().__init__(10, '单刀赴会', "关羽" )
        
class LvBu(Role):
    def __init__(self):
        super().__init__(15, '贪狼之握', "吕布" )
    def skillAttack(self):
        print('谁敢战我!!!', end = '')
        super().skillAttack()
        
class Control:
    def __init__(self, obj):
        obj.commAttack()
        obj.skillAttack()

g = GuanYu()
l = LvBu()
cg = Control(p)
cl = Control(l)

输出:

关羽正在使用普通攻击,攻击力为10。
关羽正在使用特殊攻击“单刀赴会”。
吕布正在使用普通攻击,攻击力为15。
谁敢战我!!!吕布正在使用特殊攻击“贪狼之握”。

这个是一个论述题😇