备考季又到了——第十八届蓝桥杯 STEMA 11 月省考报名正热(11 月 9 日 16:00 截止、11 月 22 日开考,Scratch 组 90 分钟);中国电子学会 12 月图形化考级报名 9 月 23 日—12 月 2 日、统考 12 月 12—13 日;全国青少年信息素养大赛 2026—2027 赛季也已进入报名 / 基础能力评估窗口。这三大标志性赛事的图形化考点高度重合,今天用一个原创项目「校园成语接龙大挑战」,把变量、列表、循环、条件、自制积木、广播六件套一次性串起来,一篇顶三篇备考。

一、项目目标:校园成语接龙大挑战
背景设定:语文老师想做一个课堂小游戏——系统先抛出一个成语,同学要接着说出「首字 = 上一个成语末字」的成语,接对了加分、连击有奖励,限时内接得越多分越高;接不上或说错字就提示并换题。这正好是一个把"字符串首末字处理"藏进图形化积木的绝佳练手项目。
项目目标:
1. 用列表维护一个成语库,并能按"末字"反向找到可接的成语;
2. 系统随机出首成语,把它的末字记到变量里;
3. 玩家输入成语后,程序自动取首字与"待接字"比对:相同且在库里 → 接龙成功(分数 +10、连击 +1);否则提示"首字不对 / 成语不存在";
4. 60 秒倒计时,时间归零弹出"本局成绩";
5. 已达分数门槛(如 100 分)可晋级到更难的成语池,体现关卡递增。
规则映射到考点:成语库用列表存、计分状态用变量记、每帧等待输入与倒计时用循环、首末字匹配与超时用条件、出题 / 判定 / 特效 / 重置用自制积木、开始 / 答对 / 答错 / 超时 / 下一题用广播——六件套一个不少。
二、核心考点拆解(六件套全包)
| 考点 | 在本项目中的落点 |
|---|---|
| 变量 | 当前成语、待接字(上一个成语末字)、分数、连击、剩余时间、游戏状态(等待 / 进行 / 结束)、难度关卡 |
| 列表 | 成语库(全部成语)、首字索引库(每个成语拆出的首字,与成语库同下标)、已用成语(防止重复接同一个)、可接候选(以待接字开头的成语集合,运行时计算) |
| 循环 | 主循环"重复执行"每帧推进——先等待玩家输入、再判定、再刷新倒计时;出题时"重复执行"遍历成语库计算可接候选 |
| 条件 | 玩家首字 == 待接字?成语在库里且未用过?连击是否破纪录?时间是否归零?难度是否达标晋级?全部用"如果…否则"串起来 |
| 自制积木 | 出题、判定接龙、答对特效、重置一局 封装复用,主脚本只负责"调度",不堆长代码 |
| 广播 | 按钮只发"开始游戏",主控监听后初始化;答对广播"答对"让播报员说话;时间归零广播"游戏结束",逻辑与表现彻底分离 |
三、积木实现拆解(分步上手)
1. 成语与索引用「列表」承载
新建两个平行列表,长度相等、同一下标指向同一成语的不同视角:
- 成语库:例如 ["画蛇添足","足智多谋","谋财害命","命途多舛", …]
- 首字库:对应存每个成语的首字 ["画","足","谋","命", …]
进阶可再加
末字库存每个成语末字,这样"取末字"无需在运行时逐字切,速度更快,也更贴近蓝桥杯 STEMA 里"字符串处理"的考点。
2. 出题 自制积木(带参数:难度关卡)
自制积木 出题(关卡):
重复执行 (成语库 长度) 次:
随机取一个下标 i
将 成语库[i] 存入 变量[当前成语]
将 末字库[i] 存入 变量[待接字] // 待接字 = 当前成语的最后一个字
将 当前成语 加入 列表[已用成语]
广播[出新题] 并等待
结束重复
3. 判定接龙 自制积木(核心)
玩家在输入框敲下成语并回车,主板接收到后做四步判定:
当接收到 [提交答案]:
设 变量[玩家成语] = 输入框内容
设 变量[玩家首字] = 玩家成语 的第 1 个字
如果 <(玩家首字) = (待接字)> 且 <(玩家成语) 不在 列表[已用成语]> 且 <(玩家成语) 在 列表[成语库]>:
分数 改变 10
连击 改变 1
将 玩家成语 加入 列表[已用成语]
设 变量[待接字] = 玩家成语 的最后一个字 // 更新待接字,准备下一轮
广播[答对] 并等待
否则:
连击 设 0
广播[答错] 并等待
这里把"首字匹配 + 库内 + 未用过"三个条件用嵌套如果一次性判清,正是电子学会图形化考级(三级)"列表查询与条件分支"的典型得分点。
4. 主循环与倒计时(循环 + 条件)
当接收到 [开始游戏]:
重置一局
广播[出题]
重复执行:
如果 <(剩余时间) > 0> 且 <(游戏状态) = 进行中>:
等待 1 秒
剩余时间 改变 -1
如果 <(剩余时间) = 0>:
广播[游戏结束]
否则:
结束重复
5. 广播解耦(逻辑 / 表现分离)
- 按钮角色只负责发"开始游戏""提交答案",不碰任何计分逻辑;
- 主控角色算分数、判对错、刷新待接字;
- 播报员角色只监听"答对 / 答错 / 游戏结束"广播,用"说 N 秒"把结果念出来。
这样分工后,加音效、加特效、换皮肤都只动播报员,主营业务逻辑一行不改——这也是蓝桥杯 STEMA 编程题"裁判看运行效果、不看实现方式"最加分的结构。

