某同学:老师都贼好,除了梦梦老师以外。

07-24  类

今天学习了类,听老师说这个比较难,但是不知道为啥越听越精神了!这让我产生了我比较适合学习这个语言的错觉_(:зゝ∠)_

今天写作业感觉比昨天简单了不少,emmm或许是错觉,但是感觉真的很好玩!

ps.今天老师表扬我了,开心,正心老师真帅!

这次的作业参考答案还没出来,希望没走偏,哈哈!

岛风同学迷の代码

 

"""
    作业1
1、创建一个游戏英雄类,

- 分别有以下属性

  名字(name),高(high),宽(width),速度(speed)

- 每个英雄类都有游戏技能,分别为(行为)

  飞行(fly),改变大小(change_size)



用游戏英雄类创建三个游戏人物,分别是(属性):

- 韩信,15,20,初始速度200
- 阿狸,20,20,初始速度200
- 李白,19,19,初始速度200

每个人都有游戏技能,分别为(行为):

- 飞行

  调用一次 速度 `+2` (修改speed值)

- 改变大小

  调用一次 宽与高都 `+1` (修改 `high`  `width` )
"""
import time


def dataOut(N):  # 输出格式调整函数
    print("英雄名称:{}\n攻击力:{}\t防御力:{}\n移动速度:{}".format(N.name, N.high, N.width, N.speed))  # 定义高为攻击力,宽为防御力,速度为移动速度
    try:
        if N.blood >= 0:
            print("当前血量:{}".format(N.blood), end="\t")
        if N.energy >= 0:
            print("当前能量:{}".format(N.energy))
        return '\n'
    except:
        return '\n'


class Hero:
    def __init__(self, name, high, width, speed=200):
        self.name = name
        self.high = high
        self.width = width
        self.speed = speed

    def fly(self):
        print("{}换上了新鞋。\n".format(self.name))
        self.speed += 2

    def change_size(self):
        print("叮!{} level up !\n".format(self.name))
        self.high += 1
        self.width += 1


i = Hero('韩信', 15, 20)
j = Hero('阿狸', 20, 20)
k = Hero('李白', 19, 19)

# 升级 level up !
i.change_size()
k.change_size()
# 买鞋!
j.fly()
# 展示数据
print(dataOut(i))
print(dataOut(j))
print(dataOut(k))
"""
    作业2

2、新出了两个游戏英雄,多了下面内容

英雄1 #######缇娜(Tina)############

属性:血量(blood)

- 血量默认为1000


行为:射击(fight)

- 射击(fight)

调用一次血量减10

英雄2 ###########诗乃 (Shino)##########

属性:血量(blood),能量(energy)

- 血量默认为1000
- 能量默认为0(最大为一百)

行为:射击(fight)

- 射击(fight)

  调用一次血量减10,能量 +10
  ------------
  唤醒黑卡蒂(Hecate):攻击力+5 血量恢复50 能量清零 需要100能量

"""


class Tina(Hero):
    def __init__(self, name, high, width, speed=230, blood=1000):
        super().__init__(name, high, width, speed)
        self.blood = blood

    def fight(self):
        print("缇娜发动了技能射击,对敌方造成大量伤害,HP-10!\n")
        self.blood -= 10


class Shino(Tina):
    def __init__(self, name, high, width, speed=190, blood=1000, energy=0):
        super().__init__(name, high, width, speed, blood, )
        self.energy = energy

    def fight(self):
        print("诗乃发动了技能狙击,对敌方造成大量伤害,HP-10!MP+10!\n")
        self.blood -= 10
        self.energy += 10
        if self.energy > 100:
            self.energy = 100

    def Hecate(self):
        if self.energy == 100:
            print("诗乃消耗了全部魔力唤醒了黑卡蒂,能力大幅上升!HP+50,攻击力提升了!")
            self.blood += 50
            if self.blood > 1000:
                self.blood = 1000
            self.energy = 0
            self.high += 5
        else:
            print("诗乃能量值不足,无法发动技能:唤醒黑卡蒂!\n")


tina = Tina("缇娜", 27, 12)
shino = Shino("诗乃", 32, 10)

tina.fight()
print(dataOut(tina))
temp = input("前方高能,按回车键继续.....")
x = 0
while x < 10:
    shino.fight()
    x += 1
    print(dataOut(shino))
time.sleep(1)
shino.Hecate()
print(dataOut(shino))