近期多地图形化创意编程赛项密集开赛。以第五届重庆市青少年智能机器人编程大赛「创意编程与数字创作」赛项为例,小学低年级组明确要求使用图形化编程语言创作,重点考查编程基础知识、逻辑思维与交互设计能力。本文用一个原创图形化项目「校园垃圾分类大挑战」为例,带你把列表、循环、条件、变量、克隆体、自制积木、广播七大考点串成一条完整作品线,并给出可落地的积木拆解与进阶方向。

一、项目目标

做一个垃圾分类小游戏:四种分类桶(可回收物 / 厨余垃圾 / 有害垃圾 / 其他垃圾)排在底部,垃圾角色从顶部随机落下,玩家用数字键 1–4 选择对应桶,把垃圾投进正确的桶里得分,投错扣分并提示。包含倒计时、连击、关卡递增,整体偏"轻量但考点齐全",非常适合作为图形化赛项的练习作品。

二、核心考点

考点在作品中的体现
列表存"垃圾名称—正确类别"映射表;存四种分类桶名称
循环主循环驱动垃圾下落;倒计时循环;列表遍历判定
条件判断落点属于哪个桶、判断类别是否正确、判断游戏结束
变量得分、倒计时、连击数、当前垃圾类别、关卡
克隆体每一个下落的垃圾生成一个克隆体,带私有变量
自制积木封装"画一个桶""生成随机垃圾""判定归类"等可复用动作
广播解耦"出题—判定—报分—结束"各模块,避免互相耦合

三、解法拆解(分模块)

1. 数据准备:用列表当"小数据库"

不需要死记硬背,把垃圾和类别放进列表即可。例如:

垃圾名称列表 = [苹果核, 废电池, 矿泉水瓶, 旧报纸, 剩饭, 温度计, ...]
对应类别列表 = [厨余, 有害, 可回收, 可回收, 厨余, 有害, ...]

归类时只要用"当前序号"同时取两个列表的同一位置,就知道它该进哪个桶。比写一大串 如果…否则 判断清爽得多。

2. 垃圾生成:克隆体 + 随机数

用一个"生成器"角色,每隔若干帧克隆自己;克隆体启动时从列表里随机抽一个序号,把"我的类别"写进自己的私有变量,并显示对应造型。这样屏幕上有多少垃圾,就有多少个独立对象,互不干扰。

3. 交互:数字键选桶

按下 1 / 2 / 3 / 4,广播"投到桶1 / 桶2 / 桶3 / 桶4"。当前下落的垃圾收到广播后,比对自身私有变量里的"我的类别"与目标桶类别即可——全程只用"条件判断 + 广播",没有复杂嵌套。

4. 判定:一个条件搞定对错

如果 <我的类别> = <目标桶类别>:
    得分 + 10,连击 + 1,广播"答对"
否则:
    得分 - 5,连击 = 0,广播"答错"

5. 计分与节奏:变量驱动

用变量"倒计时"做秒级递减(循环里等待 1 秒再 -1),归零广播"游戏结束"。连击变量让连续答对额外加分,提升趣味性。关卡变量则用来控制下落速度,越高越快。

6. 解耦:广播让模块各管各的

把"出题、判定、报分、音效、结束"拆成独立角色 / 脚本,彼此只通过广播通信:

  • 出题角色:广播 新垃圾
  • 判定角色:收到 投放 后比对并广播 答对 / 答错
  • 报分角色:收到 答对 刷新分数与连击
  • 音效角色:收到广播播放对应声音

这样后续想加玩法(比如限时、加关卡),只动一处,不会牵一发动全身——这正是图形化大作品最该养成的习惯。

7. 一段 Python 对照,看清"归类"的本质

图形化里那张列表映射表,本质就是"键—值"查找。用 Python 写出来一目了然:

# 垃圾 -> 正确类别 映射
trash_bin = {
    "苹果核": "厨余", "剩饭": "厨余",
    "废电池": "有害", "温度计": "有害",
    "矿泉水瓶": "可回收", "旧报纸": "可回收",
    "陶瓷碗": "其他", "纸巾": "其他",
}

def classify(name, chosen):
    """返回 (是否正确, 正确类别)"""
    correct = trash_bin.get(name, "其他")
    return chosen == correct, correct

# 模拟一次投放
name, chosen = "废电池", "有害"
ok, correct = classify(name, chosen)
print("答对了!" if ok else f"答错了,{name} 应投『{correct}』")

这段逻辑和图形化里"取两个列表同一位置比对"完全等价,理解它,列表映射就通透了。

四、运行效果

  • 启动后顶部不断落下各种垃圾,底部四个彩色分类桶就位;
  • 正确投放:分数 +10,连击数上涨,播放清脆音效;
  • 错误投放:分数 -5,连击清零,屏幕提示正确类别;
  • 倒计时归零:弹出"本局得分 / 最高连击",可一键重开。

五、进阶方向

  1. 限时挑战:把倒计时从 60 秒改为 30 秒,并提高下落速度,考验反应速度。
  2. 连击加倍:连击每满 5 次,单次得分翻倍,鼓励连续正确。
  3. 错误分析:答错的垃圾自动记入"错题列表",游戏结束展示"你最容易搞混的是哪些",顺带科普。
  4. 多关卡:关卡越高,新增易混淆项(如 厨余 vs 其他),并加快节奏。
  5. 数据可视化:用柱状图角色画出四类垃圾被正确分类的次数,把"编程 + 数据"结合起来。

六、小结与互动

「校园垃圾分类大挑战」把七大图形化核心考点收进一个生活化小游戏里:列表当数据库、克隆体做对象、条件做判定、变量记状态、自制积木去重复、广播做解耦。照着上面的模块拆分,你也能半天内做出自己的第一版。

你最想先做哪个进阶方向?或者你手头的比赛题里有没有类似的"分类 / 匹配"题型?欢迎在评论区聊聊,我可以据此再拆解一期。


📚 免费少儿编程资料(夸克网盘领取)

以下资料来自夸克网盘分享,点击链接可直接保存;若需在 App 内打开,也可复制下方明文链接:

  1. 全国青少年信息素养大赛复赛集训题目Python&C++.docx
    https://pan.quark.cn/s/93995d3cb150
  2. 2024信息素养-智能算法应用挑战赛-复赛初中组题目7月7日.pdf
    https://pan.quark.cn/s/da97b5dbf75d
  3. Python背记手册.pdf
    https://pan.quark.cn/s/7568ae9ca92b
  4. Python课程
    https://pan.quark.cn/s/a94bf02d00c6
  5. 2024信息素养大赛图形化复赛集训题答案3-9
    https://pan.quark.cn/s/6ccab7ec3cbc
  6. 2025年03月份电子学会考级真题
    https://pan.quark.cn/s/4403c4228912
  7. 2025全国青少年信息素养大赛赛项说明
    https://pan.quark.cn/s/d9d0df4a9f29
  8. 青少儿信息素养大赛编程资料
    https://pan.quark.cn/s/4ab6bd83be8a

资料持续更新,关注获取最新分享。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