单元二

第6课 while循环——打怪到血量归零

任务场景:打怪循环——血量归零才结束
任务场景:打怪循环——血量归零才结束

一、任务目标

打怪——重复攻击直到生命 ≤ 0。

二、条件为真就继续

while hp > 0: 表示:只要怪物还有血,就继续让玩家输入伤害并更新 hp。当条件变为假,循环自然结束。

while True + break 相比,这种写法把「结束条件」写在开头,读起来更像规则说明书。

三、解题思路

任务:打怪——重复攻击直到生命 ≤ 0。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

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

  1. 1明确任务「打怪——重复攻击直到生命 ≤ 0。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3写出判断条件:什么情况下走 A,什么情况下走 B。
  4. 4用 while 保持程序持续运行或等待条件变化。
  5. 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

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

任务:打怪——重复攻…用「打印」积木把结果说出来,…写出判断条件:什么情况下走…用while保持程序持续运…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

五、知识点讲解

循环让某段步骤按次数或条件重复执行,避免手工复制很多遍。要想清两件事:重复什么?什么时候停?没有停止条件就会「转不停」。

先弄清本课输入与输出,再进编程练习对照现象。

六、编程练习

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

先阅读并运行 while 打怪循环。

参考代码(对照抄写到下方 Mixly)
hp = 30
print("打怪开始!生命", hp)
while hp > 0:
    dmg = 8
    hp = hp - dmg
    if hp < 0:
        hp = 0
    print("造成", dmg, "伤害,剩余", hp)
print("胜利!")

七、课堂练习

选出你认为正确的一项,再点「检查」。

  1. 「条件循环」(当 hp > 0)在何时停止?

  2. 打怪循环里,扣血属于?

  3. 若忘记在循环里改 hp,可能发生?

八、本节小结

while 按条件重复「输入→更新→输出」。