少儿编程Scratch第15讲:贪吃蛇

目的:完成一个贪吃蛇的小游戏,了解角色图片制作、克隆、运动方向、碰到障碍物的处理。

 

游戏说明:游戏开始时,蛇不停的往前移动,身体逐渐变长。玩家可以通过上下左右四个按键改变蛇运动方向(向上、向下、向左和向右)。蝙蝠是蛇要吃掉的小动物,可能随机出现在屏幕任何一个地方,挥动翅膀,但保持位置不动(当然也可以让蝙蝠飞起来)。当蛇碰到蝙蝠时,蝙蝠消失,即蛇将蝙蝠吃掉,获取得分;蛇吃掉蝙蝠以后,其中的一节身体变成蝙蝠的颜色。经过几秒后,(另外一只)蝙蝠重新出现在另外一个位置。游戏继续。

 

这个游戏属于“炒冷饭”的范畴,因为很多小游戏的基本实现指令和方法都是类似的。

 

适合人群:一二年级学生。在家长或老师指导下完成。

用时:2-3小时。

 

一、角色设置

设置两个角色。一个是蛇,分成蛇头和蛇身。蛇的身体由一块一块组成。

蝙蝠:蛇的食物,可以挥动翅膀(,也可以飞翔移动)。

 

微信订阅号:ABO_CRM
 

二、蛇头的制作

 

少儿编程Scratch第15讲:贪吃蛇

这是Scratch标准角色库中提供的球,有不同颜色的球。我们以这个球为基础,制作蛇头。

 

蛇头造型1:在角色中,使用“变形”,出现出现几个可以拉动的小点点。拉动圆形右边的点,最后形成尖尖的蛇头形状。

 

少儿编程Scratch第15讲:贪吃蛇

蛇总要有眼睛,因此使用用粗线点两下,或者用画圆的功能,画两个圆,填充红色。这是蛇的造型1.

 

 

少儿编程Scratch第15讲:贪吃蛇

蛇头造型2:因为蛇在上下左右移动时,要保持头的方向一致,因此复制一个图,然后上下翻转,形成另外一个蛇头,造型2.

 

 

三、让蛇头运动起来

 

因为一个多月没有做运动类的程序了,今天已经比较生疏。为了让蛇头前后左右移动,显示使用了右边的X或Y坐标增加一定位置的循环指令。

 

后来改成左边的运动和方向。

少儿编程Scratch第15讲:贪吃蛇

重复循环,每次都移动1步。默认的时候,蛇头是往右边移动的。如果按了上箭头,面向0度,即往上走。如果按下箭头,面向180度方向,即往下走。

 

测试。

 

但这时候我们会发现,蛇头的方向是不对的,因此,下移的时候,需要将蛇头的造型切换为2. 除非蛇头上下对称,否则就有这个问题。

 

用类似的方法,处理左右移动。

 

 

少儿编程Scratch第15讲:贪吃蛇

现在,这个蛇头可以顺畅的动起来了。

 

 

四、蛇身体的制作-让蛇长出身体

 

也不能只有这一个蛇头啊。怎么做出蛇的身体呢?那就一节一节克隆吧,没格一段时间,克隆出一节“蛇身体”来,然后间隙小一些,看上去,就成一条连续的蛇了。

 

少儿编程Scratch第15讲:贪吃蛇

这里再次使用一遍“开始”指令,蛇头每隔一秒,就克隆一个自己。注意克隆等待时间和运动步数,蛇的身体要保持连续。

 

试玩一下。

 

少儿编程Scratch第15讲:贪吃蛇

随着蛇的移动,蛇真的变长了, 长出来了。但是有个问题,有很多蛇头,因为我们是克隆了蛇头。Scratch允许我们克隆300份,因此可以一直玩,到了300份蛇头,就不会继续克隆了。

 

到这一步,小孩的兴致已经上来了,一定要把满屏都擦成蛇头为止。小妹妹也上来玩了。

 

 

五、蛇身体的制作-一节一节的蛇身

 

为了解决复制出来的都是蛇头的问题,我们需要一节蛇的身体,就是没有眼睛的头。

少儿编程Scratch第15讲:贪吃蛇

这个很简单,只需要复制出另外一个造型,把蛇的眼睛去掉即可。造型3:一节蛇的身体。

 

六、蛇头变成蛇身

 

少儿编程Scratch第15讲:贪吃蛇

蛇头复制出来以后,克隆体启动时,需要将造型切换成3,即将蛇头变成蛇的身体。如果不变换,那就会出来很多蛇头。

再玩一下。

少儿编程Scratch第15讲:贪吃蛇

这时候就只有一个蛇头了。还是可以克隆300份。KK想把整屏都盖上蛇,到后来就不会继续克隆了。这也体会了只允许300份克隆体的限制。在实际应用中,要将不需要的克隆体删除,而不能仅做简单的隐藏操作。

克隆体启动后,等待8秒,就删除本克隆体。这样蛇的身体就不会“无限”长了。

 

七、蝙蝠角色-随机出现

本来贪吃蛇的游戏是让蛇吃掉球或豆子的,结果说要吃掉蝙蝠。就加了一个蝙蝠角色。

 

首先让蝙蝠挥动翅膀,这个只要不停更改造型就可以了。

 

然后,让蝙蝠出现在屏幕的随机位置上。 X和Y都使用一个随机数,当然不能太靠近边缘。

少儿编程Scratch第15讲:贪吃蛇

 

八、蛇吃蝙蝠:侦测碰到某种颜色

这是关键的一步。我们使用了碰到某种颜色,蝙蝠则隐藏。选择“碰到颜色”以后,可以在屏幕中点击蛇的眼睛, 这样能够获取的红色。

 

当碰到红色的时候,蝙蝠隐藏。蛇将蝙蝠吃掉了。

 

九、蛇吃蝙蝠:游戏得分

吃掉蝙蝠以后,分数增加。因此设置一个全局变量。开始时,将分数设置为零。蝙蝠被蛇吃掉后,分数增加。

 

 

十、蛇吃蝙蝠:蝙蝠在蛇的肚子里

吃掉蝙蝠以后,蛇的肚子有一节会变成黑色,甚至那一节还可以变大一点。这个实现稍微复杂一点。

 

首先制作一节黑色的蛇的身体,还是蛇的角色,造型2.

 

其次,设置一个黑色的全局变量。默认是0.如果被吃掉了,设置为1.

 

在克隆体启动时,读取合格黑色的全局变量标识,如果是0,则为普通蛇身,造型为2.如果是1,即刚吃掉一只蝙蝠,需要变成黑色,造型3。切换成造型3以后,需要将黑色的变量设置为0,否则后面就全是黑色的了。

少儿编程Scratch第15讲:贪吃蛇

总结测试:

最后效果图这个图。

少儿编程Scratch第15讲:贪吃蛇

 

还可以改进,例如多条蛇、多只蝙蝠,蝙蝠会飞翔,不能碰到边缘等。蛇的身体,在转弯的时候,覆盖的还不大好。

原文始发于微信公众号( 艾博特 ):少儿编程Scratch第15讲:贪吃蛇|

发表评论