魔法师学院 #python项目 #对象语法训练2

魔法师学院

  • 成果示例
  • 二、演练目标
  • 三、提示
  • 四、代码展示
    • main
    • tools

成果示例

魔法师学院 #python项目 #对象语法训练2_第1张图片

二、演练目标

  1. 魔法学院最近招录了一波新生
  2. 新生没有自己的武器
  3. 如果配备了武器,就可以施展技能
  4. 有蓝量限制

三、提示

  • 这个示例很简单,就没有详细步骤了。但有几个提示的点:
  1. 类属性不知道取什么时,就可以定义为None,在主程序中用赋值语句或者其它方式传入
  2. 对象可以当传入的属性
  3. is 可以判断是否引用了同一个数据

四、代码展示

main

import tools

harry = tools.Enchanter("哈利波特")

harry.weapon = tools.Wand("凤凰法杖")

harry.tonic_mp()

harry.conjure(3)

tools



class Enchanter:

    def __init__(self, name):
        """生成初始信息
        name: 魔法师名字
        """

        self.name = name
        self.weapon = None
        self.mp = 0
        
        print(("【%s】大魔法师上场 【武器:%s】【蓝:%s】" 
                % (self.name, self.weapon, self.mp)))

    def conjure(self, times):
        """判断蓝量,释放技能
        times: 施法次数
        """

        if self.weapon is None:
            return

        for t in range(times):
            print("【%s】大喊到:败者食尘!!!" % self.name)

            self.weapon.skill()
            self.mp -= 1

    def tonic_mp(self):
        "补充蓝"

        self.mp += 10
        print("【%s】补充了蓝 【武器:%s】【蓝:%s】" % (self.name, self.weapon.w_name, self.mp))

    def __del__(self):
        print("施法结束")


class Wand:

    def __init__(self, w_name):
        """传入技能名
        w_name: 武器名
        """

        self.w_name = w_name

    def skill(self):
        print("灭却,豪火球之术!!!")




你可能感兴趣的:(#,Python项目,python,对象语法,项目,实例,练习)