最新消息:

Scratch(二)来不及解释了,马上开始编程游戏

Scratch 少儿编程 20716浏览 6评论
Scratch零基础魔法编程

友情提示:视频教程观看时请手动设置清晰度。

来来来,上一期你们都经过了”HelloWorld”神咒的加持,已入编程大门,我们今天就开始一边做游戏,一边熟悉Scratch

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

“我只是切出去抢了个红包,一回来就到了编程游戏的环节了?”

 

对,你没跑错片场,坐好要发车了。


这个游戏是一个猜数字的游戏,舞台上的那只小猫会自己心里想一个数字,然后你来猜,猜错了小猫会给你提示,看看你运气怎么样?

 

第一步,我们要先给这个小猫想个数字,那就6吧,这是个受人喜欢的数字。

 

第二步,我们要输入一个数字,然后才好和小猫的数字比较,那么怎么输入呢?看这里:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

看到蓝色功能积木中的“询问_____并等待”了吗?直接拖到右边代码区,然后点击What’s your name 删除,输入“请问你猜我想的是哪个数?”

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

点击一下这个积木的蓝色框,哎~小猫说话了:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

下面还多了一个闪烁光标的输入框,这里就是玩家输入数字的地方。

你现在就可以输入,但是没什么用,因为还缺一个你输入的数字和小猫想的数字的比较动作以及比较结果的现实,那我们继续。

 

第三步,将你输入的数字和小猫的数字做比较,于是我们就要使用到编程里面非常常用的一个比较功能,其实很简单,就是我们小学学习的比大小:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

在绿色的功能模块中,找到这三个菱形积木,因为我们就要用这三个情况来比较一下两个数字。第一个空我们可以填写开始给小猫设置的数字“6”,第二个空就是我们输入的数字,在输入的数字的时候,这个数字被放入一个叫“变量”的容器里了,这个变量就是你输入的数字,那么这个变量在哪里呢?

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

在刚刚的输入功能模块下面有一个椭圆小积木叫“答案”,这个就是你输入的数字的变量,现在这个“回答”积木就表示了你的数字,于是我们可以把它放入到上面三个比较积木中去,看好:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

这个积木是可以放到另一个积木的输入框中的。

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

 

第三步:进行条件判断比较,这是编程中几乎最重要的功能,我们来看看:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

在黄色功能积木块中找到“如果___那么”这个夹子积木,拖到代码区,看到中间那个菱形空缺了吗?对,就是放之前的绿色比较积木的地方,那么我们来解释一下:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

1、先输入“回答”;2,如果“回答”比“6”大,那么……

那么干嘛呢?那么小猫就说一句“太大了。”

根据我们第一章的知识,我们可以很快找到小猫说话的积木:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

注意,黄色的“如果…那么”积木中,只有菱形判断是成立的,才会执行夹子里面的积木;如果积木中的判断不成立,则会绕过夹子中的功能积木块,将流程往下走。

比如现在这个代码如果运行,你输入的数字比6大,那么就会执行夹子里的代码,小猫就会说“太大了!”,如果输入的数比6小,那么就不会执行紫色积木。

 

好了,根据上面的这个方法,我们还要判断另外两个情况:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

如果第一个判断不成立,那么跳过第一个夹子进入第二个判断,如果第二个也不成立,就会进入第三个判断,我们先让程序跑起来看看——点击最上面的蓝色积木,并让其整体发光:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

看到没,代码发光了!说明正在执行,我们看舞台区,要输入数字了:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

我输入了一个5,回车或是点右边蓝色的勾:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

2秒之后,代码四周黄色光芒熄灭,代码跑完了。

但是我们不能每次玩都要点一次啊,于是,我们可以用到另一个最重要的循环功能:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

重复执行的功能模块也是夹子状,就是说要重复执行夹子里的代码块。第二个重复执行积木有一个输入次数,就是循环多少次,而下面的那个没有输入的就是永远不停循环。

注意观察:

