带孩子玩SCRATCH编程:学龄前趣味程序(20)

(20) 骆驼板消消乐

Scratch消消乐

本系列的最后一个程序,是一个消消乐游戏。游戏中会出现 8 只骆驼板僵尸,他们被点击后,会显示骆驼板背面的图案。玩家要连着点出 2 张一样的图案,才能消除一对僵尸。

由于是最后一个程序,代码量也是最长的,足足有 44 块积木。建议低龄的小朋友可以作为终极挑战,分 2 天编完。

素材收集:骆驼板僵尸 Egypt Camel Zombie 从 

https://plantsvszombies.fandom.com 下载 PNG 素材。

本集只用到1个角色,就是碗 Bowl,其他僵尸都是碗的克隆体。我们插入 Scratch 内置的 Bowl 角色之后,进入造型活页卡。

Scratch消消乐第1步

上传 Zombie_egypt_camel.png,作为碗的第 2 个造型。

然后,复制骆驼板僵尸的造型,复制出第 3、4、5、6 个造型。并用画笔修改出不同图案,如上图所示。

舞台背景

使用 Scratch 内置的 Farm 背景。把唯一的角色切换至碗的造型(造型1),并放到画面左下角狗窝门口。

前半部分代码搭建

首先新建 2个变量 lastone、thisone

然后编辑碗的代码:

Scratch消消乐第2步

其中,recording1 为自行录制的吃脑子(游戏失败)的声效。

单独运行上述程序,会在画面上出现 8 只骆驼板僵尸,组成最多3排,不断向右行进。只要有一只僵尸走到舞台边缘,就会播放吃脑子的声音,然后结束游戏。

后半部分代码搭建

休息一天(或一会儿)之后,我们继续编辑碗的代码,在前半部分的基础上,继续添加以下代码:

Scratch消消乐第3步

后半部分代码负责实现翻开骆驼板的图案,以及消除相同的图案。

讲解

Ethan 同学发现了,这是我们第一个用到“如果<  >那么…否则…”积木的程序。这类积木叫做条件分支语句,当条件成立时,运行“那么”里边的代码,条件不成立的话,运行“否则”里边的代码 。

要理解这个程序,对小朋友来说并不容易。由于本系列定位为动手练习,这里只提示一些关键思路,而不去掰开揉碎地讲每一句话的含义。

为了给每个克隆体赋予一种内藏图案,我们在生成克隆体时,让它们的大小有所差别。路障图案骆驼板的大小是 103,铁桶是 104,叉子是 105,禁止标是 106。由于大小差别很小,在显示为骆驼板造型时,人们看不出来它们的差异。当克隆体被鼠标点击后,根据克隆体大小的数值,切换对应的图案。

至于先后两次分别点的是哪种图案,我们用 lastone、thisone 这两个变量来保存造型名称。

程序的其他细节,涉及到等待连续两次点击、骆驼板翻回等的处理逻辑,低年级小朋友不太容易看明白,可以留在以后慢慢理解。

=========

相信动手编过这 20 个趣味小程序,小朋友应该对编程有了一些很具体的概念,对每一种积木有什么作用也能略知一二,甚至可以自己瞎编乱造几个 Scratch 程序了。你们肯定有很多更有意思的想法,那就试着去实现吧!

发表评论

邮箱地址不会被公开。