zoukankan      html  css  js  c++  java
  • python基础之对象之间的交互

    面对对象编程之对象之间的交互

    这是一个猫狗大战的例子

    # 猫类
    class Cat:
        def __init__(self, name, hp, attack):
            self.name = name  # 名字
            self.hp = hp  # 血量
            self.attack = attack  # 攻击力
    
        # 猫的攻击:挠
        def catch(self, dog_obj):
            if dog_obj.hp == 0:
                print(f"{dog_obj.name}:ヾ(。`Д´。)血槽空了!")
                print(f"{self.name}:愚蠢的生物!")
                return True
            else:
    
                if dog_obj.hp >= self.attack:
                    dog_obj.hp -= self.attack
                    print(f"cat:{self.name}发动攻击,dog的血槽还剩:{dog_obj.hp}!")
                    return False
                else:
                    print(f"cat:{self.name}发动攻击,dog的血槽还剩:0!")
                    print(f"{dog_obj.name}:ヾ(。`Д´。)血槽空了!")
                    print(f"{self.name}:愚蠢的生物!")
                    return True
    
    # 狗类
    class Dog:
        def __init__(self, name, hp, attack):
            self.name = name  # 名字
            self.hp = hp  # 血量
            self.attack = attack  # 攻击力
    
        # 狗的攻击:咬
        def bite(self, cat_obj):
            if cat_obj.hp == 0:
                print(f"{cat_obj.name}:ヾ(。`Д´。)血槽空了!")
                print(f"{self.name}:渺小的猫科动物!")
                return True
            else:
                if cat_obj.hp >= self.attack:
                    cat_obj.hp -= self.attack
                    print(f"dog:{self.name}发动攻击,cat的血槽还剩:{cat_obj.hp}!")
                    return False
                else:
                    print(f"dog:{self.name}发动攻击,cat的血槽还剩:0!")
                    print(f"{cat_obj.name}:ヾ(。`Д´。)血槽空了!")
                    print(f"{self.name}:渺小的猫科动物!")
                    return True
    
    # 创建一只加菲猫
    cat_graf = Cat("garfield", 900, 350)
    # 创建一只欧恩狗
    dog_oen = Dog("oen", 900, 400)
    print("明明是美好的一天,加菲又开始跟欧恩互殴了,让我们来看看谁赢了!")
    while True:
        cat_res = cat_graf.catch(dog_oen)
        if cat_res:
            break
        dog_res = dog_oen.bite(cat_graf)
        if dog_res:
            break
    
  • 相关阅读:
    actionscript3.0 的一些小技巧
    Flash 安全沙箱的意义
    明明连上了网,但是打不开网页
    关于电脑上可用内存太小的问题
    AS3 Starling 学习杂谈 (一) Quad类
    更新flash builder4,6 的AIR版本
    软件工程实践2017第二次作业
    软件工程实践2017第一次作业
    微信小程序开发指南合集 各类组件用法技巧
    微信小程序视频教程合集 附带源码、PPT下载
  • 原文地址:https://www.cnblogs.com/xiaodan1040/p/11932891.html
Copyright © 2011-2022 走看看