高考真题刷题闯关 · 模式设计速查手册

题库底座:34 专题 / 2055 题(2017–2026)· 配套可交互原型已实现全套规则 · v1.0
2055
已结构化真题
5
开局模式
30
等级上限
12
首期勋章
7天
抽题冷却期
1·2·4·7·15·30
错题间隔(天)
三条底线(防游戏化反噬学习):① 审题区零干扰——题干/选项区不做任何动效,动画只出现在提交后的反馈层且 ≤0.6s 自动收起;② 不惩罚——答错也给保底经验与金币,不设体力、不扣星、断签不清零;③ 不诱导沉迷——连续 30 分钟弹休息提醒。

① 核心流程状态机

IDLE营地待命 SETUP范围/难度/题量 DRAWING抽题+防重复 BATTLING答题循环 SETTLEMENT结算星级 REWARD发奖/勋章 REVIEW复盘/错题入本 → 错题重刷回到选题,形成闭环 SUBMITTED判题引擎 JUDGED对错+解析 还有题 提交 EMPTY题量不足→放宽 PAUSED24h 内可续答 虚线=异常分支 EMPTY:候选池为 0 → 依次放宽 冷却→今日去重→难度±1星→补最久未做 PAUSED:切后台/主动退出,保存 progress,超 24h 作废且不计入排行榜 ABORTED:主动放弃,已答题计入历史,本轮不计连击/段位,不扣分

单题内部循环

QUESTION_SHOWN(题干渲染,开始计时)
   ├─ 选择题:点选选项 → ANSWERING(高亮,可改选)
   ├─ 填空题:输入 + 数学符号面板 → ANSWERING
   └─ 解答题:勾选关键步骤 + 自评(对 / 半对 / 错) → ANSWERING
   ▼ 提交(⚠️ 默认「点选即提交」,设置可切换为双段确认)
SUBMITTED(0.3s:按钮锁定 + 缩放反馈)
   ▼ 判题引擎
JUDGED
   ├─ 正确 → 绿横幅 + 上扬音 + Combo+1 + 掉落 EXP/金币(≤0.6s)
   └─ 错误 → 红横幅 + 低沉音 + Combo 归零 + 高亮正确项
   ▼ 「看解析」展开(计时暂停)· 「加入错题本」· 「下一题」

② 开局设定

三维选关

维度选项
范围34 专题 / 考点 / 老师预设包(可多选)
难度简单 ★-★★ · 中等 ★★★ · 困难 ★★★★+ · 混合(默认,3:5:2 配比)
题量热身 5 · 标准 10(默认) · 加练 20 · 自定义 1–50

五种开局模式

模式规则
⚡ 快速闯关按筛选随机抽,无计时,可续答
🎯 专题攻坚锁定 1 专题,星级递增;通关(≥80%)解锁下个专题
📕 错题重刷只抽到期错题,不受冷却限制,连对 3 次毕业
⏱ 限时模拟按高考结构组卷,倒计时,交卷后统一判定
🌟 每日一关全库随机 10 题,难度自适应 ±0.5 星,金币 ×2

抽题算法(防短期重复)

候选池 = 满足筛选 且 status=online 且 clean_level ≤ 1

排除三重:① 近 7 天已作答(冷却池)
         ② 本轮已抽
         ③ 当日已抽(跨轮次防重复)

不足时依次放宽:解除冷却 → 解除当日去重 → 难度 ±1 星 → 补「最久未做」
              (每次放宽在页面顶部提示「已补充 N 道同类题」)

加权随机(非纯随机,避免连续同难度):
  weight = 0.5×难度匹配度 + 0.3×未做时长 + 0.2×薄弱专题加成
  其中 薄弱专题加成 = 该专题正确率 < 60% 则 +0.3
⚠️ 默认假设:冷却期 7 天(可改 30 天);错题重刷不受冷却限制;抽题不做知识点去重(真题本身混合);每日去重当日 0 点清空。

③ 答题交互与判题规则

