2026温州市创意大赛:校园弹珠迷宫解析

发布时间:2026/10/5 7:50:30
2026温州市创意大赛:校园弹珠迷宫解析
引言图形化编程比赛最看重的不是你会多少高级积木而是能不能把一个完整的小游戏拆解成「数据 → 循环 → 条件 → 积木 → 广播」这五样东西。本期我们以温州市第十七届青少年创意大赛·创意编程竞赛Scratch 图形化赛项为锚点原创一道经典又出彩的真题改编题——校园弹珠迷宫带你把重力滚球的小游戏做扎实。赛事背景温州市第十七届青少年创意大赛由团市委、市教育局、市科技局、市少工委联合主办温州市青少年活动中心承办其中创意编程竞赛明确采用 Scratch2.0 / Scratch3.0要求围绕主题现场完成互动故事、动画或小游戏。报名窗口 10 月 9 日—14 日开启正式比赛 11 月 5 日—8 日举行正是备赛黄金期。一、题目与项目目标【原创真题改编】校园弹珠迷宫设计并制作一个重力迷宫小游戏玩家通过方向键倾斜迷宫面板让一颗弹珠从起点滚向终点。途中要避开墙体和陷阱洞若弹珠落入洞中或卡死则本关失败需在限定时间内到达终点才算通关。项目目标评分要点迷宫由多关卡组成每关墙体布局不同弹珠受重力 倾斜影响产生加速度运动连续自然撞墙能反弹、落洞判失败、到终点判过关界面有分数 / 关卡 / 计时支持重开作品有开始与结束按钮结构完整。这道题几乎把图形化编程五大核心考点全部考了一遍是现场赛里非常稳的选题。二、核心考点图形化编程五大能力考点在本题中的体现列表用一维/二维列表存储迷宫地图0 通路、1 墙、2 洞、3 起点、4 终点变量小球 x/y 坐标、vx/vy 速度、倾斜角、关卡号、状态、剩余时间循环主循环每帧刷新小球坐标、遍历迷宫格子做碰撞检测条件判撞墙反弹、落入洞失败、到达终点过关、超时结束自制积木 广播封装画迷宫 / 生成墙 / 生成洞 / 重置 / 过关庆祝用广播解耦开始、失败、过关、重置三、积木拆解与解题思路1. 数据与状态列表 变量先建一个列表迷宫地图把每关的格子按顺序存成一维串例如101010...再用「序号 ÷ 列数」算出行列坐标。这样换关卡只需换一条列表关卡数据和维护成本极低。关键变量小球x小球y弹珠在舞台上的位置vxvy当前速度倾斜角方向键按下时给一个加速度方向关卡当前第几关状态0 准备 / 1 进行中 / 2 失败 / 3 过关剩余时间倒计时。2. 主循环与小球物理运动核心逻辑放在当绿旗被点击后的重复执行里每帧做四步施加重力与倾斜加速度vx vx 倾斜角加速度vy vy 重力更新坐标小球x 小球x vx小球y 小球y vy限速与阻尼速度过大时乘一个摩擦系数避免弹珠乱飞碰撞检测取出小球所在的格子判断是墙、洞还是终点。这部分是整道题的灵魂物理感做得越自然评委印象分越高。3. 条件判定撞墙、落洞、过关用如果…那么分三类处理撞墙若下一步落点格子是墙把对应方向速度反向并乘 0.6反弹衰减弹珠贴墙滑动落洞若落点格子是洞广播落洞状态置为 2播放失败音效到终点若落点格子是终点广播过关状态置为 3记录用时并弹庆祝。同时还要判断剩余时间 ≤ 0→ 广播游戏结束。4. 自制积木与广播解耦把重复工作封装成带参数的自制积木代码立刻清爽画迷宫(关卡)按列表画出墙与洞的角色排布生成墙生成洞用克隆体批量生成障碍重置关卡清空状态、复位小球、重置计时过关庆祝撒花 显示用时。广播用来解耦各模块开始→ 重置并切状态落洞/过关→ 触发对应结算重置→ 回到准备态。这样逻辑彼此独立调试和扩展都方便。四、运行效果与评分要点现场演示时建议按这个顺序走一遍评委一眼就能看懂你的设计点击开始 → 迷宫生成、小球出现在起点按方向键倾斜面板弹珠顺重力滚动撞墙自然反弹落洞立即失败并可重开成功抵达终点 → 撒花 显示第 N 关通关用时 X 秒倒计时归零 → 提示时间到再试一次。加分细节给弹珠加一条短拖尾克隆体残留半透明运动轨迹更直观不同关卡用不同配色视觉更丰富。五、进阶拓展重力迷宫算法思路 Python 参考想再拔高一点可以把自动寻路作为进阶展示给定迷宫让弹珠或提示箭头自动找到通往终点的最短路径。本质是一个 BFS 在网格上求最短路下面给出核心 Python 参考from collections import deque def shortest_path(maze, start, end): maze: 二维列表0 通路 / 1 墙返回从 start 到 end 的最短步数。 rows, cols len(maze), len(maze[0]) sx, sy start dist [[-1] * cols for _ in range(rows)] dist[sx][sy] 0 q deque([(sx, sy)]) for dx, dy in ((-1, 0), (1, 0), (0, -1), (0, 1)): while q: x, y q.popleft() for dx, dy in ((-1, 0), (1, 0), (0, -1), (0, 1)): nx, ny x dx, y dy if 0 nx rows and 0 ny cols: if maze[nx][ny] 0 and dist[nx][ny] -1: dist[nx][ny] dist[x][y] 1 q.append((nx, ny)) return dist[end[0]][end[1]] # -1 表示不可达把这个思路搬回图形化就是判定可达性 高亮最短路线评委看到这里基本就给高分了。六、小结与互动一道校园弹珠迷宫把列表建图、变量记状态、循环驱动物理、条件做判定、自制积木与广播解耦五样考点串成一条完整作品线。备赛温州市创意编程竞赛的同学完全可以把这个当模板换主题太空迷宫、校园逃生迷宫、动物找家迷宫就能快速出新品。你在图形化比赛里最怕哪类题是物理运动做不自然还是多关卡切换总乱留言告诉我下期挑一个最常被问到的痛点专门拆解给你看。觉得有用就点个赞 收藏关注我持续更新少儿编程比赛原创真题与图形化解法。 免费少儿编程资料夸克网盘领取以下资料来自夸克网盘分享点击链接可直接保存若需在 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资料持续更新关注获取最新分享。