有次数选择的夹子底部有一个突出块,就是说执行次数结束后还有代码要执行,而没有次数选择的夹子底部是光滑的,说明下面不再有代码。

我们先选无限循环的夹子,然后将左边的代码块全部放夹子里:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

顶部还有一个缺口,那就加上第一章我们学习的开始模块:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

好了,去舞台区点击绿旗帜开始玩游戏了,是不是一直循环了啊?

但是你一定会说,这有什么好玩的啊,这个小猫想的数字是我设定的啊,这还玩什么?

 

好了,一个游戏的最精华的部分来了——让小猫来想一个数字,这次我也不知道是什么,只能根据小猫给的提示来猜,这样就灰常好玩了。

 

那么小猫怎么自己想数字呢?

 

这里我们就要用到随机模块:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

看到上图下面的那个椭圆积木没?

这就是说,让这个椭圆积木从1到10里面自己选一个数,是哪个我也不知道。

有了这个神奇的功能积木,我们就可以改造刚刚写的代码了:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

在橙色功能块中点击“新建变量”,弹出一个框,我们要给变量命名,这个是小猫想的数字,我们就起名叫“小猫想的数字”,然后点确定。

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

确定后就会发现橙色积木出现了,并且舞台区也多了一个框:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

因为这个数字是不能让我们一开始就知道的,所以我们把这个变量前面的勾取消掉,这样舞台去区的框也会消失:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

然后我们看第二个橙色的功能模块:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

哎,我们可以在这里给“小猫想的数字”这个变量设定为一个数,但是我们这次要让小猫自己选一个数,怎么办?对,就是用刚刚上面说到的随机积木。

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

还是用这种方式,把绿色的随机积木拖到橙色变量积木块中,这句代码的意思是:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

将“小猫想的数字”设定为1到10里面的任何一个数字。

好,然后代码跑起来看看:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

玩了几次下来,哎,发现怎么还是6呢?

自己看代码,是不是我们还有什么地方没改动?

原来,我们的比较模块里面,还是和6在比较,那么应该是和什么比较呢?对,要和变量“小猫想的数字”,于是我们修改这个代码:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

从数据功能区,将变量“小猫想的数字”拖到判断模块中去:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

一个好的游戏,有开始,也要有结束,当我们猜对了之后,就要用一个功能积木来停止代码,这个积木在:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

上图下面有一个“停止全部”,将这个积木拖入到答对了的判断里:

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

这样,如果你猜对了后代码就全部停止,游戏结束,等待重新开始。

 

一个完整的游戏就成功了,简不简单?好不好玩?开不开心?惊不惊喜?

 

Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏

恭喜入坑,我们好戏在后头!

 

 

附加题:

如果游戏要求3次选出数字,3次没选出就输了,怎么调整代码?

 

 


Scratch零基础魔法编程(一)为什么你要学Scratch儿童编程
Scratch零基础魔法编程(二)来不及解释了,马上开始编程游戏
Scratch零基础魔法编程(三)剪刀石头布
Scratch零基础魔法编程(四)舞台区详解
Scratch零基础魔法编程(五)角色详解
Scratch零基础魔法编程(六)用“角色”与“舞台”的组合做个小动画
Scratch零基础魔法编程(七)“触碰”基础
Scratch零基础魔法编程(七)篇外.用小动画和触碰能做大型游戏?
Scratch零基础魔法编程(八)声音模块详解

转自知乎:
import 潘多拉

您必须 登录 才能发表评论!

网友最新评论 (6)

  1. 感谢楼主提供这么好的入门教程,膜拜 https://scratch.mit.edu/projects/257856929/
    傲世狂少6年前 (2018-10-30)
  2. 非常好的,讲解的很详细,感谢楼主
    糖嗯5年前 (2019-02-21)
  3. good
    ytyt3年前 (2020-12-09)
  4. 感谢楼主提供这么好的入门教程,膜拜
    xiaoyi77552年前 (2021-12-12)
  5. 感谢楼主分享,这么好的资源
    yukiu2年前 (2022-07-23)