欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

082 实例 人狗大战

  • 定义一个狗类
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

posted @ 2019-08-26 20:31  Cecilia陈  阅读(25104)  评论(0编辑  收藏  举报