scratch编程之贪吃蛇
贪吃蛇的游戏除去开始动画、结束动画、分数累计等环节,最重要的是利用方向键控制蛇的移动以及蛇身的变长的实现。分解一下任务,事情会变简单。
01控制移动对于控制单个角色的的移动大家都不陌生,利用四个方向键作为触发事件。所不同的是,贪吃蛇是持续移动,移动的程序需要单独写出,方向键只负责控制角色运动的方向。这里,我们用角色库中“ball”作为角色。程序如下图:
02制作蛇身
如果运行程序,我们会看到角色“ball”会受方向键控制,但这绝对不像一条蛇,其实就是一个球。这个球,我们可以看做是蛇头。
蛇的身体哪里来,这就不得不谈到“克隆”了。
所谓“克隆”是指控制代码当中的一类积木。它的作用是复制角色本身或其他角色,被克隆的一般叫做“本体”,新角色被称为“克隆体”。同时,克隆体继承本体在克隆那一刻所有特性,包括角色颜色、大小、方向、画笔、特效等等。克隆体可以独立编程、运行。
执行如下程序:
每秒复制一次克隆体,由于本体在不断前进,克隆体会留在原地(即克隆发生是本体所在位置)形成蛇身。克隆体启动后,让它切换造型,用来跟本体区分。
程序执行效果如图:
蛇的造型完成了,由于克隆体在不断复制,蛇身是无限延长的。蛇身如果是固定长度,它应该是有限的克隆体。如果要蛇身持续移动,我们应该删除掉“尾巴”,即最先生成的克隆体。
程序如下:
大家看到程序很简单,它巧妙地删除掉了最先生成的克隆体,并使蛇产生了移动的效果(注意克隆体是没有发生移动的)。请注意,删除克隆体的等待时间,决定了蛇身的长度。
到此,程序最困难的部分已经完成,大家一定要好好理解一下克隆体的特点。
03吃了苹果会变长首先我们需要新角色,选取角色库中角色“apple”。苹果的角色的效果类似于扎气球游戏中的气球。当蛇碰到之后隐藏消失,并选择新的位置出现。
编程如下:
前文我们说到,删除克隆体的等待时间,决定了蛇身的长度。我们添加一个变量“长度”, 每吃到苹果变量数值增加1。
程序在上面程序基础上更改如下:
角色“ball”程中序做如下修改:
想一想,为何变量“长度”初始数值为3,还可以用其它方式完成吗。
至此,贪吃蛇的程序就完成了。克隆效果可以有效重复单一动作,省去制作新角色时间,在很多编程游戏中都有运用。
当然,这个作品有很大的改进空间,对比自己之前接触到的游戏,有没有新的想法呢。欢迎大家沟通交流,一起成长。
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com