zoukankan      html  css  js  c++  java
  • day 19 作业

    今日作业

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

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

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

    由对象来调用称之为对象的绑定方法,不同的对象调用该绑定方法,则会将不同的对象传入该绑定方法中,对象的绑定方法,是由对象来调用的,特殊之处就是把对象当作第一个参数传入该方法中。

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

    # 仿制英雄联盟英雄角色
    
    '''
    瑞雯:
    生命值:414  攻击力:54 护甲:12 金币:1000
    盖伦
    生命值:455  攻击力:56 护甲:19 金币:150
    '''
    
    class Riven:
        camp = 'Noxus'
        def __init__(self,nickname,aggr=54,life_value=414,money=1000,armor=12):
            self.nickname = nickname
            self.aggr = aggr
            self.life_value = life_value
            self.money = money
            self.armor = armor
        def attack(self,enemy):
            damage_value = self.aggr-enemy.armor
            enemy.life_value -= damage_value
    
    class Garen:
        camp = 'Demacia'
        def __init__(self,nickname,aggr=56,life_value=455,money=150,armor=19):
            self.nickname = nickname
            self.aggr = aggr
            self.life_value = life_value
            self.money = money
            self.armor = armor
        def attack(self,enemy):
            damage_value = self.aggr-enemy.armor
            enemy.life_value -= damage_value
    
    
    class DoranBlade:
        def __init__(self,price=450,aggr=8,life_value=80):
            self.price = price
            self.aggr = aggr
            self.life_value = life_value
        def update(self,obj):
            obj.money -= self.price     # 扣钱
            obj.aggr += self.aggr       # 加攻击力
            obj.life_value +=self.life_value        # 加生命值
        def blood(self,obj):        # 装备主动技能流血
            obj.life_value -= 500
    
    
    
    r1 = Riven('瑞雯')
    g1 = Garen('草丛伦')
    b1 = DoranBlade()
    
    print(r1.aggr,r1.life_value,r1.money) # r1的攻击力,生命值,金钱
    
    if r1.money > b1.price:
        r1.b1 = b1
        b1.update(r1)
    
    print(r1.aggr,r1.life_value,r1.money) # 此时r1的攻击力,生命值、金钱
    
    
    print(g1.life_value)
    r1.attack(g1)   # 普通攻击
    print(g1.life_value)
    r1.b1.blood(g1) # 流血攻击
    print(g1.life_value)
    
    
    
    
  • 相关阅读:
    python3随记——字符编码
    python基础3(元祖、字典、深浅copy、集合、文件处理)
    python的颜色显示
    python基础2(数据类型、数据运算、for循环、while循环、列表)
    python基础之初始python
    0423作业(函数)
    0423上课练习(list、while、def)
    函数的定义与调用(4.23)
    0422作业:基础(if,while)
    while,for,if输入账号密码判断(还请各位大牛能够优化,本人刚学习一周)
  • 原文地址:https://www.cnblogs.com/colacheng0930/p/11645823.html
Copyright © 2011-2022 走看看