2026重庆STEAM科创大赛:校园连连看消除解析

赛事锚点:第六届重庆市青少年STEAM科创大赛------「编程创意设计专项赛」(重庆市科协、市科技局、市大数据局、团市委、中科院重庆研究院共同主办,2026 年 7 月---12 月举办,线上报名 9 月 1 日---9 月 30 日,当前正处于报名与作品打磨窗口,其「编程创意设计专项赛」明确鼓励原创图形化/代码作品)。

引言

做图形化编程题,最怕「只会拖积木、不懂建模」。今天我们用一道带点小算法的原创项目题 校园连连看消除 ,把「列表、循环、条件、变量、自制积木、广播」六大考点串成一条完整链路。它的魅力在于:消消乐人人都玩过,但要让电脑判断「两块能不能连」,就绕不开路径搜索------这恰恰是图形化作品里最容易被忽视的逻辑核心。

下面这道原创题,既贴合重庆市 STEAM 科创大赛「编程创意设计专项赛」对原创性与完整度的要求,又能顺手练出比赛必备的计算思维。

一、题目与项目目标

【原创项目题】校园连连看消除

校园社团节要办一场「图标消消乐」小游戏。请你用图形化编程制作一个 m×n 的连连看棋盘:

  • 棋盘里摆满了成对出现的校园图标(书本、铅笔、篮球、音符......),总数量为偶数;
  • 玩家依次点击两块图标相同的格子;
  • 若两块之间能用「不超过 2 个拐角(即最多 3 段直线)」的空路连起来,且路径上不被其他图标挡住,则两块消除;
  • 消除所有图标即过关,进入下一关(棋盘更大、图标更多);
  • 记录分数与用时,超时或无法继续则游戏结束。

核心目标: 用图形化积木实现「点击选择 → 路径判定 → 消除 / 失败 → 胜负结算」的完整闭环,并尽量把逻辑封装清楚、便于扩展多关卡。

二、核心考点拆解

考点 在本题中的落点
列表 用「列表的列表」或一维列表存棋盘每格的图标编号;单独建「图标池」列表存放可选图案
变量 分数剩余秒数关卡选中状态当前选中行/列已消除对数剩余可消对数
循环 主循环不断刷新画面;遍历棋盘判断胜负;判定连通时在 4 个方向做扩展搜索
条件 点击是否在棋盘内、该格是否还有图标、两块图标是否相同、路径是否 ≤2 拐角连通、是否过关、是否超时
自制积木 画棋盘生成棋盘(难度)判连通(r1,c1,r2,c2)消除一对重排棋盘重置游戏(均可带参数)
广播 开始游戏选中第一块选中第二块配对成功配对失败过关游戏结束 解耦各模块

三、解法与积木拆解

1. 数据建模:用列表当棋盘

把棋盘想象成一张表,每个格子存一个数字(0 表示空,1~K 表示第几种图标)。最直观的做法是用一维列表 棋盘,长度为 行×列,下标 i 对应的行列是 行 = i ÷ 列数列 = i mod 列数。这样「取第几格」「遍历全部格子」都只要一个循环,特别适合图形化。

2. 生成棋盘:成对摆放

先准备图标池,再把图标编号两两一组随机塞进棋盘,保证总数是偶数、每种图标成对出现。一个实用技巧:先生成「每对两个相同数字」的数组,整体打乱后填入棋盘。

3. 点击与选中:广播解耦

  • 第一次点击:把行/列存入「第一块」,广播 选中第一块
  • 第二次点击:存入「第二块」,广播 选中第二块
  • 选中第二块 的处理里,用条件判断:图标相同吗?能连通吗?再决定广播 配对成功 还是 配对失败

把所有「点击后的判断」收拢到广播接收区,主程序只负责画和发信号,逻辑干净、好调试。

4. 关键算法:判连通(≤2 拐角)

这是本题的灵魂。连连看的连通规则是:两块之间能连,当且仅当存在一条由水平/垂直线段组成、拐角 ≤2、且中间不被占用格子挡住的路线

判断分三类:

  1. 直连:同行或同列,中间全空 → 0 拐角,直接连通;
  2. 一拐角:存在一个「中转点」(r2,c1) 或 (r1,c2),使「第一块→中转点」与「中转点→第二块」都直连且中转点为空 → 1 拐角;
  3. 两拐角:枚举棋盘上每个空点作为「第一个拐角」,再看它到第二块能否一拐角连通(即中转点法再套一层)→ 2 拐角。

用文字讲清楚,再落地成图形化「自制积木 判连通」:它返回一个「能/不能」的布尔值,主逻辑只管「能就消除、不能就提示」。下面给出等价的 Python 思路,方便你对照积木逻辑:

python 复制代码
def can_connect(board, r1, c1, r2, c2):
    """判断 (r1,c1) 与 (r2,c2) 能否 ≤2 拐角连通(board 中 0 表示空)。"""
    rows, cols = len(board), len(board[0])

    def empty(r, c):
        return 0 <= r < rows and 0 <= c < cols and board[r][c] == 0

    def line_ok(r1, c1, r2, c2):
        # 同行或同列且中间全空(不含两端)
        if r1 == r2:
            step = 1 if c1 < c2 else -1
            return all(empty(r1, c) for c in range(c1 + step, c2, step))
        if c1 == c2:
            step = 1 if r1 < r2 else -1
            return all(empty(r, c1) for r in range(r1 + step, r2, step))
        return False

    # 0 拐角:直连
    if (r1 == r2 or c1 == c2) and line_ok(r1, c1, r2, c2):
        return True
    # 1 拐角:两个中转点
    for mr, mc in [(r2, c1), (r1, c2)]:
        if empty(mr, mc) and line_ok(r1, c1, mr, mc) and line_ok(mr, mc, r2, c2):
            return True
    # 2 拐角:枚举每个空点作为第一拐角,再要求它到第二块可一拐角
    for r in range(rows):
        for c in range(cols):
            if empty(r, c) and (r != r1 or c != c1):
                for mr, mc in [(r2, c), (r, c2)]:
                    if empty(mr, mc) and line_ok(r, c, mr, mc) and line_ok(mr, mc, r2, c2):
                        return True
    return False

5. 胜负与刷新:循环驱动

主循环里每帧检查 剩余可消对数:为 0 且棋盘还有图标时,自动 重排棋盘(洗牌)防止死局;棋盘全空则广播 过关剩余秒数 每帧递减,归零广播 游戏结束

四、运行效果

  • 进入游戏:棋盘铺满成对图标,顶部显示分数、关卡、倒计时;
  • 点击第一块高亮,点击第二块:能连则播放消除特效并加分,不能连则两块闪红后复原;
  • 一关清空自动进入更大棋盘的下一关,分数累计;
  • 倒计时归零或某关长时间无解(已自动重排仍卡住),弹出结算面板,展示最终分数与所用时间。

五、进阶玩法

  1. 提示功能:遍历所有格子对,找到一对可消的就用特效标出,给新手兜底;
  2. 洗牌保护 :每次重排后调用 判连通 自检,确保至少存在一对可消,杜绝死局;
  3. 计时挑战模式:把「剩余秒数」改成「本关限时」,逼出更紧凑的策略;
  4. 主题皮肤:用列表存多套图标池,过关后切换校园 / 太空 / 海洋主题;
  5. 撤销一步:用一个「历史栈」列表记录上一次消除,配对失误可回退;
  6. 跨语言对照 :把上面的 can_connect 用 C++ 再写一遍,同一套逻辑在图形化与代码间互译,正是科创大赛看重的「计算思维迁移」。

六、小结与互动

这道题把「列表建模 + 循环遍历 + 条件判定 + 变量记账 + 自制积木封装 + 广播解耦」一次性练全,而判连通这一小段算法,正是普通消消乐作品和获奖作品的分水岭。如果你正在准备重庆市青少年 STEAM 科创大赛「编程创意设计专项赛」,不妨把它当作第一个练手项目。

今日互动: 你还希望我拆解哪类图形化原创题?是「迷宫寻路」「接水果」「打字游戏」还是「物理小实验模拟」?留言告诉我,下一篇就写它。也欢迎晒出你的连连看作品,一起打磨细节!


本文为原创图形化教学题解,赛事信息以主办方最新通知为准。


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

以下资料来自夸克网盘分享,点击链接可直接保存;若需在 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

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

相关推荐
青少儿编程课堂3 天前
2026全国青科赛:校园五子棋人机对战解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂9 天前
2026北斗杯电力巡检挑战赛:电网巡检车解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂12 天前
2026杭州科学与工程大赛:校园雨水收集站解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂14 天前
2026青岛创意编程大赛:海底寻宝大冒险解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂14 天前
2026通信科技创新大赛:月球基地信号接力解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂25 天前
用积木拼出一首歌:图形化编程搭一个会作曲的音乐编曲台
少儿编程·图形化编程·创意编程·音乐编程
码学堂1 个月前
图形化编程(Scratch OJ)自动测评
scratch·gesp图形化编程·图形化编程自动测评
qdprobot3 个月前
AIcam智能ESP32视觉摄像头体识万物
人工智能·esp32s3·图形化编程·mcp·mixly小智ai
李老师讲编程3 个月前
中国电子学会图形化2020.12月Scratch三级考级题
算法·scratch·信息学奥赛·图形化编程·scratch素材