第十九天作业

今日作业

1.什么是对象?什么是类?

对象是一系列特征和技能的结合体,类是一系列相同特征和技能的对象的结合体

2.绑定方法的有什么特点

绑定方法是定义在类内部的函数,这个函数自带一个self参数,这个self参数是用来接收对象的,当类直接调用这个函数时,它就只是一个普通函数,需要给这个self传值,当对象来调用这个函数时,这个函数就是绑定方法,这个self会自动接收到对象(哪个对象调用,接收的就是哪个对象),也就不需要给self传值

3.基于面向对象设计一个对战游戏

class hero:
    def __init__(self,name,atk,life,defence ):
        self.name = name
        self.atk = atk
        self.life = life
        self.defence = defence
    def attack(self,enemy):
        damage = self.atk - enemy.defence
        enemy.life -= damage
        print(f'{self.name}{enemy.name}造成了{damage}点伤害')
        
# class hero2:
#     def __init__(self,atk = 100,life = 2200,defence = 100):
#         self.atk = atk
#         self.life = life
#         self.defence = defence
#     def attack(self,enemy):
#         damage = self.atk - enemy.defence
#         enemy.life -= damage

yas = hero('yas',150,1800,60)
san = hero('san',90,2200,110)

while True:
    if yas.life >0 and san.life>0:
        yas.attack(san)
        san.attack(yas)
    elif yas.life > 0 and san.life <= 0:
        print('yas获胜')
        break
    elif yas.life <= 0 and san.life > 0:
        print('san获胜')
        break

本来想定义两个英雄类,但是发现这两个类除了属性,其他的都是一样的,所以就只定义了一个英雄类,从这个类中制造了两个对象。

posted @   KONNE  阅读(106)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示