少儿编程

系列

和 Vicky 一起学习 Scratch 系列之九 | 运算

前言

上一期,我们学习了广播的概念和 Scratch 中广播发送和接收的基本用法。

今天,我们将学习各种运算表达式在 Scratch 中的基本使用,并结合昨天的广播做一个小故事。

什么是运算?

运算(Operation)是一个数学上的基本概念,我们在这里把这个概念稍微展开一下。

运算是一种行为,通过已知量的可能的组合,获得新的量

娃爸:1 加 1 等于几?

Vicky:2

这就是最简单的运算啦,大家都会做。

具体来说,这是一个 加法 运算,除了加法之外,还有什么呢?我们做个列表:

算数运算:

  1. 加法 +
  2. 减法 -
  3. 乘法 *
  4. 除法 /

以上这四个,是大家都熟悉的,最常见的运算,它们又归为一类,成为 算数运算。

我们再来看一类:

关系运算:

  • 大于 >
  • 小于 <
  • 等于 ==

以上这三个,是关系运算,比如,羊和兔子比,谁更重?兔子跟乌龟比,谁跑的快?这些都可以用关系运算进行比较和计算。

当然,运算还有很多其他的种类,和更加复杂的运算,我们这次先学习这两类。

Scratch 中的运算

在 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 个单词的含义:

  • operation 运算
  • true 真
  • false 假