单元三

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

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

一、任务目标

把攻击与治疗写成可反复调用的函数。

二、技能做成积木

函数把一段规则打包:

  • 「def attack(hp, power):」 定义
  • 参数把「当前血量、伤害」传进去
  • 「return」 把新血量传出来

战斗里多次攻击时,不用复制粘贴同一段加减法——改一处,所有调用一起变。

三、解题思路

任务:把攻击与治疗写成可反复调用的函数。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

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

  1. 1明确任务「把攻击与治疗写成可反复调用的函数。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4把可复用的一段动作做成函数,主程序里调用它。
  5. 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

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

任务:把攻击与治疗写…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…把可复用的一段动作做成函数…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

下面只列出本课首次出现的 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. 「返回」的作用是?

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

八、本节小结

函数封装技能。