本文原创项目题,适用于全国学生数字素养提升实践活动(第二十七届学生活动)「创意编程」赛项(图形化编程创作游戏方向)。题目为自创练习,不照搬真实赛题,供备赛练手。
一、引言
在全国学生数字素养提升实践活动中,「创意编程」赛项鼓励同学们用图形化编程工具创作游戏、动画或模拟仿真作品。相比单纯的算法题,这类作品更看重创意、交互体验与逻辑完整度——一个好玩又稳当的小游戏,往往就是评委眼中的高分作品。
今天我们用一个经典又不过时的项目来拆解图形化编程的六大核心考点:列表、循环、条件、变量、自制积木、广播。项目名字叫「校园水果大作战」:玩家用篮子左右移动,接住从天而降的新鲜水果得分,躲开坏果,漏接或接到坏果都会扣生命,生命耗尽即结束。
二、题目与项目目标
【原创项目题】校园水果大作战
- 舞台上方不断有水果(苹果、橙子、草莓)和坏果(烂苹果)随机落下。
- 玩家用左右方向键(或鼠标)控制底部的篮子左右移动。
- 篮子接住新鲜水果 +10 分,接到坏果 −1 生命,水果漏到地面 −1 生命。
- 每得 100 分提升一个关卡:水果下落速度变快、出现频率变高。
- 生命初始 3 点,生命为 0 时游戏结束,显示本局得分并支持「再来一局」。
项目目标: 综合运用图形化六大考点,完成一个可玩、可重开、难度递增的完整小游戏。

三、核心考点一览
| 变量 | 分数、生命、当前关卡、篮子 x 坐标、水果下落速度、单颗水果私有变量(类型/速度) |
| 列表 | 关卡配置(每关速度与频率)、本局历史最高分记录、当前在场水果编号集合 |
| 循环 | 重复执行 主循环驱动游戏;重复执行 让每颗水果持续下落 |
| 条件 | 碰到篮子加分 / 碰到坏果扣命 / 漏接判定 / 过关与结束判定 |
| 自制积木 | 封装「画背景」「生成一颗水果」「重置游戏」「接果特效」「过关庆祝」 |
| 广播 | 解耦「开始」「接中」「接到坏果」「漏接」「过关」「游戏结束」「重置」等事件 |
四、解法与积木拆解
1. 变量与列表(先搭骨架)
新建以下变量与列表:
- 全局变量:分数、生命、关卡、篮子x、下落速度、是否在游戏。
- 私有变量(勾选「仅适用于当前角色」):我的类型(1=好果 2=坏果)、我的速度。
- 列表:关卡配置(如 [3, 2.5, 2, 1.8, 1.5],表示第 1~5 关的下落速度)、最高分记录。
私有变量是克隆体写法的关键:每颗水果克隆出来后,各自维护自己的类型和速度,互不干扰。
2. 循环(主循环 + 下落循环)
舞台的「游戏主控」角色用 重复执行 作为主循环,内部判断 如果在游戏 = 1 才生成水果:
重复执行:
如果 <在游戏 = 1> 那么
等待 (从关卡配置取当前速度对应的间隔) 秒
生成一颗水果(克隆)
结束
每颗水果克隆体自身也用 重复执行 持续下落:
当作为克隆体启动时:
设置 我的速度 = 关卡配置[关卡]
重复执行:
将 y 坐标 增加 (0 – 我的速度)
如果 <碰到 篮子> 那么 广播 接中 并 删除此克隆体
如果 <y 坐标 < -170> 那么 广播 漏接 并 删除此克隆体
结束
3. 条件(判定三件套)
水果碰到篮子、漏到地面、接到坏果,都靠条件分支区分:
- 如果 <碰到颜色[篮子]> 且 <我的类型 = 1> → 广播「接中」(加分)。
- 如果 <碰到颜色[篮子]> 且 <我的类型 = 2> → 广播「接到坏果」(扣命)。
- 如果 <y 坐标 < -170> → 广播「漏接」(扣命)。
核心加分逻辑可用下面这段 Python 思路来验证你的积木是否写对(图形化里是等价的条件判断):
def on_catch(fruit_type):
if fruit_type == 1: # 好果
score += 10
if score // 100 > level: # 每满 100 分升一关
level += 1
speed = level_config[level]
else: # 坏果
life -= 1
if life <= 0:
game_over()
4. 自制积木(把重复动作收口)
把高频动作封装成自制积木,代码立刻清爽:
- 画背景:绘制天空、草地、计分板。
- 生成一颗水果:随机选类型(好果 80% / 坏果 20%)、随机 x、设置私有变量、克隆。
- 接果特效:在篮子位置闪一下星星。
- 过关庆祝:放烟花、显示「第 N 关」。
- 重置游戏:分数=0、生命=3、关卡=1、删除所有克隆体。
5. 广播(事件解耦)
所有「状态变化」都通过广播通知,而不是让角色互相直接改对方变量:
- 广播 开始 → 主控初始化、在游戏 = 1。
- 广播 接中 → 分数角色刷新、播放音效。
- 广播 接到坏果 / 广播 漏接 → 生命角色刷新、抖动舞台。
- 广播 过关 → 提速、庆祝。
- 广播 游戏结束 → 在游戏 = 0、显示结算、广播 重置(供「再来一局」按钮触发)。
这样篮子只管移动、水果只管下落、分数板只管显示,谁也不越权,调试时一眼就能定位问题。
五、进阶玩法
基础版跑通后,可继续加料提升作品含金量:
六、小结与互动
「校园水果大作战」把图形化六大考点串成了一条完整链路:变量/列表存状态 → 循环驱动下落与生成 → 条件做判定 → 自制积木收口重复动作 → 广播解耦各角色。它正好契合数字素养提升实践活动「创意编程」赛项对完整、可玩、有创意作品的要求。
你在做这类接物游戏时,最卡壳的是哪一步?是克隆体的私有变量没搞懂,还是广播和变量的配合总出错?欢迎在评论区聊聊你踩过的坑,下一篇我们专门拆解「克隆体私有变量」这个高频考点。
如果觉得有用,点个关注,持续更新少儿编程赛事原创项目题与图形化考点拆解。
📚 免费少儿编程资料(夸克网盘领取)
以下资料来自夸克网盘分享,点击链接可直接保存;若需在 App 内打开,也可复制下方明文链接:
资料持续更新,关注获取最新分享。
