前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >今日作业

今日作业

作者头像
GH
发布2023-05-24 09:39:51
2260
发布2023-05-24 09:39:51
举报
文章被收录于专栏:python、mysql、go知识点积累

今日作业

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

对象:从现实世界中抽象出来的特征与技能的结合体

类:一系列对象特征与技能的结合体

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

把对象当做第一个参数传入绑定方法中,由不同的对象调用,就把不同的对象传给不同的绑定方法

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

代码语言:javascript
复制
class Person:
    '''人类'''
    def __init__(self,name,money,aggr,life_value):
        self.name = name
        self.money = money
        self.aggr = aggr
        self.life_value = life_value

    def attack(self,dog):
        if self.life_value  > 0:
            dog.life_value -= self.aggr
            print(f'''
            {self.name}攻击{dog.name}成功
            {self.name}生命力{self.life_value}
            {dog.name}生命力{dog.life_value}
                        ''')
            return True

class Dog:
    '''狗类'''
    def __init__(self,name,aggr,life_value):
        self.name = name
        self.aggr = aggr
        self.life_value = life_value
    def attack(self,person):
        if self.life_value > 0:
            person.life_value -= self.aggr
            print(f'''
            {self.name}攻击{person.name}成功
            {self.name}生命力{self.life_value}
            {person.name}生命力{person.life_value}
            ''')
            return True
        
        
class Weapon:
    '''武器类'''
    def __init__(self,money,aggr,life_value):
        self.money = money
        self.aggr = aggr
        self.life_value = life_value

    def update(self,obj):
        obj.money -= self.money
        obj.life_value += self.life_value
        obj.aggr += self.aggr

    def pick(self,obj):
        obj.life_value -= 500
        print(f'{obj.name}的生命力还有{obj.life_value}')



person1 = Person('nick',10000,300,1000)
dog1 = Dog('hashiqi',500,5000)
weap1 = Weapon(5000,300,2500)
print(person1.__dict__)

if person1.money > weap1.money:
    weap1.update(person1)
    person1.weapon = weap1#将weapon放入person的个人属性里面,这样就可以调用person了
    person1.attack(dog1)
    person1.weapon.pick(dog1)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今日作业
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档