其他分享
首页 > 其他分享> > day19

day19

作者:互联网

目录

什么是对象?什么是类?

对象是特征与技能的结合体

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

绑定方法的有什么特点

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

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

class Hero:
    def __init__(self,name,aggressivity,life_value,money,armor):
        self.name=name
        self.aggressivity=aggressivity
        self.life_value=life_value
        self.money=money
        self.armor=armor
    def attack(self,enemy):
        damage_value=self.aggressivity-enemy.armor
        enemy.life_value-=damage_value

class BlackCleaver:
    def __init__(self,price=475,aggrev=9,life_value=100):
        self.price=price
        self.aggrev=aggrev
        self.life_value=life_value

    def update(self,obj):
        obj.money-=self.price
        obj.aggressivity+=self.aggrev
        obj.life_value+=self.life_value
    def fire(self,obj):
        obj.life_value-=1000

Riven=Hero('Riven',54,414,1001,3)
Garen=Hero('Garen',28,455,100,10)
BC=BlackCleaver()

# print(Riven.life_value,Riven.aggressivity,Riven.money)

if Riven.money>=BC.price:
    BC.update(Riven)
    Riven.BC=BC

# print(Riven.life_value,Riven.aggressivity,Riven.money)
while True:
    if Garen.life_value <= 0:
        print(f'{Garen.name} over')
        break
    # print(Garen.life_value)
    Riven.attack(Garen)
    # print(Garen.life_value)
    Riven.BC.fire(Garen)
    # print(Garen.life_value)

标签:life,Riven,money,self,value,aggressivity,day19
来源: https://www.cnblogs.com/zhm-cyt/p/11642791.html