用图形化编程做一个「城市生态小卫士」:克隆体、广播与变量串起完整小游戏

一、引言:从一场国际图形化赛事说起

最近 IECC 2026 全球环境编程大赛 开放报名(U12 组指定使用 Scratch 3.0),主题聚焦「Code the City(可持续城市)」与「Botanical Biodiversity(植物多样性)」------要求孩子用积木搭建一个能解决真实环境问题的交互作品。这类赛题最看重三件事:编程熟练度、视觉创意、用户体验,正好对应图形化学习的几个核心能力。

很多同学会做「点一下动一下」的小动画,但一到「让一堆垃圾自己飘、能分类、能计分、还能倒计时结束」就卡壳。今天我们用一个原创项目 「城市生态小卫士」 把克隆体、变量、条件、广播、列表、自制积木一次性串起来,照着拆你也能做出赛事级作品。

二、项目目标

玩家操控一名「生态小卫士」,在城市街道上巡逻:

  1. 街道上不断克隆出乱扔的垃圾(可回收 / 厨余 / 其他三类)。
  2. 小卫士碰到垃圾即收集,按类别投入对应垃圾桶计分;投错扣分。
  3. 点击空地可种下一棵绿植,提升「绿意值」(呼应植物多样性主题)。
  4. 限时 60 秒,倒计时结束广播「游戏结束」,结算总分与绿意值。

一句话:把「清洁城市 + 绿化城市」两件环保实事,做成一个能玩、能算分、能收尾的完整小游戏。

三、核心考点清单

考点 在本项目中的作用
克隆 垃圾、绿植用克隆体批量生成,避免手动复制十几个角色
变量 分数、绿意值、倒计时、连击数
条件判断 碰撞检测、垃圾分类对错、点击区域判定
循环 克隆体持续下落、计时循环、垃圾源源不断生成
广播 开始 / 倒计时归零 / 游戏结束 的场景切换
列表 记录已收集的垃圾类型,用于结算面板
自制积木 把「生成一批垃圾」「种一棵树」封装成可复用积木

与常见入门项目不同,本篇把克隆体作为主线索------这是很多同学从「会做动画」跨到「会做游戏」的关键一步。

四、积木拆解(文字版,可直接照搬到 Scratch)

模块 1:角色与舞台

  • 舞台背景:城市街道(可用 Scratch 自带背景或自绘)。
  • 角色:小卫士(玩家控制)、垃圾桶×3(可回收蓝 / 厨余绿 / 其他灰)、垃圾(作为克隆原型,本体隐藏)、绿植(克隆原型,本体隐藏)。

模块 2:用克隆生成垃圾(核心)

垃圾 角色代码:

  • 当绿旗被点击:隐藏自己(本体只做模板)。

  • 新建自制积木「生成一批垃圾」 :重复执行 10 次 → 创建 垃圾 的克隆体。

  • 每个克隆体启动:显示 → 移到 随机位置(舞台上方) → 将 类型 设为 在 [可回收,厨余,其他] 中随机选一个 → 换对应造型 → 面向下方,滑行/移动 下落。

  • 下落到底部仍没被收走:删除此克隆体,并调用「生成一批垃圾」补一批,形成源源不断的效果。

模块 3:小卫士巡逻与收集

  • 当按下 左右方向键:将 x 坐标 改变 ±10(边界用 限制 x 在 [-230,230] 条件限制)。
  • 当按下 空格:小卫士 快速下移 去接垃圾。
  • 碰撞检测(小卫士与某克隆体):如果 碰到 小卫士 → 广播「收集到垃圾」并带上类型 → 删除此克隆体。

模块 4:垃圾分类计分(条件)

用一个列表 已收集 和变量 分数:

  • 收到「收集到垃圾」广播时:

  • 将 类型 加入 列表 已收集。

  • 如果 类型 = 当前最近垃圾桶类别:分数 增加 10;否则 分数 减少 5(投错)。

  • 这里训练的是**「用条件判断区分状态」**,也是赛事评分里「Logic & Coding」的高频得分点。

模块 5:点击种绿植(植物多样性)

  • 当角色被点击(舞台空白区):在点击位置 创建 绿植 的克隆体。
  • 绿植克隆体:显示 → 换成小树苗造型 → 绿意值 增加 1 → 等待 0.5 秒换大树造型(做一个生长的小动画)。
  • 配合「Botanical Biodiversity」主题,可在舞台角标实时显示绿意值。

模块 6:倒计时与结束(广播)

  • 变量 倒计时 初始 60。
  • 当绿旗被点击:重复执行 60 次 → 等待 1 秒 → 倒计时 减少 1;如果 倒计时 = 0 → 广播「游戏结束」 → 停止 全部脚本。
  • 「游戏结束」接收方(舞台):显示 结算面板:说 出 "总分:分数 ,绿意值:绿意值" 2 秒。

模块 7:自制积木封装

把重复动作抽成两个自制积木,代码立刻清爽:

  • 生成一批垃圾(如上)。

  • 种一棵绿植(位置):接收 x/y 参数,创建并播放生长动画。

五、文字流程图

复制代码
绿旗点击
  ├─ 小卫士:等待方向键 / 空格输入
  ├─ 垃圾模板:生成一批克隆 → 克隆体下落
  │     └─ 碰到小卫士 → 广播「收集到垃圾」→ 删除克隆
  ├─ 分类逻辑:收广播 → 比对类型 → 加分/扣分 → 写入列表
  ├─ 舞台空白点击 → 种绿植克隆 → 绿意值+1
  └─ 倒计时 60→0 → 广播「游戏结束」→ 结算面板

六、运行效果

  • 开场:城市街道背景,小卫士居中,三个垃圾桶一字排开。
  • 进行中:垃圾从顶部不断克隆下落,操控小卫士左右接住;接对类目分数跳涨,接错闪红扣分;点空地种树,绿意值缓慢爬升。
  • 收尾:60 秒到,屏幕中央弹出结算卡,显示「总分 / 绿意值 / 收集数量」,可点绿旗再来一局。

七、进阶(赛事加分方向)

  1. 难度曲线 :随分数升高,加快垃圾下落速度(用变量控制 移动步数),体现「Functionality」。
  2. 连击系统 :连续投对 3 次触发 连击数,分数倍率 ×2,增加策略性。
  3. 音效与视觉:收集成功播短音、种树冒绿叶粒子,提升「Visual & Creativity」评分。
  4. 多关卡广播 :用 广播「下一关」 切换背景与垃圾密度,做成三关递进。
  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

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

相关推荐
databook11 小时前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
java资料站11 小时前
十一、评估测试
开发语言·人工智能·python
szial11 小时前
网络爬虫与 CDP 实战(二):浏览器能访问,Python 却被拒绝?拆开登录态与 CSRF
爬虫·python·csrf
左手の明天12 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
海上小飞龙12 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
青少儿编程课堂12 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i12 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
怕浪猫13 小时前
LLM 面试必问的 8 个问题,答不上来直接淘汰
人工智能·python·面试
老歌老听老掉牙14 小时前
从三维旋转的深度解析到Python实现:绕任意轴旋转的奥秘
python·三维旋转
乐迪信息14 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