card.py 文件源码

python
阅读 41 收藏 0 点赞 0 评论 0

项目:LLSIF-AutoTeamBuilder 作者: Joshua1989 项目源码 文件源码
def level_up(self, skill_level=None, slot_num=None, level=None, bond=None):
        is_valid = lambda x, min_val, max_val: x is None or (type(x) in [int, np.int64] and x <= max_val and x >= min_val)
        check = [is_valid(level, 1, self.max_level),
                 is_valid(bond, 0, self.max_bond),
                 is_valid(skill_level, 1, 8),
                 is_valid(slot_num, self.min_slot_num, self.max_slot_num)]
        is_none = [x is None for x in [level, bond, slot_num, skill_level]]
        if not all(check):
            attr_name = np.array(['Level', 'Bond', 'Skill Level', 'Slot Number'])
            print(self)
            print('{0} must be integer within valid range!'.format(', '.join(attr_name[[not x for x in check]])))
            raise
        not_none = [not x for x in is_none]
        new_attr = np.array([self.level, self.bond, self.slot_num, 0 if self.skill is None else self.skill.level], dtype=int)
        new_attr[not_none] = np.array([level, bond, slot_num, 0 if skill_level is None else skill_level])[not_none]
        self.level, self.bond, self.slot_num, skill_level = new_attr
        if self.skill is not None and skill_level in list(range(1,9)): 
            self.skill.set_level(skill_level)
        self.smile, self.pure, self.cool, self.hp = [self.stats_list[self.level-1][i] for i in [0,1,2,5]]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号