zoukankan      html  css  js  c++  java
  • 作业

    目录

      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) #血量没有就黑屏
        
    • 相关阅读:
      [记录] web icon 字体
      ruby sass Encoding::CompatibilityError for changes
      [CSS][转载]内层div的margin-top影响外层div
      PHP 有关上传图片时返回HTTP 500错误
      APK downloader
      阿里云CentOS7.2卸载CDH5.12
      CentOS7查询最近修改的文件
      service cloudera-scm-server restart报错 Unable to retrieve remote parcel repository manifest
      CDH安装报错 Monitor-HostMonitor throttling_logger ERROR ntpq: ntpq -np: not synchronized to any server
      CDH5.12安装检查Inspector failed on the following hosts...
    • 原文地址:https://www.cnblogs.com/gfhh/p/11644014.html
    Copyright © 2011-2022 走看看