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

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

最近 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

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

相关推荐
“AI国潮设计-小江”2 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
Linux_cy2 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12032 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami2 小时前
【无标题】
开发语言·python
春弦_2 小时前
自用算法整理二
数据结构·算法·图论
CodeGL2 小时前
10、Python基础之进程和线程
开发语言·python
hetao17338373 小时前
2026-10-22~23 hetao1733837 的刷题记录
c++·算法
TechWayfarer3 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
java_nnnn4 小时前
LeetCode刷题滑动窗口(串联所有单词的子串+最小覆盖的子串)Java
算法·leetcode·职场和发展
王老师青少年编程4 小时前
2025年6月GESP真题及题解(C++三级): 选择题和判断题(题解)
c++·真题·gesp·答案·csp·三级·信奥赛