今天我们要做一款贪吃蛇游戏,一款经典的游戏。 很多80后的父母都玩过。 来看看我们的小游戏运行效果:(公众号爱扣丁后台回复19获取本项目源码和资料)
这个游戏的玩法我们已经详细解释过了,但是这里有一个特别的地方需要大家注意制作游戏素材下载,那就是我们的小蛇有穿墙的效果。 如何做到这一点? 接下来,我们详细看一下实现步骤。
逻辑实现
蛇字逻辑
材质:蛇头,这个是自己画的,仔细看会发现是个圆球,两只眼睛都戳着(人物长相不重要); 蛇的身体,这是通过克隆来实现的,所以这个项目中只有一个蛇头就足够了。
代码逻辑:
1、使用上下左右键改变蛇的方向,代码如下:
在初始化阶段,设置了一个score变量,主要用于后面克隆蛇的身体(总不能游戏一开始就在舞台上晃着一个蛇头吧,看起来很吓人),以及下一个循环让蛇继续移动,然后通过4个if语句判断按钮来改变蛇的方向。
2、蛇体代码逻辑(克隆方案)代码如下:
当程序开始运行时,它会不断地克隆自己。 当它作为克隆启动时,它会每隔一段时间删除次要克隆。 等待时间是一个表达式,使用score * 0.05,也就是说,score越高,等待时间越长。 更长,这样表现出来的舞台效果就是贪吃蛇的身体更长了。 这里又用到了克隆的三件套(克隆自己,以克隆人开始游戏素材下载 免费UI界面,删除这个克隆人)。
3.蛇穿墙技术,代码如下:
实现穿墙的逻辑不是很复杂。 主要涉及舞台坐标的知识。 我们知道Scratch的舞台坐标范围在x轴方向的[-240,240]和y轴方向的[-180,180]之间。 那么穿墙的逻辑就很清楚了。 当蛇到达舞台顶部且其y坐标大于179时制作游戏素材下载,将其在舞台底部的y坐标设置为-179。 同样,当它处于舞台底部时,设置正好相反; 左右两端的设置如上面的代码所示。
食物角色逻辑分析
贪吃的蛇只有吃到食物才能长大。 我们这里只设置了一个苹果角色作为食物。
材质:Scratch 材质库自带。
代码逻辑:
事务代码逻辑比较简单。 程序开始运行时,会移动到一个随机的位置,然后反复执行,检测是否遇到了蛇。 如果遇到+1的分数,就把它藏起来,就是被吃掉了。 等待一段时间再移动到另一个位置显示。
这是今天的项目。 逻辑清晰,涉及的知识点主要有:克隆三件套、循环、检测、绘制人物、变量的应用等,大家可以想想还有哪些地方可以改进,欢迎大家交流。 公众号爱扣丁回复19获取本项目源码素材。