082 实例 人狗大战

∥☆過路亽.° 提交于 2019-11-28 16:10:37
  • 定义一个狗类
class Dog:
    type_dog = '藏獒'

    # 对象生成的属性-->通过__init__方法
    def __init__(self,name,aggressivity,hp=100):
        self.name = name
        self.aggressivity = aggressivity
        self.hp = hp

    # 定义对象相同的方法
    def bite(self,target):
        # target.hp-->人的血量
        # self.aggressivity->当前狗的攻击力
        target.hp -= self.aggressivity
        print(f"狗的品种{self.type_dog}\n"
              f"{self.name}咬了人{target.name}\n"
              f'{target.name}掉血{self.aggressivity}\n'
              f'{target.name}的血量剩余{target.hp}\n')
  • 定义一个人类
class Human:

    # 对象生成的属性-->通过__init__方法
    def __init__(self, name, aggressivity, hp=100):
        self.name = name
        self.aggressivity = aggressivity
        self.hp = hp

    # 定义对象相同的方法
    def bite(self, target):
        # target.hp-->狗人的血量
        # self.aggressivity->当前人的攻击力
        target.hp -= self.aggressivity
        print(
              f"{self.name}人咬了狗{target.name}\n"
              f"{target.name}掉血{self.aggressivity}\n"
              f"{target.name}的血量剩余{target.hp}\n")
  • 实例化产生狗对象

    dog2 = Dog('旺财',10,200)
    nick = Human('nick',50)
    dog2.bite(nick)

    狗的品种藏獒
    旺财咬了人nick
    nick掉血10
    nick的血量剩余90

  • 实例化产生人对象

    nick = Human('nick',50)
    dog2 = Dog('旺财',10,200)
    nick.bite(dog2)

    nick人咬了狗旺财
    旺财掉血50
    旺财的血量剩余150

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!