【Scratch工具介绍】控制积木(part 2)

网友投稿 2018-08-14 13:16

01 如果…否则…

https://cdn.china-scratch.com/timg/180816/131601D36-0.jpg

1. 积木功能解释

如果<  >那么   :如果“布尔积木”成立,那么就执行包裹的积木;否则,跳过包裹的积木。然后执行接下来的积木。

如果<  >那么   ,否则   :如果“布尔积木”成立,那么就执行第一块被包裹的积木;否则,执行第二块被包裹的积木。然后执行接下来的积木。

从功能描述可以看出,第二个积木是在第一个积木的基础上增加了一部分的功能,增加的这部分是用来处理条件不成立情况的。

2. 条件判断的逻辑含义

这两个积木的难点在于理解“如果…,否则…”的逻辑含义。

举一个现实中最常见的例子,“父母问小明的语文考试结果怎么样?”,我们知道“如果分数小于60分,就是不及格;否则,就是及格”。

流程图 描述这段逻辑:

https://cdn.china-scratch.com/timg/180816/131601D44-1.jpg

逻辑复杂时,流程图是很好的工具

流程图是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。这种表示方法便于说明解决已知问题的方法。流程图在分析、设计、记录及操控许多领域的流程或程序都有广泛应用。

-- 维基百科

在其他编程语言中,这个积木对应着著名“if…else…”语句。用Python编程语言描述这段逻辑,代码如下。

https://cdn.china-scratch.com/timg/180816/1316026093-2.jpg

3. 积木用法

讲解完“如果…,否则…”(“if…else…”),通过实例了解下这两个积木的用法。

如果<  >那么   :

https://cdn.china-scratch.com/timg/180816/13160211U-3.jpg

如果<  >那么   ,否则   :

https://cdn.china-scratch.com/timg/180816/1316022647-4.jpg

4. 更复杂的条件判断

上面的“if…else…”是只有一个条件的情况,如果条件不止一个,应该怎么办呢?

比如,把上面“判断成绩是否及格”的例子改一下:

当成绩60分以下时,表示不及格;

当成绩60到80之间时,表示及格;

当成绩80到90之间时,表示良好;

当成绩90分以上时,表示优秀。

用Scratch表述就会是这个样子,只要将 如果<  >那么   ,否则   积木多嵌套基层就能实现需求了:

https://cdn.china-scratch.com/timg/180816/1316022540-5.jpg

此例只是为了演示需要,涉及参数、运算等未讲解内容,可以暂不细究

02 条件等待

https://cdn.china-scratch.com/timg/180816/1316024T0-6.jpg

等待,直到“布尔积木”条件成立(为“真”),才继续执行接下来的积木。

举个例子:汽车开到路口正好遇到信号灯是红灯,汽车要在这里等待,直到“信号灯变成绿灯”,汽车才能通过路口继续行驶或转弯。

03 克隆

https://cdn.china-scratch.com/timg/180816/131602BU-7.jpg

创建某角色的克隆、作为克隆体启动、删除克隆体,是控制积木中较难理解和使用的积木。在某些场景下,克隆很有用,比如飞机大战中天上散落的障碍物,但暂时我们还用不到,所以按下不表,后续用到的时候再讲解。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com