题型交互判定计分
单选题4 张选项卡片点选精确匹配对=1,错=0
多选题多选卡片,可反选集合相等全对=1,漏选=0.5,含错选=0
填空题输入框 + 数学符号面板,多空多框归一化等价判定按空给分 对空数/总空数
解答题勾选关键步骤 + 自评(对/半对/错)学生自评按小问加权

填空题归一化流水线(判题核心)

1. 去首尾空白;全角转半角          2. 删除空格、$,统一 ×·∗ → *
3. 删除千分位逗号                  4. \frac{a}{b} ≡ a/b ≡ a÷b
5. √[n]{a} ≡ a^(1/n)               6. 大小写统一小写
7. 集合/区间元素排序后比较({2,1} ≡ {1,2})
8. 双通道比较,满足任一即判对:
   通道A 字符串等价(归一化后)    通道B 数值近似(相对误差 < 1e-6)
9. 多空按顺序比较;order_insensitive=1 时允许乱序
10. 备选答案 answer_alt 数组,任一命中即判对
已实测通过的等价判定:1/2 ≡ 0.5 · 36π ≡ 36pi ≡ 36*π · √12 ≡ 2√3 · 全角1/2 ≡ 1/2 · {1,2} ≡ {2,1} · -1/2 ≡ -0.5

判错后展示顺序(固定)

① 对错横幅(0.6s,含音效)→ ② 你的答案 vs 正确答案(并排)→ ③ 解析抽屉(默认收起,展开时暂停计时)→ ④ 考点标签 +「再来一道同类题」

④ 奖励机制(数值)

经验值 EXP

基础 EXP = 10 × 难度系数 × 题型系数
难度系数  ★0.8  ★★1.0  ★★★1.3  ★★★★1.7  ★★★★★2.2
题型系数  选择 1.0 · 填空 1.2 · 解答 1.5
连击加成  ×1.0 / 1.1 / 1.2 / 1.3 / 1.5(5-7) / 1.8(8-11) / 2.0(12+封顶)
首答加成  首次作答且答对 ×1.5        订正加成  错题重刷答对 ×0.5
答错      EXP = 基础 × 0.3(保底 3 分,不因难度归零)

示例:3 星填空题 · 连击 5 · 首答答对 → 10 × 1.3 × 1.2 × 1.5 × 1.5 = 35 EXP

等级表(升到 Lv(n+1) 所需 = 100 + 50(n-1) + 5(n-1)²)

升级本级所需累计 EXP参考轮次* 升级本级所需累计 EXP参考轮次*
Lv1→2100100<1 轮Lv14→151,59510,04539 轮
Lv2→31552551 轮Lv19→202,62020,99581 轮
Lv3→42204752 轮Lv24→253,89537,820145 轮
Lv5→63801,1504 轮Lv29→30 满级5,42061,770238 轮
Lv9→108203,72014 轮* 每轮 10 题 / 平均 3 星 / 正确率 70% / 带连击 ≈ 260 EXP

按每天 1 轮 + 错题重刷,一学期(120 天)约到 Lv22–26。嫌慢可把系数整体 ×0.7(满级累计降至约 43,000)。

金币 Coin

金币 = 5 × 难度系数 × 题型系数 × 连击加成(不乘首答 1.5)
答错 = 2 金币(参与奖)     每日首胜(正确率 ≥60%)= +30 金币
道具价格效果
提示卡15排除一个错误选项,本题 EXP ×0.6
解析提前解锁20结算前即可看解析
连击保护卡30抵消一次 Combo 归零
补签卡50补一次断签
错题加速券40重置一道错题的复习间隔
头像框 / 皮肤80–300纯外观

连击 Combo 里程碑

连击称号即时奖励特效强度
3手感来了+5 金币轻微(文字飘出)
5状态火热+15 金币中等(火焰边框 0.5s)
8势不可挡+30 金币中等(数字放大+光晕)
12无人能挡+60 金币 + 保护卡×1强(边缘流光 0.8s)
20二十连斩+150 金币 + 勋章极强(全屏粒子 1.0s,可降级)

