zoukankan      html  css  js  c++  java
  • day19作业

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

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

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

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

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

    # 仿制英雄联盟英雄角色
    
    class Garen:
        camp = 'Demacia'
        def __init__(self, name, aggr=58, life=455, money=100, armor=10):
            self.name = name
            self.aggr = aggr
            self.life = life
            self.money = money
            self.armor = armor
    
        def attack(self, enemy):
            damage = self.aggr - enemy.armor
            enemy.life -= damage
    
    
    
    class Riven:
        camp = 'Noxus'
        def __init__(self, name, aggr=54, life=414, money=1001, armor=3):
            self.name = name
            self.aggr = aggr
            self.life = life
            self.money = money
            self.armor = armor
    
        def attack(self, enemy):
            damage = self.aggr - enemy.armor
            enemy.life -= damage
    
    
    class BlackCleaver:   # 装备
        def __init__(self, price=475, aggr=9, life=100):
            self.price = price
            self.aggr=aggr
            self.life=life
    
        def update(self, obj):
            obj.money -= self.price
            obj.aggr += self.aggr
            obj.life += self.life
    
        def fire(self, obj):
            obj.life -= 1000   # 主动技能,喷火
    
    
    g1 = Garen('盖伦')
    r1 = Riven('锐雯')
    b1 = BlackCleaver()
    
    print(r1.aggr, r1.life, r1.money)
    
    if r1.money > b1.price:
        r1.b1 = b1
        b1.update(r1)
    
    print(r1.aggr, r1.life, r1.money)
    
    print(g1.life)
    r1.attack(g1)
    print(g1.life)
    r1.b1.fire(g1)
    print(g1.life)
    
  • 相关阅读:
    datalist分页
    css渐变色
    4月25日
    今天
    DataView Distinct
    心情复杂啦
    高数矩阵
    计算机视觉学习OpenCV Java 调用
    大数据学习关于hdfs
    摄影学习构图技巧
  • 原文地址:https://www.cnblogs.com/setcreed/p/11644150.html
Copyright © 2011-2022 走看看