哈喽,各位热爱编程的小伙伴们~ 今天我们用 uCode 3.0 复刻一款超经典的小游戏——贪食蛇!
作为 1976 年就诞生的“元老级”游戏,贪食蛇曾承包了无数人的童年:诺基亚手机里都能看到它的身影。有意思的是,它还是一款“悲剧性”游戏——不同于多数游戏以通关胜利告终,贪食蛇的结局永远是因身体过长碰撞边缘或自身而死亡,藏着“及时收手”的深刻寓意。
今天我们制作的是最基础的版本,包含核心玩法:小蛇自动前进、方向控制、吃苹果变长、“Yummy”视觉特效+音效,新手也能轻松跟上!话不多说,跟着步骤动手做起来~
一、前期准备:清理舞台+创建核心角色
打开 uCode 3.0 新建作品,默认会有一只小狮子,贪食蛇游戏用不到它,直接点击角色区的“删除”按钮删掉即可。
接下来我们需要创建 3 个核心角色:小蛇(含头部+身体)、苹果(食物)、Yummy 文字特效,逐个来实现~
1. 制作“小蛇”角色(含头部+身体造型)
小蛇是核心角色,需要区分头部和身体,我们通过“绘制造型”来制作:
点击角色区右下角“绘制”按钮,新建角色,命名为“小蛇”;
绘制蛇头:选择“矩形工具”,选深绿色,在画布中心画一个小方框(注意贴合舞台大小调整),去掉描边;转成位图,用黑色画两个圆形眼睛(复制粘贴保证大小一致),再用黑色描边优化边缘,最后转成矢量图,用红色画一个小舌头,调整位置确保蛇头中心与画布中心对齐(避免控制时错位);
绘制蛇身:右键蛇头造型复制一个新造型,转成位图,用橡皮擦擦掉眼睛、舌头等细节,保留深绿色方框并填充完整,确保大小与蛇头一致(保证后续连接无缝)。
2. 添加“苹果”角色
直接使用 uCode 自带角色:点击角色区“选择角色”,在搜索框输入“apple”,选择喜欢的苹果造型添加即可。
3. 制作“Yummy”文字特效角色
这个角色用来实现吃苹果时的视觉反馈,同样通过绘制制作:
点击“绘制”新建角色,命名为“Yummy”;
选择“文字工具”,输入“Yummy!”,更换字体为“Maker”,放大尺寸,选择亮色系(比如橙色)调整颜色,完成文字造型。
4. 添加舞台背景(可选)
为了让游戏更美观,点击舞台区“选择背景”,挑选喜欢的背景(比如沙滩、草地)添加即可。
二、核心代码编写:逐个实现游戏逻辑
游戏的核心逻辑集中在 3 个角色上,我们逐个拆解编写,新手跟着步骤拖积木即可~
1. 小蛇角色:实现移动、转向、变长核心逻辑
小蛇的逻辑最复杂,分为 4 个部分:自动前进、方向控制、克隆身体变长、吃苹果触发事件,一步步来:
(1)自动前进
拖拽“事件”积木:当绿旗被点击;
拖拽“控制”积木:重复执行(让小蛇持续行动);
拖拽“动作”积木:移动 10 步(数值可调整,控制小蛇速度);
组合后:点击绿旗,小蛇就会自动向前移动。
(2)方向控制(左右转向)
在“自动前进”代码下方,新增两组“条件判断”逻辑;
拖拽“控制”积木:如果 那么,再拖拽“侦测”积木:按下 左箭头 键?放入“如果”条件中;
在“那么”下方拖拽“动作”积木:左转 15 度(角度可调整,控制转向灵敏度);
复制上述逻辑,将“左箭头”改为“右箭头”,“左转”改为“右转”;
组合后:点击绿旗,按下左右箭头就能控制小蛇转向。
(3)克隆身体:实现变长效果
这里用到 uCode 核心的“克隆”功能,通过控制克隆体的存留时间来决定蛇的长度:
新增一段“克隆逻辑”:拖拽“事件”积木当绿旗被点击,搭配“控制”积木重复执行,再拖拽“控制”积木克隆自己(让小蛇持续克隆身体);
设置克隆体造型:拖拽“控制”积木当作为克隆体启动时,搭配“外观”积木将造型切换为 蛇身(确保克隆体是身体,不是头部);
控制克隆体存留时间:在“当作为克隆体启动时”下方,拖拽“控制”积木等待 0.5 秒,再拖拽“控制”积木删除此克隆体;
原理:克隆体存留时间越长,蛇的身体就越长,后续我们会用变量关联这个时间。
(4)吃苹果触发事件(广播+变量控制长度)
需要先创建“长度”变量,
再编写碰撞检测逻辑:
创建变量:点击“变量”积木区“新建变量”,命名为“长度”,勾选“显示在舞台上”;
初始化变量:在“当绿旗被点击”下方,拖拽“变量”积木将 长度 设置为 5(默认初始长度);
碰撞检测:新增“重复执行”积木,内部嵌套“如果 那么”,条件为“侦测”积木碰到 苹果?;
触发事件:在“那么”下方,拖拽“变量”积木将 长度 增加 1,拖拽“事件”积木广播 吃到苹果(通知苹果和 Yummy 角色执行对应动作),再拖拽“声音”积木播放 吃东西音效(可选,增强体验);
关联长度与克隆体时间:回到“当作为克隆体启动时”的“等待”积木,替换为“运算”积木长度 / 10(让长度越大,克隆体存留时间越长,蛇身越长)。
2. 苹果角色:被吃后随机移动
苹果的逻辑很简单,接收“吃到苹果”广播后,移动到随机位置:
拖拽“事件”积木:当接收到 吃到苹果;
拖拽“动作”积木:移动到随机位置;
组合后:小蛇碰到苹果时,苹果会自动跳到舞台其他位置。
3. Yummy 角色:吃苹果时显示放大缩小特效
Yummy 角色默认隐藏,接收“吃到苹果”广播后显示特效:
初始化隐藏:拖拽“当绿旗被点击”,搭配“外观”积木隐藏;
接收广播触发特效:拖拽“当接收到 吃到苹果”,下方依次拖拽: “外观”积木:显示、将大小设置为 0;
“控制”积木:重复执行 10 次,内部拖拽“外观”积木将大小增加 10(实现放大);
“控制”积木:等待 0.1 秒(停留效果);
“控制”积木:重复执行 10 次,内部拖拽“外观”积木将大小增加 -10(实现缩小);
“外观”积木:隐藏;
优化显示层级:在“显示”积木后添加“外观”积木移到最前面(避免被小蛇遮挡);
调整位置:在“显示”积木后添加“动作”积木移动到 小蛇(让特效出现在小蛇位置)。
视频展示
三、测试与优化:让游戏更流畅
代码编写完成后,点击绿旗测试游戏,根据实际效果调整参数:
小蛇速度:调整“移动 10 步”的数值,越大越快;
转向灵敏度:调整“左转/右转 15 度”的角度,越大转向越明显;
蛇身增长速度:调整“长度 / 10”的除数,除数越小,长度增长对蛇身的影响越明显;
Yummy 特效时长:调整“等待 0.1 秒”的数值,控制特效停留时间。
四、进阶拓展:给游戏增加更多玩法(可选)
基础版本完成后,还可以尝试这些进阶功能,让游戏更好玩:
添加游戏结束逻辑:检测小蛇碰到舞台边缘、碰到自己时,广播“游戏结束”,显示结束文字;
增加得分系统:新建“得分”变量,吃苹果时不仅增加长度,还增加得分;
设置不同食物:添加多种食物角色,不同食物对应不同长度/得分加成;
增加难度递增:随着得分/长度增加,自动提高小蛇移动速度。
五、总结:今天学到的核心知识点
通过制作贪食蛇游戏,我们掌握了 Scratch 的几个核心技能:
角色绘制与造型切换:制作个性化角色(小蛇、文字特效);
克隆功能:通过克隆体实现物体变长效果,理解“克隆体存留时间”的控制逻辑;
变量应用:用变量控制游戏状态(长度、得分);
广播机制:实现不同角色间的通信(小蛇吃苹果通知其他角色);
条件判断与循环:实现角色移动、转向、碰撞检测等核心交互。
这款经典的贪食蛇游戏,看似简单却包含了编程的核心思维——拆解问题、分步实现。基础版本完成后,一定要试试进阶拓展功能,加深对 Scratch 逻辑的理解~
如果在制作过程中有疑问,欢迎在评论区留言交流;喜欢这篇教程的话,记得点赞、在看,分享给身边喜欢编程的小伙伴~ 后续还会更新更多少儿编程教程,关注我不迷路哦!拜拜~
Scratch教程(十)——贪食蛇游戏
scratch中级第8课——贪吃蛇
《贪吃蛇》遇到重复执行,小蛇会变得贪吃,根本停不下来!