⚠️ 连击不跨轮次(每轮重置),避免攒连击变成负担。

段位(赛季制,与等级并行)

赛季积分 = Σ(答对题数 × 难度系数 × 10) + 满分轮奖励(每轮 +200)      ⚠️ 赛季 4 周重置
段位积分段位积分段位积分
🟤 青铜0–499🔵 铂金3,000–4,999🟣 星耀8,000–11,999
⚪ 白银500–1,499💠 钻石5,000–7,999👑 王者12,000+
🟡 黄金1,500–2,999

签到 · 每日任务 · 勋章

连续天数奖励
1 / 2 / 3 天5 / 8 / 12 金币
4 / 5 / 6 天18 / 25 / 35 金币
第 7 天50 金币 + 宝箱(10–100 金币 / 保护卡 / 提示卡×3)

7 天循环;断签不清历史,只重置连续天数;50 金币补签(每周 1 次)。签到当天完成每日一关,金币 ×2。

每日任务奖励
完成 1 轮(≥10 题)+20 EXP +10 金币
订正 5 道错题+30 EXP +15 金币
本日正确率 ≥70%+10 金币
全部完成宝箱 +50 EXP +30 金币
勋章(首期 12 枚)条件稀有度
🌱 初露锋芒完成第 1 轮普通
💯 百题斩累计 100 题普通
🔥 千题斩累计 1000 题史诗
🎯 全对一轮单轮 10 题全对稀有
⚔️ 二十连斩单轮连击 20史诗
🏅 专题征服者某专题 30 题且 ≥85%稀有
📅 签到 7 天连续签到 7 天普通
🗓️ 签到 30 天连续签到 30 天稀有
✨ 错题终结者错题本清空史诗
👑 压轴克星答对 50 道 4 星+史诗
🌅 早起鸟6–8 点完成一轮普通
🏮 十年贯通10 个年份均有作答传说

稀有度:普通=灰 稀有=蓝 史诗=紫 传说=金。只有史诗及以上才触发全屏动画,其余仅右下角 toast。

⑤ 留存与复盘

错题本间隔重刷(SM-2 简化版)

新增错题:interval = 1 天,wrong_count = 1,right_streak = 0

重做答对 → right_streak +1,interval 沿序列前进:
           1 → 2 → 4 → 7 → 15 → 30 → 60(封顶)
           right_streak 达到 3 → 错题「毕业」,移出活跃本(保留归档)

重做答错 → right_streak 归零,wrong_count +1,interval 重置为 1 天
           wrong_count ≥ 3 → 标记「顽固错题」

顽固错题:不受间隔限制,每天必出现在「今日必刷」,直到连续答对 2 次解除
到期判定:next_review_at = last_review_at + interval_days;首页红点显示待复习数
⚠️ 默认假设:毕业 = 连续答对 3 次;每日错题重刷上限 20 题;错题重刷不受冷却期限制。

正确率看板维度

  • 总体 大数字 + 近 30 天折线
  • 专题雷达 34 专题(默认只显示作答 ≥5 题的)
  • 题型 选择/填空/解答 三柱
  • 难度 ★1–★5 五段柱状
  • 年份 2017–2026 折线(发现"某年特别难")
  • 薄弱提醒 正确率 <60% 的专题首页置顶,点击直接生成 10 题专项

长期目标

  • 等级进度条 首页常驻 Lv + EXP/本级所需
  • 专题征服进度 ≥30 题且 ≥85% 点亮徽章
  • 段位 赛季 4 周,保级/晋级提示
  • 勋章墙 已解锁彩色,未解锁灰色剪影(保留悬念)
  • 十年年鉴 每年份答题数,集齐 10 年得勋章
  • 排行榜 班级榜(本周 EXP)+ 全校榜(赛季积分),⚠️ 默认关闭

⑥ 页面结构(9 个页面)

