weixin_59834000 2021-06-30 14:18 采纳率: 100%
浏览 98
已采纳

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()方法使用父类的属性与方法。 求求了求求了,太难了

  • 写回答

3条回答 默认 最新

  • CSDN专家-kaily 2021-06-30 15:13
    关注
    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。
    谁敢战我!!!吕布正在使用特殊攻击“贪狼之握”。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址