2026山东创意编程烟台赛:校园糖果三消解析

又到了备赛季!第七届山东省青少年创意编程与智能设计大赛(烟台市赛)正在火热报名中,创意编程线上赛将于 10 月 18 日开赛。这次我们不讲算法,来做一个小朋友们都爱玩、又最能练逻辑的经典图形化项目------校园糖果三消。它把「列表存棋盘、克隆体渲染、循环驱动、条件判定、自制积木封装、广播解耦」六大图形化考点全部串了起来,是创意编程赛里非常吃香的原创作品方向。

以下为原创练习项目,不照搬任何真实赛题,仅按典型题型与考点设计,供备赛参考。

一、项目目标(题目)

设计一个「校园糖果三消」小游戏:

  • 舞台是一个 8×8 的糖果棋盘,每格随机生成一种颜色的糖果(共 6 种颜色)。
  • 玩家点击两颗相邻 的糖果进行交换;若交换后横排或竖排出现 3 个及以上同色,则消除并得分,上方糖果下落补齐、顶部补新糖。
  • 每消除一组得 10 分,连锁(下落后再成三连)额外加连击分;限时 60 秒,时间到结算总分。
  • 若全盘没有任何可消除的相邻交换,则自动重新洗牌,保证「有解可玩」。

二、核心考点

考点 在本项目中的体现
列表 用一维列表(长度 64)存整盘糖果的颜色编号;用「行×8+列」做下标映射。
循环 主循环每帧刷新倒计时;消除后遍历棋盘让糖果下落、遍历检测三连。
条件 判相邻、判三连、判边界越界、判计时归零、判是否还有可消除步。
变量 分数、连击、剩余秒数、选中行列、交换中标志、当前颜色等。
自制积木 封装「画棋盘 / 生成糖果 / 交换两颗 / 检测三连 / 消除并下落 / 重新洗牌 / 重置」。
广播 解耦「开始 / 选中第一颗 / 选中第二颗 / 三连消除 / 无可行重排 / 时间到 / 重置」。

三、积木拆解与实现思路

3.1 数据模型:列表存棋盘

建一个列表 棋盘,初始 64 项,每项用 1~6 的随机数代表颜色。所有坐标换算统一为:

复制代码
下标 = 行 × 8 + 列

点击舞台时,用「鼠标所在 x/y 除以格子大小」反推出行、列,再算出列表下标,这样列表和画面就一一对应。

3.2 画面绘制:克隆体 + 自制积木

用一个「糖果」角色,配合 当作为克隆体启动时 根据 棋盘[我的下标] 切换造型(6 种颜色造型)。自制积木 画棋盘 负责:

  1. 依次遍历 0~63,对每个下标「创建克隆体」;
  2. 克隆体读出自己对应的行、列,移动到对应坐标;
  3. 根据列表里的颜色编号切换造型。

关键点:棋盘数据只在列表里改,画面永远由列表重绘,避免「画面和逻辑对不上」的经典 bug。

3.3 主循环:下落与刷新

消除后,被消位置变空(记为 0),需要让上方糖果「掉下来」:

复制代码
重复 执行 (从底行往上):
  如果 本格 == 0:
    从上方逐格把糖果往下搬一格
  顶部空位 用 新的随机颜色 补齐

这一步用「列内从下往上扫描」的循环实现,是整个项目里循环用得最巧的地方。

3.4 判定逻辑:条件分支

交换两颗后,调用 检测三连:对每一格,向右看连续同色是否 ≥3、向下看连续同色是否 ≥3。只要有一处成立就算「可消除」。

  • 能消除 → 进入消除下落流程,分数 +10 × 连击,连击 自增;
  • 不能消除 → 把两颗换回去,提示「这步不行哦」。

3.5 解耦:广播

把「玩家操作」和「游戏逻辑」分开,避免一个脚本越写越乱:

  • 点第一颗 → 广播 选中第一颗(记下行列);
  • 点第二颗 → 广播 选中第二颗(判相邻,相邻才交换);
  • 交换后 → 广播 三连消除 / 无可行重排;
  • 计时器归零 → 广播 时间到,停止一切交互,弹出结算。

四、运行效果

  • 开局:8×8 彩色糖果棋盘铺满,右上角显示倒计时 60 秒、当前分数 0。
  • 交互:点两颗相邻糖果,能消的「啪」地消失、上方掉落补位、分数跳动;不能消的自动换回。
  • 连锁:一次交换若引发连续三连,连击数累加,分数滚雪球上涨,成就感拉满。
  • 结算:时间到弹出「本次得分 XX,连锁最高 X 连」,点按钮可一键 重置 重开。

五、进阶:三消检测算法(Python 思路)

图形化里「检测三连」是核心,下面给出等价的 Python 思路,方便你理解判定逻辑、也方便转成其他语言:

python 复制代码
def find_matches(board, rows=8, cols=8):
    """返回需要消除的下标集合(横/竖连续 >=3 同色)"""
    to_clear = set()
    # 横向检测
    for r in range(rows):
        run_start = 0
        for c in range(1, cols + 1):
            same = c < cols and board[r * cols + c] == board[r * cols + run_start] and board[r * cols + c] != 0
            if not same:
                if c - run_start >= 3:
                    for k in range(run_start, c):
                        to_clear.add(r * cols + k)
                run_start = c
    # 纵向检测
    for c in range(cols):
        run_start = 0
        for r in range(1, rows + 1):
            same = r < rows and board[r * cols + c] == board[run_start * cols + c] and board[r * cols + c] != 0
            if not same:
                if r - run_start >= 3:
                    for k in range(run_start, r):
                        to_clear.add(k * cols + c)
                run_start = r
    return to_clear

# 调用:matches = find_matches(棋盘);若 matches 非空则可消除

进阶可以再加:① 预判「全盘是否还有可消除步」,没有就自动洗牌;② 特殊糖果(四连生成「爆炸糖」、五连生成「同色清屏糖」);③ 关卡模式:限定步数内冲目标分。

六、小结与互动

「校园糖果三消」把图形化六大考点揉进一个完整可玩的作品里,逻辑清晰、画面直观、最容易在创意编程赛里拿高分。备赛烟台市赛的同学,建议先把「列表↔坐标映射」和「下落补齐」这两块练熟,再往上加连锁和特殊糖。

你打算给自己的三消加什么新玩法?是限时冲分、还是关卡闯关?欢迎在评论区聊聊你的创意,关注我,下篇带你拆解更多少儿编程比赛原创项目!


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

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

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

相关推荐
青少儿编程课堂2 天前
2026温州市创意大赛:校园弹珠迷宫解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂2 天前
2026山东创意编程滨州赛:校园守塔防御战解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂4 天前
2026益阳青少年机器人赛:校园太空采矿车解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂17 天前
2026领航杯江苏素养大赛:校园投篮挑战解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂18 天前
2026重庆STEAM科创大赛:校园连连看消除解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂21 天前
2026全国青科赛:校园五子棋人机对战解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂1 个月前
2026北斗杯电力巡检挑战赛:电网巡检车解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂1 个月前
2026杭州科学与工程大赛:校园雨水收集站解析
scratch·少儿编程·图形化编程·创意编程·信息科技
青少儿编程课堂1 个月前
2026青岛创意编程大赛:海底寻宝大冒险解析
scratch·少儿编程·图形化编程·创意编程·信息科技