单元三

第11课 函数——攻击与治疗

任务场景:攻击与治疗做成函数技能积木
任务场景:攻击与治疗做成函数技能积木
原理图:函数像技能积木——传入参数,返回结果
原理图:函数像技能积木——传入参数,返回结果

一、任务目标

理解函数把可复用动作命名,能定义 attack 与 heal 并调用;修改函数体后,所有调用处同步变化。

二、我们要学什么

  • 学习要点:函数|攻击与治疗
  • 本课过关:能完成:说出先定义后调用;载入体验程序,指出攻击减血、治疗加血;改函数内的数值后重新运行,效果跟着变。
  • 示例对齐:体验题对应本课「编程体验」;完整代码对应编程题1;补全与独立编写对应编程题2–3。均在 Mixly 图形化积木中完成。

三、本节要点

本课要认识函数封装。重难点是定义本身不执行,调用才执行。要点对齐「函数|攻击与治疗」。

1读场景明确真实任务
2对要点函数|攻击与治疗
3载入运行图形化积木

四、解题思路

任务:用函数封装攻击与治疗。请分清:定义写规则,调用产生效果。

本课主要用到:屏幕输出。

  1. 1明确任务「调用画技能」:攻击应减血,治疗应加血。
  2. 2用 def 分别定义两个函数,再在主程序中调用。
  3. 3改函数内的数值后重跑,观察生命值是否跟随。

流程示意(可对照左侧文字)

任务:调用画技能用 def 分别定义两个函数改函数内的数值后重跑

五、图形块讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
定义函数
函数封装一段可重复调用的积木。本课编程练习中首次使用,载入后可在工具箱对照。

六、知识点讲解

函数把一段可复用步骤命名:定义不执行,调用一次执行一次。本课把攻击、治疗写成函数——主程序更短,改一处即可处处生效。须先定义、再调用。

先弄清:先定义、再调用;再进编程练习对照生命值。

七、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。

先阅读并运行,感受游戏循环。

参考代码(对照抄写到下方 Mixly)
def attack(hp, power):
    hp = hp - power
    if hp < 0:
        hp = 0
    return hp

def heal(hp, amount):
    hp = hp + amount
    return hp

enemy = 40
print("敌人生命", enemy)
enemy = attack(enemy, 12)
print("攻击后", enemy)
hero = 30
hero = heal(hero, 8)
print("英雄生命", hero)

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:把攻击写成函数后,改一处伤害计算,所有调用处都会一起变。

  2. 判断:只要写出 def attack():,不等调用,怪物就会自动掉血。

  3. 「定义函数」积木用来?

  4. 「返回」的作用是?

  5. 把攻击写成函数,主要好处是?

九、本节小结

本课主题是函数:用 def 封装攻击与治疗。调用才执行,修改函数体则处处生效。