成果示例
二、演练目标
- 魔法学院最近招录了一波新生
- 新生没有自己的武器
- 如果配备了武器,就可以施展技能
- 有蓝量限制
三、提示
- 这个示例很简单,就没有详细步骤了。但有几个提示的点:
- 类属性不知道取什么时,就可以定义为None,在主程序中用赋值语句或者其它方式传入
- 对象可以当传入的属性
- 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("灭却,豪火球之术!!!")