一、游戏介绍
贪吃蛇的游戏是一款非常经典的游戏,功能是舞台上有一只3节的小蛇,这条蛇会朝一个方向一直移动,我们可以通过方向键来控制蛇的移动方向。蛇在移动过程中会碰到苹果,蛇吃了一个苹果后,身体就会加长一节。随着游戏的进行,蛇的长度会越来越长,因为在控制蛇运动时要保证蛇不能碰到自己的身体和舞台边缘,所以游戏难度也就越来越大,碰到身体或舞台边缘就结束游戏。
游戏开始的界面是这样的:
二、游戏分析
根据功能描述,我们将游戏分为:蛇的移动,蛇的绘制,吃苹果和失败检测,界面美化。
三、游戏制作
添加两个角色,都是Button1。其中一个是蛇头,一个是蛇的身体。大小设置为25。蛇头的起始位置是(0,0)。添加苹果角色,大小为25,绘制一个Game Over的角色,调整位置。
1、绘制网格
新建一个自定义积木,起个名字叫“绘制网格”
代码如下:
2、蛇的绘制
1.1蛇头的绘制
我们选Button1作为蛇头、蛇身的角色,由于蛇头和蛇身都用同一个角色,不太好区分,现在给蛇头改一下造型。加个嘴巴和眼睛以区分蛇的身体。
1.2 蛇身的绘制
这里涉及到两组坐标,蛇头的X、Y坐标和蛇身体的X、Y坐标。新建两个变量snakeHeadX,snakeHeadY,表示蛇头的坐标,由于蛇的身体是一节一节的,所以建两个列表来存蛇身体的X、Y坐标。列表snakeX,snakeY来存蛇身体的坐标。每当吃一颗苹果的时候,列表中增加一个蛇身体的xy坐标,由于初始化蛇的身体是2节,所以在初始化列表时,要先加入前两节的坐标。
我们将初始化单独做一个自定义积木,代码如下:
我们根据列表中的坐标绘制蛇的身体,蛇身和蛇头是有区分的,因此,这里我们克隆button2。新建index变量,用来存遍历列表时的索引。
具体代码如下:
在button2角色中,列表中的第一项就是蛇身的第一节,应移到蛇头后的一个格子中,格子宽为20,其它的依次类推,具体代码如下:
蛇绘制好以后,该开始移动了。
3、蛇的移动
在移动前,需要将蛇头的坐标加入到蛇身体的列表中。也就是(0,0)放入蛇身体列表的最前面。
通过键盘的上、下、左、右键来控制蛇移动的方向。
新建direction变量来存储代表方向的数值。蛇的移动用自定义积木,具体代码如下:
在移动的过程中,会碰到苹果,如果碰到了,得分变量加100,并给苹果发一个广播。否则删掉蛇身的最后一节,因为蛇在向前走,所以删除最后一节即可。
苹果的代码如下:接收到被吃的广播后随机移动到任意格子里。
4、游戏失败检测
如果游戏失败了,给角色1发广播,角色1是绘制的Game Over字。
如下图:
具体代码如下:
效果如下:
5、游戏开始代码
到这里贪吃蛇的游戏就做好啦,你学会了吗?快来动手做一做吧。
今天的scratch新手教程就到这里啦!
别忘了“关注”我呀,我会持续更新哒!