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

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 运筹学排序问题中的在线排序
  • ¥15 关于#flink#的问题:关于docker部署flink集成hadoop的yarn,请教个问题flink启动yarn-session.sh连不上hadoop
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题