上一期,我们学习了广播的概念和 Scratch 中广播发送和接收的基本用法。
今天,我们将学习各种运算表达式在 Scratch 中的基本使用,并结合昨天的广播做一个小故事。
运算(Operation)是一个数学上的基本概念,我们在这里把这个概念稍微展开一下。
运算是一种行为,通过已知量的可能的组合,获得新的量
娃爸:1 加 1 等于几?
Vicky:2
这就是最简单的运算啦,大家都会做。
具体来说,这是一个 加法 运算,除了加法之外,还有什么呢?我们做个列表:
算数运算:
以上这四个,是大家都熟悉的,最常见的运算,它们又归为一类,成为 算数运算。
我们再来看一类:
关系运算:
以上这三个,是关系运算,比如,羊和兔子比,谁更重?兔子跟乌龟比,谁跑的快?这些都可以用关系运算进行比较和计算。
当然,运算还有很多其他的种类,和更加复杂的运算,我们这次先学习这两类。
在 Scratch 中,运算是一组代码块:
运算代码块组
这里有很多常用的运算,我们来看几个例子:
算数运算
这是两个算数运算的例子。第二个表达式是一个算数混合运算,点击一下会显示运算的结果 1.5。
再来看一下比较运算的例子:
比较运算
表达式 1 与表达式 2 都是比较运算,点击表达式 2 会出现 1 + 1 > 1 的运算结果 true,这个 true 的含义为 真,就是说 1 + 1 > 1 这个比较的结果是正确的。
如果是第 1 个表达式 1 - 1 < 0 呢?显然这个比较的结果是错误的,点击一下会出现运算结果为 false,与 真 相对应,这个的含义就是 假。
知道了基本的运算之后,我们今天来做一个小故事,情节是这样的:
午饭的时间到了,母鸡妈妈出来叫小鸡宝宝回家吃饭,小鸡宝宝玩的正开心,不想回家吃饭。
每次母鸡妈妈说 “宝宝,回家吃饭啦~”,小鸡宝宝都回答说 “再过 11 分钟吧!”,并且往前走了 5 步,然后母鸡妈妈也往前走,但是走了 50 步。
这样,母鸡妈妈离小鸡宝宝越来越近,最终追上了小鸡宝宝,把它给 “抓住” 了,小鸡宝宝没办法,只好乖乖的和妈妈回家吃饭了。
这就是故事的情节,我们开始吧~
首先,我们设置好舞台背景和角色,并放置好它们一开始的朝向和位置:
母鸡妈妈的初始状态
小鸡宝宝的初始状态
最终我们判断母鸡妈妈追上小鸡宝宝的标志是什么呢?
很简单,就是母鸡妈妈的 x 坐标值大于小鸡宝宝的 x 坐标值:
添加变量 mum_x 并设置初始值
添加变量 baby_x 并设置初始值
设置好这些之后,我们为母鸡妈妈开启了一个无限的循环,每次进入循环,就叫小鸡宝宝回家吃饭,同时发送一次广播。
小鸡宝宝听到妈妈的话,做了回答,然后往前走了 5 步,母鸡妈妈就跟着往前走了 50 步。同时我们重新设置了两个 x 变量的值:
母鸡妈妈不停的叫宝宝回家吃饭
小鸡宝宝听到后,回答并往前走 5 步
这样下去可不行,为什么呢,妈妈走的比宝宝快,甚至超过了小鸡宝宝还会继续向前...
所以我们需要一个条件判断来停止这个无限循环的执行,判断的依据我们前面说过了,就是 mum_x > baby_x,而这,正是一个简单的关系运算:
添加循环终止的条件
收到新广播后的处理
这样,妈妈追上宝宝时,宝宝没有再向前走,只好乖乖的说:“嗯......好吧...”。
妈妈追上了宝宝
注意,这时 mum_x 第一次超过了 baby_x,妈妈终于追上了宝宝~
后面的事情就好做了,妈妈和宝宝一起回家吃饭了。
最终两个角色的脚本是这样的:
母鸡妈妈的脚本
小鸡宝宝的脚本
其中紫色方框的部分就是最后母鸡妈妈和小鸡宝宝一起回家的脚本,妈妈带着宝宝调转方向,一起回到了家~
好啦,我们这个小故事讲完了。
是不是感觉有些复杂?
其实这个脚本里面的内容我们在之前都讲过了,感觉复杂是因为我们把基础的知识做了一次 综合运用,所以可能觉得比较难。
还记得我们在一开始说过的话吗 —— 万丈高楼平地起,基础是最为重要的,打好了基础才能建起高楼大厦。
所以,多做练习吧,后面的内容会越来越精彩,越来越好玩~
今天我们还知道了 3 个单词的含义: