作品简介
今天给大家分享的Scratch作品是《贪吃蛇》,这是一款经典小游戏。玩家使用键盘上的上下左右方向键来控制蛇的爬行方向,按下←方向键,贪吃蛇向左爬行,按下→方向键,贪吃蛇向右爬行,按下↑方向键,贪吃蛇向上爬行,按下↓方向键,贪吃蛇向下爬行。
游戏开始的时候,贪吃蛇很短,蛇身只有一节,每吃掉一颗食物,蛇身就增加一节,当蛇头撞到蛇身或地图边缘时游戏结束,同时会记录下你的分数、时间和吃掉的食物数,赶紧来体验一下吧。
核心代码解读
之前已经分享过一个贪吃蛇游戏-经典贪吃蛇,那本次的贪吃蛇有何不同呢?最大的不同就在于,这个版本的贪吃蛇是妙用Scratch画笔来实现的,创作难度相对要小不少呢。
本次贪吃蛇游戏一共有6个角色,如图所示:

各角色功能和效果简要说明如下:
- 贪吃蛇:本作品的核心角色,默认有一个蛇头,分别有上下左右4个造型,按下不同的方向键,会切换到对应的蛇头造型,而蛇身则是通过Scratch画笔指令绘制出来的;
- 橡皮擦:贪吃蛇在移动的过程中,蛇头位置绘制出新的蛇身,那么处在尾部的蛇身则需要删除掉,橡皮擦就是用来擦除尾部的蛇身的;
- 游戏结束:游戏结束提示信息,当游戏结束时,会不停的闪烁;
- 开始按钮:用于启动游戏的按钮,游戏结束时,会切换为再来一局,用于再次启动游戏;
- 倒计时:点击开始按钮后,会倒计时3秒,然后正式开启游戏;
- 食物块:贪吃蛇的食物,随机在地图上出现,吃掉一块之后,又重新随机生成一块。
在使用Scratch创作贪吃蛇作品中,最核心的是如何实现贪吃蛇蛇身的增长,并且是在蛇移动的过程中增长,这是本作品的重难点,也是难点,接下来就详细介绍其编程原理及实现方法。
第一步,判断按键并记录其方向
为记录贪吃蛇是否改变方向及其方向,建立了一个变量“改变方向”,然后检测按键按下情况,代码如下:

注意:在检测按键的时候,还需要检测是否改变方向及是否反向,如果没有改变方向,则不用处理;而反向爬行是不允许的。
第二步,判断是否转向并记录转向坐标信息
接下来,需要判断贪吃蛇是否改变方向了,如果改变,则需要记录改变的方向,以及贪吃蛇的坐标值,包括x和y,编写代码如下:

注意:由于贪吃蛇在行走的过程中,可以多次转向,因此这里使用了列表来保存这些信息。
第三步,贪吃蛇移动并通知橡皮擦角色
知道了贪吃蛇的方向,就可以让贪吃蛇沿着这个方向前进了,同时需要通知橡皮擦角色,你也该前进了,当然了,在移动的过程中还需要判断是否碰到蛇身和地图边缘了,其代码如下:

注意:为了保证橡皮擦不是立即擦除蛇尾,这里加了一个延时功能,通过“擦除延时”变量来实现的。
第四步,橡皮擦跟随贪吃蛇擦除蛇尾
最后,橡皮擦角色在接收到广播之后,就可以用黑色画笔沿着贪吃蛇的路径绘制,从而将贪吃蛇的蛇尾擦除掉,其代码如下:

同时,需要注意的是,一旦橡皮擦经过转弯处,就需要将转弯处的相关信息删除掉。
作品效果
Scratch贪吃蛇游戏的完整效果如视频所示:
另外,需要经典版Scratch贪吃蛇游戏的,可以移步到这里,经典贪吃蛇-Scratch经典游戏。
暂无评论内容