1009 作业

1009作业

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

对象:是一系列方法与特征的集合体,python中万物皆对象

类: 具有一系列相同特征的对象的结合体

2.绑定方法有什么特点

类内部的函数主要是由对象引用

  1. 当类调用类中函数时,函数是普通的函数,需传值
  2. 当对象来调用类中函数时,称之为对象的绑定方法

会把对象当做参数传入该绑定方法中

不同的对象调用该方法,将不同的对象传入该绑定方法

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

'''定义英雄'''
class yasuo:
    def __init__(self, name,
                 aggr=54,
                 life=414,
                 money=6300,
                 armor=60):
        self.name = name    # 你的游戏id
        self.aggr = aggr    # 攻击力
        self.life = life    # 血量
        self.money = money  # 售价
        self.armor = armor   # 护甲

    def skill(self,enemy):  # 定义攻击技能,enemy是敌人
        vaild_aggr = self.aggr - enemy.armor  # 有效伤害 = 攻击力减护甲
        if enemy.life <= 0:
            return True
        enemy.life -= vaild_aggr
        print(f'''
        {r2.name}攻击{r1.name}
        {r1.name}受到{r1.aggr}伤害
        {r1.name}还有{r1.life}血量
        ''')

class timo:
    def __init__(self, name,
                 aggr=44,
                 life=400,
                 money=450,
                 armor=40):
        self.name = name
        self.aggr = aggr
        self.life = life
        self.money = money
        self.armor = armor

    def skill(self,enemy): # 定义攻击技能,enemy是敌人
        vaild_aggr = self.aggr - enemy.armor  # 有效伤害 = 攻击力减护甲
        enemy.life -= vaild_aggr
        if enemy.life <= 0:
            return True
        print(f'''
        {r1.name}攻击{r2.name}
        {r2.name}受到{r1.aggr}伤害
        {r2.name}还有{r2.life}血量
        ''')



'''交互'''
r1 = yasuo('淡淡的悲哀')
r2 = timo('火之高兴')
while True:

    flag =r1.skill(r2)  # 将r2传入ri.skill中得到返回值
    if flag:
        print(f'用户{r2.name}阵亡')
        break   # 如果为真,则生命值为零,结束循环

    flag = r2.skill(r1)    # 否则继续执行
    if flag:
        print(f'用户{r2.name}阵亡')
        break

猜你喜欢

转载自www.cnblogs.com/fwzzz/p/11644602.html