加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2018-09-16 21:34:49)
标签:

scratch

少儿编程

贪吃蛇

分类: 幼儿教育
原创: AlbertZ 艾博特 今天

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


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


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


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

用时:2-3小时。


一、角色设置

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


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


微信订阅号:ABO_CRM


二、蛇头的制作


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91J9YycSoqgyPhspCvgTyI1SqgOiboJ6mia3DibRyhADlNjnQUleAU8Jf4pA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


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


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JP3Oo1AJ9GMZoAiaqmFOUK19W6icdFibLKrTXyuFB6ErAbKdrxuNygxsVA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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



https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91J2GdOIgm5E0EiaBWeFNE1tO8DEnKdUOicmev1aqwItesQMR1w4Ztoh6mA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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



三、让蛇头运动起来


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


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

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91J7dh4hLALI7tNye96GDS3hbicXswfHdrDIz0tQdmhYt6wFVic1ic4Q6G5Q/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


测试。


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


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



https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JDXHhb9dKYdqh6qQaxSyUJQibO8j7m0CwEr3nNB3kOGmKjcQ7qZQuqMQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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



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


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


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91Je4lUm6p7hT095J2S0syQH64iaiao4Eic87zFjIvI5v5tnG16dR9LicdibZA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


试玩一下。


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JP4Kc2eQOsH0DJutqiard3wOUXW17TKNdHQMyODK4Om9FdNrDtlA1gNQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


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



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


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

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JHlPNVd20bblGjicEaQuKlvzic8YxNTrycQyxriahfYRYhhyeUGGQNUicQA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


六、蛇头变成蛇身


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JfqnpOucpWlJBKec0lc8ZkHNzqRNlPfQacSeuBzLnKRmQhODWeCFWTg/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


再玩一下。

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JPYibmXROGx69gJy5le6OuXzU6nJc9CicFeTYCqMInD4FdIesNvDpricHw/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


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


七、蝙蝠角色-随机出现

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


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


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

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JtGarYrejaGvA1fv7AGzhUpgOg423abQH5smjo3a75eNxUdkDibG3ZJw/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


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

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


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


九、蛇吃蝙蝠:游戏得分

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



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

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


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


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


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

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91J6uXcBayP15gbw3pa6mFvEqiblM3BIvOnTN1AERMD2Uib5D0rglgIf7oA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


总结测试:

最后效果图这个图。

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr76GytYsIzqepJspDZyO91JYAfQQ7YI23XicaF3cicTFXjEgLtcb0C5WLiae4cIRwz8pGXwwKFcj6uBg/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


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


《SAP CRM管理与实施指南》

2018.09.16



少儿编程-Scratch

·     少儿编程Scratch第14讲:链表和冒泡排序算法(2018/9)

·     少儿编程Scratch第13讲:九九乘法问答(2018/7)

·     少儿编程Scratch第12讲:制作时钟 (2018/6)

·     少儿编程Scratch第11讲:植物大战僵尸(1) (2018/5)

·     少儿编程Scratch书评:《轻松玩转Scratch编程》

·     少儿编程Scratch第十讲:钢琴演奏入门(2018/4)

·     少儿编程Scratch第九讲:小猫跳跳-较完整的跳跃运动(2018/4)

·     少儿编程Scratch第八讲:变量和太空大战(2018/4)

·     少儿编程Scratch第七讲:字母雨打字练习(2018/3)

·     少儿编程Scratch第六讲:抽奖游戏之造型、随机和广播(2018/2)

·     少儿编程Scratch第五讲:练习一坐标和移动(2018/1)

·     少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)

·     少儿编程Scratch第三讲:宇宙大战.枪战游戏(2018.01)

·       少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)

·       Scratch第一讲:Scratch完美的初体验(2018.01)



微信订阅号:ABO_CRM


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有