王剑编程网

分享专业编程知识与实战技巧

【跟娃学编程】scratch新手教程第23课:贪吃蛇游戏的制作

一、游戏介绍

贪吃蛇的游戏是一款非常经典的游戏,功能是舞台上有一只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新手教程就到这里啦!

别忘了“关注”我呀,我会持续更新哒!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言