P1 营地
等级条 · 签到 · 今日任务 · 4 大入口 · 薄弱提醒 · 待复习红点 · 最近战绩
P2 选关
范围 chips / 难度三档 / 题量四档,右侧实时显示可用题量
P3 答题
进度条 + 连击 + 计时;题干纯白卡片;选项卡/输入框;提交
P4 判定层
覆盖题干下方的横幅(非全屏):对错 + 正确答案 + 看解析
P5 结算
星级动画 + 正确率 + EXP/金币滚动 + 勋章 + 错题清单
P6 复盘
逐题列表,展开解析,手动加入错题本
P7 错题本
待复习 / 顽固 / 全部 / 已毕业,批量重刷
P8 成长
正确率看板 + 难度分布 + 勋章墙 + 设置
P9 排行榜
班级/全校 Tab,昵称脱敏,我的排名悬浮

关键交互

元素规则
题干区纯白卡片、圆角 12px、字号 17px、行高 1.8、零动效;公式 KaTeX 渲染字号 +1
选项卡片高 56px、间距 10px;选中用 2px 主色边框 + 淡蓝底 #EEF2FF,不用阴影跳动
提交按钮未答时置灰不可点;已答主色实心
计时⚠️ 单题默认不计时(可选 90s/题);整轮计时仅用于统计
退出二次确认「已答 N 题,退出后本轮作废?」→ 保存进度 / 退出
深浅色⚠️ 默认浅色,提供深色(晚自习);深色下题干区为 #1E1E1E 而非纯黑

⑦ 数据结构

题库表 questions(已产出 2055 题,见 questions.json / .csv)

字段类型说明示例
qidstring唯一 ID:专题-考点-题序08-01-003
topic / topic_namestring专题号 / 专题名08 / 专题08 数列小题综合
knowledge / knowledge_namestring考点编号+名考点01 数列的概念
yearint年份2025
paper / paper_seriesstring卷种 / 卷系全国一卷 / 新高考卷
qtypestring选择题 / 填空题 / 解答题选择题
multibool是否多选false
starint难度星级 1–53
difficultyfloat难度分 0–1(连续值,用于加权抽题)0.3732
stem / stem_latexstring题干原文 / LaTeX 版(🔧 待清洗)
optionsobject{A,B,C,D}{A:"{0,1}",...}
answer / answer_normstring原始答案 / 规范化答案(判题用)C
answer_altarray等价答案列表(填空题)["1/2","0.5"]
blank_count / subq_countint填空空位数 / 解答题小问数2
analysis / solution / tipstring【分析】/【详解】/【点睛】
tagsarray方法标签["裂项","累乘"]
order_insensitivebool多空是否乱序匹配false
clean_levelint0 可直接用 / 1 轻度 / 2 需人工0
status / version / source_fileonline/draft/disabled,修订版本,来源
当前题库体检:2055 题 / 34 专题 / 2017–2026 年;选择 837 · 填空 509 · 解答 709;多选 64 道;难度分覆盖 100%;答案覆盖 2051;837 道选择题全部有 options 结构。

答题记录 attempts

字段说明字段说明
attempt_idUUIDscore0–1(漏选 0.5)
user_id / qid / session_id关联time_used_ms本题耗时
modequick/topic/wrong/timed/dailyused_hint / used_protect是否用提示/保护卡
seq_in_round本轮第几题combo_at_time作答时连击
user_answer / _norm作答原文 / 归一化exp_gain / coin_gain获得数值
correct是否判对submitted_at / is_first_attempt时间 / 是否首答
review_sourcenew / wrongbook / retry

轮次 sessions

session_id · user_id · mode · filters{topics,knowledge,stars,qtypes,count} · started_at · finished_at · total · correct_cnt · accuracy · max_combo · exp_gain · coin_gain · duration_ms · stars · passed · state(battling/settled/paused/aborted) · progress
星级规则:正确率 ≥90% → 3 星;≥70% → 2 星;≥60% → 1 星;<60% → 0 星(仍给奖励)

用户 user_profile 与错题本 wrongbook