四、运行效果
- 点"开始游戏",舞台先蹦出首成语(如"画蛇添足"),下方提示"请接【足】字开头的成语";
- 玩家输入"足智多谋"→ 首字"足" == 待接字"足",且在库内、未用过 → 分数 +10、连击 +1,待接字更新为"谋",提示"接得漂亮!";
- 若输入"胸有成竹"→ 首字"胸" ≠ "足" → 连击清零,提示"首字不对,再想想";
- 倒计时归零,弹出"本局得分:XX,最高连击:XX",并可"再来一局";
- 分数过 100 自动切到更难的成语池(关卡 +1),体现难度递增。
五、进阶:Python 同构对照
图形化的"列表 + 首末字匹配"逻辑,换成代码就是下面这段——结构完全一致,方便做"一题两练"(蓝桥杯软件赛与图形化考点互推):
import random
# 成语库(首字、成语、末字三元组)
idioms = [
("画", "画蛇添足", "足"),
("足", "足智多谋", "谋"),
("谋", "谋财害命", "命"),
("命", "命途多舛", "舛"),
("舛", "舛讹百出", "出"),
("出", "出类拔萃", "萃"),
]
used = set()
score = 0
combo = 0
def pick_start():
"""随机出一个尚未用过的成语作为首题"""
pool = [x for x in idioms if x[1] not in used]
cur = random.choice(pool)
used.add(cur[1])
return cur
def judge(player, need_first):
"""判定接龙:首字匹配 + 在库 + 未用过"""
global score, combo
for first, word, last in idioms:
if word == player:
if first == need_first and player not in used:
score += 10
combo += 1
used.add(player)
return True, last # 返回新待接字
break
combo = 0
return False, need_first
# 演示一局
cur = pick_start()
need = cur[2]
print("首题:", cur[1], " 请接【%s】字" % need)
ok, need = judge("足智多谋", need)
print("接龙结果:", "成功" if ok else "失败", " 新待接字:", need, " 分数:", score)
进阶方向(可作为赛前加练):
1. 难度自适应:按成语字数(4 字 / 多字)或主题(动物 / 数字 / 颜色)分池,关卡越高越难;
2. 双人接龙:A、B 轮流,谁先接不上谁输,引入"轮次变量"与"对方待接字";
3. 错题本:接错的成语写入列表,一局结束回看,对应信息素养大赛"数据记录与复盘";
4. 云变量排行榜:把最高分存到云变量,跨设备比拼,贴近蓝桥杯 STEMA 计算思维组的"数据持久化"思路。
六、小结与互动
一个"校园成语接龙大挑战",把列表存库、变量记状态、循环驱动、条件判定首末字、自制积木封装、广播解耦六件套讲透,恰好覆盖第十八届蓝桥杯青少组图形化、全国青少年信息素养大赛算法应用主题赛(图形化方向)、中国电子学会图形化考级的同源核心考点。备考时建议先照六件套把骨架搭起来,再填成语数据、加特效,比一上来就堆动画稳得多。
你在练习这类"列表 + 字符串处理"的图形化题时,最卡的是哪一块?是平行列表的同步维护,还是首末字提取的边界判断?欢迎在评论区聊聊,下一期可以专门拆一个"字符串处理专题"。也欢迎把这篇转发给正在备赛的同学,一起冲 Top 1%!
本文为原创图形化项目解析,相关赛事时间以官方最新通知为准。蓝桥杯 STEMA 11 月省考报名 11 月 9 日 16:00 截止、11 月 22 日考试;电子学会 12 月图形化考级 12 月 12—13 日统考;全国青少年信息素养大赛 2026—2027 赛季报名进行中。
📚 免费少儿编程资料(夸克网盘领取)
以下资料来自夸克网盘分享,点击链接可直接保存;若需在 App 内打开,也可复制下方明文链接:
- 全国青少年信息素养大赛复赛集训题目Python&C++.docx
https://pan.quark.cn/s/93995d3cb150 - 2024信息素养-智能算法应用挑战赛-复赛初中组题目7月7日.pdf
https://pan.quark.cn/s/da97b5dbf75d - Python背记手册.pdf
https://pan.quark.cn/s/7568ae9ca92b - Python课程
https://pan.quark.cn/s/a94bf02d00c6 - 2024信息素养大赛图形化复赛集训题答案3-9
https://pan.quark.cn/s/6ccab7ec3cbc - 2025年03月份电子学会考级真题
https://pan.quark.cn/s/4403c4228912 - 2025全国青少年信息素养大赛赛项说明
https://pan.quark.cn/s/d9d0df4a9f29 - 青少儿信息素养大赛编程资料
https://pan.quark.cn/s/4ab6bd83be8a
资料持续更新,关注获取最新分享。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/IT_Scratch/article/details/169947847



