最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

Scratch创意编程(七):贪吃蛇

Scratch 少儿编程 69546浏览 0评论
Scratch创意编程01

友情提示:380元/半年,儿童学编程,就上码丁实验室

爱吃蘑菇的水管工、以1敌20的方形坦克、只长了一张嘴只知道吃吃吃的圆形怪物…这些经典的游戏形象都深刻的烙印在了我们童年的美好回忆中,(又暴露了年龄~)

Scratch创意编程(七):贪吃蛇

今天我们要再现一个只知道吃吃吃,且有着严重强迫症的经典游戏形象——贪吃蛇

 

贪吃蛇这个游戏不需要我多做介绍,几乎没有人没有玩过,从最早的文曲星(又暴露年龄,汗~),到只要带个屏幕的功能手机,再到现在的智能手机,可以说是只要带个屏幕的电子设备上都能找到贪吃蛇这类游戏。

 

游戏方式非常简单(最基本的贪吃蛇):

玩家控制一条贪吃蛇,不断的在屏幕中运动,蛇身的运动完全跟随蛇头;屏幕中不断出现食物,玩家控制贪吃蛇吃掉食物,得分加一,贪吃蛇本身长度加一,吃得越多,蛇身越长,游戏难度越高,当蛇头撞到边缘或吃到自己则游戏结束。

这次我们用Scratch实现这样一个经典的游戏。

点击链接试玩:好好搭搭版贪吃蛇

(需PC端打开)

Scratch创意编程(七):贪吃蛇

游戏制作步骤:

1.登入好好搭搭网站,打开“创作模板——Scratch

 

2. 删除小猫角色。可怜的小猫又被删除了

3. 新建角色——贪吃蛇头部

这里我们用小球组成贪吃蛇头部,下文中简称“头部”。

Scratch创意编程(七):贪吃蛇

4. 编写头部脚本1——改变头部的造型和大小

贪吃蛇的头部和身体将使用不同的角色,为了区分,将头部改成绿色小球,身体用黄色小球。

 

Scratch创意编程(七):贪吃蛇

将头部大小设定为略小于20×20。

Scratch创意编程(七):贪吃蛇

所以头部的脚本为:

Scratch创意编程(七):贪吃蛇

5. 编写头部脚本2——初始位置

 

玩过贪吃蛇游戏的人都知道,基本的贪吃蛇游戏,每次运动都是向一个方向移动固定的距离,这里每次移动距离为20步。

将整个舞台完整的拆分为20×20的格子,头部应该完整的位于其中一个格子之内。

Scratch创意编程(七):贪吃蛇

又因为头部的造型中心在小球中心:

Scratch创意编程(七):贪吃蛇

所以,上图中小球的坐标为(10,10),小球脚本变为:

Scratch创意编程(七):贪吃蛇

6. 编写头部脚本3——头部的运动

 

当游戏开始时,可以默认一个运动方向——右,即面向90°方向。

每次移动步数为20步。此时脚本为:

Scratch创意编程(七):贪吃蛇

Scratch创意编程(七):贪吃蛇

加入方向键控制运动方向的脚本

Scratch创意编程(七):贪吃蛇

Scratch创意编程(七):贪吃蛇

头部的脚本告一段落。

7. 新建角色——食物“apple”

Scratch创意编程(七):贪吃蛇

8. 编写食物脚本1——改变大小

 

食物的大小应与头部的大小一样,略小于20×20

Scratch创意编程(七):贪吃蛇

9. 编写食物脚本2——初始位置

食物出现的位置为随机,同时又应处于舞台拆分出的任意一个20×20的方格内,所以食物的初始位置脚本为:

Scratch创意编程(七):贪吃蛇

10. 编写食物脚本3——再次出现位置

食物被贪吃蛇吃掉之后,得分加一,之后会再次出现在另一个随机位置。所以食物脚本变为:

Scratch创意编程(七):贪吃蛇
Scratch创意编程(七):贪吃蛇

11. 新建角色——贪吃蛇身体

 

因为贪吃蛇头部撞到自己的身体,游戏结束。但是Scratch中无法实现角色是否碰到自己克隆体的判断,所以用另外一个角色作为贪吃蛇身体,这样便可以用头部角色是否碰到蛇身角色来判断游戏是否应该结束。

下文中简称“贪吃蛇身体”为“身体”

Scratch创意编程(七):贪吃蛇

身体的大小应与头部一样,所以身体的初始脚本为:

Scratch创意编程(七):贪吃蛇

12. 编写头部脚本4——头部坐标变量

 

身体要跟随头部运动,则头部的坐标信息需要传递给身体。所以需要新建两个变量:“头部的X坐标”和“头部的Y坐标”。

Scratch创意编程(七):贪吃蛇

13. 编写身体脚本1——跟随头部

身体的坐标设为与头部一致。

Scratch创意编程(七):贪吃蛇

Scratch创意编程(七):贪吃蛇

到这里,大家可能会有一个疑问,从程序上看,身体应该和头部重叠才对,为什么会跟在头部后面呢?

我们再看下头部的脚本:

Scratch创意编程(七):贪吃蛇

保存头部坐标值在前,移动20步在后,所以身体得到的坐标值为头部移动20步之前的。

14. 编写身体脚本2——得分后变长

身体的变长可以用克隆体实现:

Scratch创意编程(七):贪吃蛇

身体的脚本为:

Scratch创意编程(七):贪吃蛇

Scratch创意编程(七):贪吃蛇

以上脚本实现得分后变长的原理为:

Scratch创意编程(七):贪吃蛇

以此类推,克隆体被删除的时间间隔越长,则身体的长度越长。将这个时间间隔与得分相关,即可实现得分越高,身体越长。

15. 编写头部脚本5——碰到身体和边缘,游戏结束

 

这是贪吃蛇游戏的一个基本设定。脚本很简单,增加“碰到…”判断。

Scratch创意编程(七):贪吃蛇

16. 编写头部脚本6——反向运动禁止

 

玩过贪吃蛇游戏的玩家都知道,头部的运动方向是不能直接反向的,即当头部运动方向右时,不能直接改为向左运动,只能向上或向下运动。

大家没见过这样的贪吃蛇游戏吧

Scratch创意编程(七):贪吃蛇

需实现:

Scratch创意编程(七):贪吃蛇

所以需要判断此时身体角色在头部角色的哪个方向上,即头部不能向身体所在方向运动。

为了要知道身体角色相对于头部角色所在方位,需要新建两个变量:“身体的X坐标”和“身体的Y坐标”

先修改“身体角色”的脚本:

Scratch创意编程(七):贪吃蛇

再修改“头部角色”的脚本:

Scratch创意编程(七):贪吃蛇

即可实现反向运动禁止的功能,至此,贪吃蛇游戏的基本框架和脚本编写完毕。

 

贪吃蛇游戏,如今已经发展出了更多的玩法,大家可以进行各种尝试,如一次出现多个食物、不同事物得分不同、加入障碍物、剪断自己的身体等等,这些有意思的扩展会在后续的文章中推出。如果大家能想到更多更有趣的玩法,欢迎留言!也欢迎游戏同好投稿!

您必须 登录 才能发表评论!