scratch编程之贪吃蛇

网友投稿 2019-11-20 14:38

导语:贪吃蛇是经典的游戏之一,从掌上游戏机到前段时间流行的贪吃蛇大战,这款游戏热度未减。在制作贪吃蛇游戏中,我们需要理解“克隆体”的特点,学会如何合理有效地使用“克隆体”。

贪吃蛇的游戏除去开始动画、结束动画、分数累计等环节,最重要的是利用方向键控制蛇的移动以及蛇身的变长的实现。分解一下任务,事情会变简单。

01控制移动

对于控制单个角色的的移动大家都不陌生,利用四个方向键作为触发事件。所不同的是,贪吃蛇是持续移动,移动的程序需要单独写出,方向键只负责控制角色运动的方向。这里,我们用角色库中“ball”作为角色。程序如下图:

https://cdn.china-scratch.com/timg/191122/143T2E16-0.jpg

02制作蛇身

如果运行程序,我们会看到角色“ball”会受方向键控制,但这绝对不像一条蛇,其实就是一个球。这个球,我们可以看做是蛇头。

蛇的身体哪里来,这就不得不谈到“克隆”了。

所谓“克隆”是指控制代码当中的一类积木。它的作用是复制角色本身或其他角色,被克隆的一般叫做“本体”,新角色被称为“克隆体”。同时,克隆体继承本体在克隆那一刻所有特性,包括角色颜色、大小、方向、画笔、特效等等。克隆体可以独立编程、运行。

执行如下程序:

https://cdn.china-scratch.com/timg/191122/143T24544-1.jpg

每秒复制一次克隆体,由于本体在不断前进,克隆体会留在原地(即克隆发生是本体所在位置)形成蛇身。克隆体启动后,让它切换造型,用来跟本体区分。

程序执行效果如图:

https://cdn.china-scratch.com/timg/191122/143T21S2-2.jpg

蛇的造型完成了,由于克隆体在不断复制,蛇身是无限延长的。蛇身如果是固定长度,它应该是有限的克隆体。如果要蛇身持续移动,我们应该删除掉“尾巴”,即最先生成的克隆体。

程序如下:

https://cdn.china-scratch.com/timg/191122/143T25S2-3.jpg

大家看到程序很简单,它巧妙地删除掉了最先生成的克隆体,并使蛇产生了移动的效果(注意克隆体是没有发生移动的)。请注意,删除克隆体的等待时间,决定了蛇身的长度。

到此,程序最困难的部分已经完成,大家一定要好好理解一下克隆体的特点。

03吃了苹果会变长

首先我们需要新角色,选取角色库中角色“apple”。苹果的角色的效果类似于扎气球游戏中的气球。当蛇碰到之后隐藏消失,并选择新的位置出现。

编程如下:

https://cdn.china-scratch.com/timg/191122/143T22I0-4.jpg

前文我们说到,删除克隆体的等待时间,决定了蛇身的长度。我们添加一个变量“长度”, 每吃到苹果变量数值增加1。

程序在上面程序基础上更改如下:

https://cdn.china-scratch.com/timg/191122/143T23Z9-5.jpg

角色“ball”程中序做如下修改:

https://cdn.china-scratch.com/timg/191122/143T33J0-6.jpg

想一想,为何变量“长度”初始数值为3,还可以用其它方式完成吗。

至此,贪吃蛇的程序就完成了。克隆效果可以有效重复单一动作,省去制作新角色时间,在很多编程游戏中都有运用。

当然,这个作品有很大的改进空间,对比自己之前接触到的游戏,有没有新的想法呢。欢迎大家沟通交流,一起成长。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com