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

(20) 骆驼板消消乐

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

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

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

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

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

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

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

舞台背景

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

前半部分代码搭建

首先新建 2个变量 lastone、thisone

然后编辑碗的代码:

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

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

后半部分代码搭建

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

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

讲解

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

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

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

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

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

=========

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

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

(19)曹操走华容

曹操在赤壁被孙权和刘备的联军击败,带领残兵败将从华容道撤退。中途天降大雨,道路泥泞,只剩一条迷宫一样的小道可以通行。更糟的是,周瑜的僵尸兵(Gargantuar Zombie)神出鬼没,随时可能将他拍死。玩家要用鼠标引导曹操躲开可怕的僵尸兵,走到华容道迷宫的出口。在那里,关羽将把他拦住,一番对话后,如果僵尸兵还没有追来,曹操就能成功过关。

素材收集:僵尸兵 Gargantuar Zombie、法老面罩 Pharaoh’s Sarcophagus,从 

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

曹操:cao2.png 

第6集 一样

关羽:Guan.png(改编自 Outfielder)

对于法老面罩,在造型编辑器里做一个小改动:将图形整体移动到画面中心点上方,并将面罩方向调整成竖直。

舞台背景:huarong.jpg:

代码搭建

recording1:录制一段僵尸兵拍死曹操的音效。

碰到颜色(  )”中的颜色,要用取色器吸取迷宫分隔线的颜色。

recording2:录制一条关羽在迷宫出口对曹操讲的话,比如“曹操,我关羽最讲义气,过去你待我不薄,今天我放你过去!”

讲解

这集中,我们用到了侦测栏目里的“碰到颜色(  )”积木,来探测曹操是否碰到了迷宫的分隔线。这类“视觉探测”积木,在未来的机器人编程中会经常用到哦。

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

(16) 躲避投石机

这又是一个抛物线游戏,我们可以复习一下投篮机里的代码和思路。区别是,在投篮机游戏中,投掷力度是变化的;而在本集中,每次的投掷力度不变,但投掷点在移动。

在这集游戏中,铁桶僵尸在屏幕上随机游走,并每2秒抛出一个坚果。火炬树桩只有在僵尸投掷的一瞬间才可以移动,移到鼠标指针处。玩家要躲开僵尸投出的坚果,坚持10次通关。

素材收集:Buckethead_Zombie、Torchwood、Wallnut,从 

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

舞台背景:Scratch 内置的 Forest。

代码搭建

 

带孩子玩Scratch编程:学龄前趣味程序(17)

(17) 寒冰射手未来作战

又是一个 Ethan 设计的 PVZ 题材。。这回未来喷射器僵尸满天飞,寒冰射手吐冰蛋,打中僵尸 5次游戏结束。如果寒冰射手被僵尸碰到,次数减 1。够简单直白吧。。

素材收集:JetpackZombie、SnowPea,从 

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

冰蛋角色采用 Scratch 内置的 Crystal。

舞台背景:Scratch 内置的 Slopes。

代码搭建

运行

自己玩。

讲解

无(相对于以前的程序,并没有什么新的知识点)。。