引言
健康生活与信息科技正在校园里越走越近。在 2026 深圳市罗湖区中小学第九届大创客节人工智能编程设计赛 的图形化赛项中,评委非常看重「用程序解决真实场景问题」的能力------把体育锻炼变成一款可玩、可计数的小游戏,正是这类赛事喜欢的方向。
今天我们就以原创图形化项目 「校园跳绳挑战赛」 为例,拆解一个节奏计时类小游戏该怎么用列表、循环、条件、变量、自制积木和广播搭出来。它不依赖复杂物理,重点考察你对「时间窗口」和「状态切换」的把控,非常适合作为大创客节图形化赛项的练习作品。

一、项目目标(题目)
题目:校园跳绳挑战赛
为学校运动会设计一款跳绳计时挑战游戏:
- 点击「开始」后,画面出现跳绳角色,进入 30 秒倒计时挑战。
- 绳子每隔固定节奏(例如 0.6 秒)落下一次,玩家需在绳子落到脚下的「判定窗口」内按下空格键完成一次有效跳跃。
- 命中窗口内按键记 1 次有效跳绳,连击数 +1;连击越高,单跳得分越高。
- 错过窗口(绳子已过却没跳 / 窗口外乱按)记为「断绳」,连击清零。
- 30 秒结束统计总次数、最高连击与总分;达到目标分进入「过关」,否则提示「再练练」。
二、核心考点
| 考点 | 在本项目中的体现 |
|---|---|
| 变量 | 分数、连击、最高连击、剩余秒数、绳子阶段、状态(待开始/进行中/结束) |
| 列表 | 用 命中记录 列表按顺序存每次「中/断」,方便结算与展示节奏曲线 |
| 循环 | 主循环每帧刷新绳子摆动与倒计时;「绳子摆动」用循环切换造型 |
| 条件 | 判断按键是否落在判定窗口、连击是否破纪录、时间是否归零、是否达标 |
| 自制积木 | 封装 画场景、跳起动画、记一次命中、断绳处理、结算 等带参数的积木 |
| 广播 | 用 开始、跳中、断绳、时间到、过关、重置 解耦各模块,避免一锅粥 |
三、积木拆解
1. 变量与列表设计
新建变量:状态、剩余秒数、分数、连击、最高连击、绳子阶段(0=上扬,1=下落,2=落地判定)。
新建列表:命中记录(元素为 1 表示有效跳、0 表示断绳)。
2. 主循环与绳子节奏
当绿旗被点击,初始化后进入「待开始」状态,等待广播 开始:
- 收到
开始→ 把状态设为「进行中」,剩余秒数设为 30,清空列表。 - 主循环(重复执行直到
状态≠进行中): 绳子阶段每 0.2 秒推进一档,0→1→2→0 循环,模拟绳子摆动;- 当
绳子阶段=2(落地判定帧)时,开放一个「判定窗口」(例如持续 0.25 秒)。

3. 按键判定(核心)
用「当按下空格键」积木配合条件判断:
- 若当前处于「判定窗口」内 → 广播
跳中; - 若不在窗口内(提前或滞后乱按)→ 广播
断绳。
另用「如果 绳子阶段 已从 2 变为 0 且本窗口内未收到跳中」→ 视为漏跳,也广播 断绳。
4. 广播解耦
跳中:调用自制积木记一次命中------连击+1,分数 += 10 + 连击*2,把 1 加入命中记录,若连击 > 最高连击则更新。断绳:调用自制积木断绳处理------把 0 加入命中记录,连击清零,播放轻微提示音。时间到:把状态设为「结束」,广播结算。结算:若分数 ≥ 目标分(如 300)广播过关,否则提示「再练练」。重置:所有变量归位、列表清空,回到「待开始」。
5. 自制积木封装(示例思路)
画场景:绘制地面、计时器、连击显示。跳起动画:绳子角色切到「跳起」造型并上移再回落。记一次命中(加分):把加分逻辑参数化,便于不同难度复用。结算:读出命中记录长度算总跳数、读最高连击与分数弹出结果。
四、运行效果
实际运行后你会看到:
- 倒计时从 30 开始一秒一秒减少,绳子有节奏地摆动;
- 踩准节奏按空格,角色跳起、连击数与分数同步上涨,连击越高分数涨得越快;
- 一旦节奏没踩住或乱按,连击清零、记录里多一个「断绳」;
- 30 秒到弹出结算面板:总跳数、最高连击、总分,以及「过关 / 再练练」评价。
这个过程把「节奏感 + 状态机 + 数据记录」三个能力一次性练到,正是图形化赛事评分里很加分的组合。
五、进阶挑战
想让作品更出彩,可以往这几个方向加料:
- 难度档位 :用变量
节奏间隔控制绳子快慢,简单/普通/困难三档,对应不同目标分。 - 双人轮流:新增第二个玩家列表,用不同按键(如 A / L)切换,比谁连击更稳。
- 音乐同步:用「播放声音」配合节拍,把判定窗口和鼓点对齐,可玩性直线上升。
- 算法对照(Python):判定窗口本质是一个时间区间命中检测,可用下面这段极简逻辑验证你的积木窗口是否准确:
python
def is_hit(press_t, window_start, window_end):
# press_t: 按键时刻(秒);窗口[window_start, window_end]内才算有效跳
return window_start <= press_t <= window_end
# 示例:某次判定窗口为 [0.40, 0.65]
print(is_hit(0.52, 0.40, 0.65)) # True -> 有效跳
print(is_hit(0.20, 0.40, 0.65)) # False -> 提前乱按,断绳
把这段逻辑映射回积木,就是「绳子阶段=2 时记录窗口起止时间,空格按下时比较当前计时」------逻辑完全等价。
小结与互动
「校园跳绳挑战赛」用一个计时窗口把变量、列表、循环、条件、自制积木、广播串成完整闭环,难度不高但考点齐全,很适合作为大创客节图形化赛项的练手项目。建议先搭最小可玩版(单窗口单按键),跑通后再加难度档和音乐同步。
你在大创客节里还做过哪些图形化作品?或者想看我拆解哪类项目(运动计分 / 科普模拟 / 解谜闯关)?欢迎在评论区留言,下一篇我们接着聊。
📚 免费少儿编程资料(夸克网盘领取)
以下资料来自夸克网盘分享,点击链接可直接保存;若需在 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
资料持续更新,关注获取最新分享。