作业

拈花ヽ惹草 提交于 2019-11-30 23:04:55

目录

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

    对象就是变量

    类时一系列对象相同的特征与技能的结合体

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

    对象的绑定方法,是由对象来调用的,特殊之处就是把对象当做第一个参数传入该方法中

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

    基础的枪械游戏:

    class Saisi:
        def __init__(self,name,shooting1,life):
            #对象的所有特征
            self.name = name
            self.shooting1 = shooting1
            self.life = life
    
        #枪击的role方法
        def shooting(self, role):
            if role.life <= 0:
                return True
    
            if self.life:
                #role掉血
                role.life -= self.shooting1
                print(
                    f'''
                    Saisi:[{self.name}]击中Role:[{role.name}]
                    role掉血:[{self.shooting1}]
                    role还剩血量:[{role.life}]
                    ''')
    
    class Role:
        def __init__(self, name,shooting1, life):
            self.name = name
            self.shooting1 = shooting1
            self.life = life
    
         #role枪击saisi方法
        def shooting(self,saisi):
            if saisi.life <= 0:
                return True
    
            if self.life:
                # saisi掉血
                saisi.life -= self.shooting1
                print(
                    f'''
                    role:[{self.name}]击中saisi:[{saisi.name}]
                    saisi掉血:[{self.shooting1}]
                    saisi还剩血量:[{saisi.life}]
                    '''
                )
    
    saisi1 = Saisi('qianlonger', 47, 100)
    role1=Role('tong', 50, 100)
    
    while True:
        flag1 = saisi1.shooting(role1)
        if flag1:
            break
        flag2 = role1.shooting(saisi1)
        if flag2:
            break

    王者玩法

    class Monkey:
        camp='Noxus'
        def __init__(self,nickname,
                     Doeshurt=315,
                     HP=625,
                     money=16000,
                     shield=2):
            self.nickname=nickname
            self.Doeshurt=Doeshurt
            self.HP=HP
            self.money=money
            self.shield=shield
        def attack(self,enemy):
            damage_value=self.Doeshurt-enemy.shield
            enemy.HP-=damage_value
    
    
    class Thyme:
        camp='Demacia'
        def __init__(self,nickname,
                     Doeshurt=385,
                     HP=500,
                     money=17000,
                     shield=1):
            self.nickname=nickname
            self.Doeshurt=Doeshurt
            self.HP=HP
            self.money=money
            self.shield=shield
        def attack(self,enemy):
            damage_value=self.Doeshurt-enemy.shield
            enemy.HP-=damage_value
    
    class BlackCleaver:
        def __init__(self,price=475,aggrev=9,HP=100):
            self.price=price
            self.aggrev=aggrev
            self.HP=HP
        def update(self,obj):
            obj.money-=self.price #换装备花钱
            obj.Doeshurt+=self.aggrev #普攻增加
            obj.HP+=self.HP #回血
        def fire(self,obj): #火攻
            obj.HP-=2000 #真伤2000
    
    r1=Monkey('越兵线猴')
    g1=Thyme('视野百里')
    b1=BlackCleaver()
    
    print(r1.Doeshurt,r1.HP,r1.money) #r1的伤害,血量,护盾
    
    if r1.money > b1.price:
        r1.b1=b1
        b1.update(r1)
    
    
    print(r1.Doeshurt,r1.HP,r1.money) #r1的伤害,血量,护盾
    
    print(g1.HP)
    r1.attack(g1) #普攻
    print(g1.HP)
    r1.b1.fire(g1) #物理法穿装备伤害
    print(g1.HP) #血量没有就黑屏
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!