user_id · nickname · avatar · class_code · exp · exp_total · level · coins · total_answered · total_correct · accuracy · max_combo_ever · streak_days · last_checkin · season_score · rank_tier · settings{sound,reduceMotion,theme,clickToSubmit,rankVisible} · created_at

qid · user_id · first_wrong_at · last_wrong_at · last_review_at · wrong_count · right_streak · interval_days · next_review_at · stubborn · graduated · marked · wrong_answers[]

其他表

medals(code/name/rarity/category/condition_json/icon)· user_medals(got_at/seen)· checkin(date/day_index/reward/is_makeup)· daily_tasks(progress/target/done/claimed)· shop_items / inventory · leaderboard(视图:scope/nickname_masked/level/week_exp/season_score/rank)

阶段存储方案
MVP 单机localStorage(单用户约 2 万条 ≈ 5MB 够用),题库 JSON 打包进前端
V1 班级IndexedDB + 后端 API,题库走 CDN 静态 JSON
V2 多班级题目表 + 记录表分库,题库建 ES 索引(支持题干搜索)

⑧ 视觉与音效

配色

用途色值
主色(专注/按钮)#4F6EF7 靛蓝
辅助(奖励/金币)#FF7A45 珊瑚橙
成功 / 错误 / 警告#22C55E / #EF4444 / #F59E0B
背景 / 卡片 / 正文#F7F8FC / #FFFFFF / #1F2937

圆角:卡片 12 / 按钮 10 / 标签 6;正文 15px、题干 17px、标题 20px;动效默认 cubic-bezier(.4,0,.2,1)

反馈清单

事件视觉 / 音效时长
判对绿横幅滑入 + 单音 C5→E50.4s
判错红横幅 + 正确项闪 2 次 + 低音 G30.5s
连击 +1Combo 弹跳 + "ding"(音高递增)0.2s
EXP/金币数字滚动 + 金币飞入钱包0.8s
升级徽章放大 + 光环 + 上行琶音1.2s(唯一 >1s)
得勋章卡片 3D 翻转 + 金属敲击1.0s
⚠️ 首次进入默认静音,顶部常驻喇叭开关;支持系统 prefers-reduced-motion 自动减弱动效。
「年轻活泼但不干扰审题」的落地原则:活泼感只放在按钮、等级徽章、连击数字、奖励弹窗、勋章墙;题干、选项、解析一律克制(白底黑字无装饰)。

⑨ 默认假设清单(请逐条确认)

⑩ 落地路线与当前卡点

阶段周期交付
MVP1 周可玩原型:选关→答题→判定→结算→奖励→错题本;题库用 A 档 300–600 题;localStorage 存档 原型已完成
V12–3 周接入全量题库(B 档清洗);IndexedDB;本地排行榜;勋章全量;教师导入题包
V24–6 周后端账号同步;班级/校榜;教师端(布置作业、班级看板);解答题拍照批改
V3自适应难度(IRT);知识点掌握度诊断;薄弱点自动组卷;错题同类推荐
🔧 当前最大卡点:公式清洗。题库题干来自 PDF 抽取,公式存在断行与乱码,例如 A ={sin ,cos ,tan } + { 6 3 4 } 实为 A={sin(π/6),cos(π/3),tan(π/4)}
建议三档推进:A 档先上「公式简单」的题(集合、复数、程序框图、统计,约 400–600 题,0.5 天)→ B 档规则批量还原 + 人工抽检(+40%,2–3 天)→ C 档压轴/解答题人工 LaTeX 重排(持续)。
默认建议:先用 A 档做 MVP 上线,同时并行推 B 档。

附:交付文件

文件说明
闯关原型.html可交互原型,全流程可玩(内置 32 道精编真题,覆盖 11 个板块)
高考真题刷题闯关_模式设计说明书.md完整说明书(本页为速查版)
questions.json / questions.csv结构化题库 2055 题
build_question_bank.py题库结构化脚本(可重复运行)
_report.md / _test.js抽取体检报告 / 核心逻辑冒烟测试(43 项全通过)