2021年04月28日 23:48 __ _ _ _ _

文章配图

时间宝贵,不要虚掷光阴过他人的生活,不要让周围的聒噪言论蒙蔽你内心的声音。

--乔布斯

文章配图

最后关于MOBA手游便是精准击杀,在MOBA手游中重要性其次于英雄的还有一个小兵,小兵在随着游戏的推进也是在逐渐变强。

玩过MOBA类型的小伙伴应该知道,击杀小兵可以获得经验和金币,是英雄提升的一个重要途径。

那么击杀小兵获得的经验和金币该如何计算呢?让我们来一起手撕代码吧!

1.经验与金币

源代码:


# Todo:补全Hero类class Hero:# Todo:初始化属性name, maxHP, maxMP, AD    def __init__(self, name, maxHP, maxMP, AD):        self.name=name        self.maxHP=maxHP        self.maxMP=maxMP        self.AD=AD
# Todo:补全getExp方法 传入参数为:被英雄攻击的【小兵】的生命值,返回值为:获得的经验值。    def getExp(self, HP):        return HP//10# Todo:补全getMoney方法 传入参数为:被英雄攻击的【小兵】的生命值,返回值为:获得的金币。    def getMoney(self, HP):        return HP//30'''    #Todo:  输入五行字符,按照顺序依次为Hero类对象的名称(name)、最大生命值(maxHP)、            最大魔法值(maxMP)、攻击力(AD)初始化,【小兵】最大生命值。            根据步骤描述,完成场景设定动作,打印输出结果。            建议最大生命值(maxHP)、最大魔法值(maxMP)、攻击力(AD)、【小兵】最大生命值为整数。'''name=input()maxHP=int(input())maxMP=int(input())AD=int(input())HP=int(input())# Todo:实例化Hero对象,打印输出结果hero=Hero(name,maxHP,maxMP,AD)
# Todo : 调用Hero类的getExp()方法,执行获取经验的动作
# Todo:打印输出获取的经验值。print(hero.getExp(HP))
# Todo :调用Hero类的getMoney()方法,执行获取金币的动作print(hero.getMoney(HP))
# Todo:打印输出获取的金币。

运行结果:

文章配图

2.步步高升

源代码:


# Todo:补全Hero类class Hero:# Todo:初始化属性name, maxHP, maxMP, AD    def __init__(self, name, maxHP, maxMP, AD):        self.name = name        self.maxHP = maxHP        self.maxMP = maxMP        self.AD = AD
# Todo:补全getExp方法 传入参数为:被英雄攻击的【小兵】的生命值,返回值为:获得的经验值。    def getExp(self, HP):        return HP//10# Todo:补全getMoney方法 传入参数为:被英雄攻击的【小兵】的生命值,返回值为:获得的金币。    def getMoney(self, HP):        return HP//30'''    #Todo:  输入五行字符,按照顺序依次为Hero类对象的名称(name)、最大生命值(maxHP)、            最大魔法值(maxMP)、攻击力(AD)初始化,【小兵】最大生命值。            根据步骤描述,完成场景设定动作,打印输出结果。            建议最大生命值(maxHP)、最大魔法值(maxMP)、攻击力(AD)、【小兵】最大生命值为整数。'''name=input()maxHP=int(input())maxMP=int(input())AD=int(input())HP=int(input())# Todo:实例化Hero对象,打印输出结果hero=Hero(name,maxHP,maxMP,AD)
# Todo : 调用Hero类的getExp()方法,执行获取经验的动作,最后一击额外获得20%经验print(int(hero.getExp(HP)*1.2))
# Todo:打印输出获取的经验值。

# Todo :调用Hero类的getMoney()方法,执行获取金币的动作,最后一击额外获得20%金币print(int(hero.getMoney(HP)*1.2))
# Todo:打印输出获取的金币。

运行结果:

文章配图

3.高级ATM

源代码:


# Todo:补全Hero类class Hero(object):    # Todo:初始化属性name, maxHP, maxMP, AD    def __init__(self, name, maxHP, maxMP, AD):        self.name = name        self.maxHP = int(maxHP)        self.maxMP = int(maxMP)        self.AD = int(AD)
    # Todo:补全getExp方法 传入参数为:被英雄攻击的目标的生命值,获取1经验值需要的生命值,返回值为:获得的经验值。    def getExp(self, HP, count):        result = 0        result = int(HP / count)        return result
    # Todo:补全getMoney方法 传入参数为:被英雄攻击的【小兵】的生命值,获取1金币需要的生命值,返回值为:获得的金币。    def getMoney(self, HP, count):        result = 0        result = int(HP / count)        return result'''    #Todo:  输入七行字符,            按照顺序依次为Hero类对象的名称(name)、最大生命值(maxHP)、最大魔法值(maxMP)、            攻击力(AD)初始化,两个【小兵】最大生命值,B英雄的生命值            建议最大生命值(maxHP)、最大魔法值(maxMP)、攻击力(AD)、【小兵】最大生命值、B英雄的生命值为整数。'''h_name = input()h_maxHP = input()h_maxMP = input()h_AD = input()m_maxHP01 = int(input())m_maxHP02 = int(input())h_maxHP02 = int(input())
# Todo:实例化Hero对象hero = Hero(h_name, h_maxHP, h_maxMP, h_AD)
# Todo : 调用Hero类的getExp()方法,执行获取经验的动作,击杀小兵及英雄,最后一击额外获得20%经验resultExp01 = hero.getExp(m_maxHP01 + m_maxHP02, 10)resultExp02 = hero.getExp(h_maxHP02, 20)resultExp = int(resultExp01 * 1.2) + int(resultExp02 * 1.2)
# Todo:打印输出获取的经验值。print(resultExp)
# Todo :调用Hero类的getMoney()方法,执行获取金币的动作,击杀小兵及英雄,最后一击额外获得20%金币resultMoney01 = hero.getMoney(m_maxHP01 + m_maxHP02, 30)resultMoney02 = hero.getMoney(h_maxHP02, 20)resultMoney = int(resultMoney01 * 1.2) + int(resultMoney02 * 1.2)
# Todo:打印输出获取的金币。print(resultMoney)

运行结果:

文章配图

已完结

文章配图

文章配图

为你,千千万万遍.

往期推荐:

C++系列:链接器是如何工作的 2021-04-07
文章配图

C++系列:编译器是如何工作的 2021-04-05
文章配图

C++系列:Visual Studio(VS)2019登录不上? 2021-03-26
文章配图

一键三连,就差你了
文章配图

预览时标签不可点

阅读




__