082 实例 人狗大战

Posted xichenhome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于082 实例 人狗大战的主要内容,如果未能解决你的问题,请参考以下文章

面向对象方法实战 -人狗大战

楼枢「39」 人狗大战

python开发之旅——面向对象人狗大战

第一小节 初识面向对象

面向对象day07:面向对象和类

第六章