配套赛事汉中市第八届青少年机器人竞赛 · Scratch/Python 编程挑战赛图形化赛项适合学段小学组 / 初中组图形化编程关键词列表、循环、条件、变量、自制积木、广播一、引言祖玛Zuma是一款经典又烧脑的消除类游戏一串彩色珠子沿着轨道缓缓推进玩家转动炮台发射同色珠子当三个及以上同色珠子连成一段时就会被消除直到整条珠链清空或到达终点。它把「队列、颜色匹配、连锁消除」浓缩在一个小项目里特别适合作为图形化编程的原创练习题。本文给出一个可直接在图形化平台复刻的校园祖玛消消乐项目方案从题目目标、核心考点、积木拆解到进阶玩法一步步讲清楚帮助你在汉中市青少年机器人竞赛的图形化赛项中快速上手。二、题目 / 项目目标项目名校园祖玛消消乐背景设定校园科技节上一条由彩色珠子组成的知识珠链正沿着螺旋轨道向终点滚动。你操控中央的智慧炮台发射珠子去消除同色段阻止珠链抵达终点并在规定时间内清空珠链拿高分。实现目标珠链由若干彩色珠子组成沿固定轨道从起点向终点匀速推进中央炮台可左右旋转空格键发射当前珠子发射的珠子插入珠链后若形成 ≥3 个同色连续段则整段消除并加分珠链全部清空 → 过关珠链抵达终点 → 游戏结束多关卡递进关卡越高珠链越长、推进越快。三、核心考点考点在本项目中的体现列表珠链颜色列表按顺序排列每个珠子的颜色编号关卡配置列表存每关珠链长度与速度变量分数、连击、关卡、当前发射色、炮台角度、珠链头位置、剩余时间循环主循环不断驱动珠链前进、发射珠飞行、检测消除重复执行刷每帧状态条件判三连同色、判珠链到终点、判过关、判超时、判发射珠落入位置自制积木生成珠链、发射珠子、消除特效、过关庆祝、重置一局带参数封装广播开始、发射、三连消除、珠链到终点、过关、重置解耦各模块四、解法 / 积木拆解4.1 数据结构用列表当珠链把整条珠链抽象成一个一维列表珠链颜色下标 0 是链头最靠近终点末尾是链尾刚生成处。每次消除就是删掉列表里连续同色的那一段珠链整体前移时只需把链头下标对应的珠子坐标往终点推。珠链颜色 [红, 蓝, 蓝, 红, 绿, 绿, 绿, 红, ...] ← 下标0在终点侧4.2 主循环与珠链推进用一个珠链头位置变量记录链头已推进的距离重复执行每帧珠链头位置增加当前速度并把每个珠子的屏幕坐标按轨道样条刷新如果 珠链头位置 ≥ 终点阈值→广播 珠链到终点。4.3 炮台发射与插入方向键或鼠标改变炮台角度空格 →广播 发射发射珠以炮台角度为方向飞出用x 坐标 / y 坐标 速度向量更新飞行珠碰到珠链时根据落点插入珠链颜色列表对应位置在链尾追加或在中间插入视碰撞点最近的珠子而定。4.4 三连消除最关键的一步插入后从落点向左右扩展统计与发射珠同色的连续段长度如果 同色连续长度 ≥ 3→ 删除这段列表元素分数增加连击越高分越多广播 三连消除播放特效消除后珠链可能出现断开可让左右两段重新接续进阶可加引力吸附动画。伪代码消除判定 left 落点 while left-1 ≥ 0 且 珠链颜色[left-1] 发射色: left - 1 right 落点 while right1 长度 且 珠链颜色[right1] 发射色: right 1 if right - left 1 ≥ 3: 删除 珠链颜色[left .. right] 分数 (段长) * 10 * 连击 连击 1 广播 三连消除 else: 连击 1 # 没消成就断连击4.5 自制积木封装自制积木作用生成珠链(关数)按关卡配置随机生成一条珠链保证开局不直接有三连发射珠子克隆一颗飞行珠并按炮台角度赋初速度消除特效(位置)在消除处播放闪光/粒子提升手感过关庆祝显示过关并进入下一关重置一局清零变量、重建珠链、复位炮台4.6 广播解耦当 接收到 [开始] → 重置一局、生成珠链、启动主循环 当 接收到 [发射] → 调用 发射珠子 当 接收到 [三连消除] → 播放消除特效、刷新分数 当 接收到 [珠链到终点] → 停止主循环、广播 游戏结束 当 接收到 [过关] → 关卡1、加快速度、生成新珠链 当 接收到 [重置] → 回到初始状态五、运行效果开局螺旋轨道上排列着五彩珠链中央炮台待命发射同色珠插入后三连及以上整段啪地消除分数跳动、连击叠加连续消除触发连锁时珠链明显变短紧张感拉满清空全部珠子 → 弹出过关进入更长更快的下一关珠链触及终点 → 弹出游戏结束可一键重开。六、进阶玩法反向插入进阶消除消除中断开的两段若颜色相同应自动吸附合并并二次判定可形成连锁 Combo特殊珠加入炸弹珠消周围一片、彩虹珠任意色通用用额外变量标记珠类型算法对照Python用列表模拟整条珠链的插入与消除验证你的图形化逻辑是否正确def shoot(chain, pos, color): chain.insert(pos, color) left pos while left - 1 0 and chain[left - 1] color: left - 1 right pos while right 1 len(chain) and chain[right 1] color: right 1 if right - left 1 3: del chain[left:right 1] return True # 发生消除 return False # 示例在索引3插入红色 chain [红,蓝,蓝,红,绿,绿,红] print(shoot(chain, 3, 红)) # True红红红被消除 print(chain)关卡编辑器把关卡配置列表开放给学生自定义珠链长度与速度做成一个出题小工具直接对应竞赛里自主设计作品的评分点。七、小结与互动校园祖玛消消乐把列表珠链 循环推进/飞行 条件三连判定 变量分数/连击 自制积木 广播六大图形化考点串成一条完整项目线既有可玩性又能体现编程思维非常适合作为汉中市青少年机器人竞赛图形化赛项的原创练习题。互动时间你打算给珠链加哪种特殊珠是炸弹珠还是彩虹珠或者你更想挑战连锁吸附 Combo欢迎在评论区聊聊你的设计也可以把做好的作品链接发出来一起交流 免费少儿编程资料夸克网盘领取以下资料来自夸克网盘分享点击链接可直接保存若需在 App 内打开也可复制下方明文链接全国青少年信息素养大赛复赛集训题目PythonC.docxhttps://pan.quark.cn/s/93995d3cb1502024信息素养-智能算法应用挑战赛-复赛初中组题目7月7日.pdfhttps://pan.quark.cn/s/da97b5dbf75dPython背记手册.pdfhttps://pan.quark.cn/s/7568ae9ca92bPython课程https://pan.quark.cn/s/a94bf02d00c62024信息素养大赛图形化复赛集训题答案3-9https://pan.quark.cn/s/6ccab7ec3cbc2025年03月份电子学会考级真题https://pan.quark.cn/s/4403c42289122025全国青少年信息素养大赛赛项说明https://pan.quark.cn/s/d9d0df4a9f29青少儿信息素养大赛编程资料https://pan.quark.cn/s/4ab6bd83be8a资料持续更新关注获取最新分享。