This repository has been archived on 2026-08-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Hulumath-Web-Demo/docs/数学少年线_story.json
T
2026-08-08 15:49:06 +08:00

1418 lines
45 KiB
JSON

{
"title": "数学少年线",
"author": "MathBTI 剧本组",
"description": "小镇少年没有竞赛奖状,但喜欢数学。从高考录取通知书到直博,完整经历大学数学专业的四年:数分、高代、期中、图书馆、讨论班、科研低谷、申请与毕业。",
"start_node": "c1_notice",
"nodes": {
"c1_notice": {
"scene": "高三暑假,小镇邮递员把录取通知书送到你家门口。\n\n你拆开信封,看到“数学与应用数学专业”。亲戚说:“你也没参加过竞赛,数学系都是聪明人读的。”\n\n你翻开高中那本写满推导的笔记本,想起自己第一次被数学吸引,是因为想把 1 加到 100 的规律看明白。不是快,是那种“再想想就能看清结构”的感觉。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "我想试试",
"next": "c1_gauss_try",
"effects": {
"xinzhi": 5,
"favorability": {
"高斯": 10
}
}
},
{
"text": "先读完一年再说",
"next": "c1_gauss_keep",
"effects": {
"xinzhi": 2,
"favorability": {
"高斯": 5
}
}
}
]
},
"c1_gauss_try": {
"scene": "高斯坐在数学塔里,桌上摊着圆规和尺规。他说:“我 10 岁做 1 加到 100,不是因为我聪明,是因为我愿意把数字排成两行慢慢看。19 岁画正十七边形,我花了一整夜,一步一步推到天亮。”\n\n他看向你:“你愿意试试,就是画下第一笔。”",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "记住这句话",
"next": "c1_gauss_merge",
"effects": {
"shuli": 3
}
}
]
},
"c1_gauss_keep": {
"scene": "高斯说:“我 19 岁发现了非欧几何,却把它锁进抽屉五十年,没有发表。怕不是离开数学的理由,它只是你站在门外的第一级台阶。”\n\n“你愿意读完一年,已经迈出第二级。”",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "收下这句话",
"next": "c1_gauss_merge",
"effects": {
"xinzhi": 3
}
}
]
},
"c1_gauss_merge": {
"scene": "高斯说:“数学不检查你有没有竞赛奖状。它只问,你愿不愿意为一行定义坐到天亮。”\n\n你醒来,录取通知书还压在笔记本下。你在日记第一行写下:“我没有竞赛奖状,但我喜欢数学。今天开始,我试一年。”",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "去学校报到",
"next": "c1_report",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c1_report": {
"scene": "九月的校园,宿舍楼里全是新生。你的室友聊起高中竞赛题,另一个同学已经翻到高数教材第三章。你坐在床沿,第一次觉得“数学系”这三个字有重量。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "先跟室友熟悉,听听他们怎么学",
"next": "c1_room_friendly",
"effects": {
"xiayi": 4
}
},
{
"text": "自己先去图书馆转一圈",
"next": "c1_room_solo",
"effects": {
"shuli": 4
}
}
]
},
"c1_room_friendly": {
"scene": "你跟着室友去自习室。他说:“竞赛学的是技巧,大学学的是证明。技巧可以补,证明得一句一句抠。”他把自己整理的高数笔记借给你。你第一次发现,原来大家也在怕。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "开始预习第一课",
"next": "c1_analysis",
"effects": {
"xiayi": 2,
"xinzhi": 2
}
}
]
},
"c1_room_solo": {
"scene": "你一个人走进图书馆,找到《数学分析》教材。目录里是极限、连续、导数、积分。你翻开第一页,读到“无穷小不是一个数,它是一种承诺”,忽然觉得有什么东西在等你。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把第一章借回去",
"next": "c1_analysis",
"effects": {
"shuli": 3
}
}
]
},
"c1_analysis": {
"scene": "数学分析第一课。老教授在黑板上写下 ε-δ 定义,说:“数学不说差不多,它说精确。”你抄完笔记,发现旁边同学已经写出三个例子。你只写了一行:如果数学是承诺,这句话的 ε 是多少?",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "课后追到讲台问老师",
"next": "c1_ask",
"effects": {
"xinzhi": 3
}
},
{
"text": "先自己啃教材,晚点再问",
"next": "c1_self_study",
"effects": {
"shuli": 3
}
}
]
},
"c1_ask": {
"scene": "教授停下来听完你的问题,说:“你问的是定义背后的东西。很多竞赛生直接跳过这一步,你愿意停下来,反而更适合做数学。”他给你写了一个小例子,让你回去验证。",
"character": "教授",
"sprite": "",
"choices": [
{
"text": "回去慢慢验证",
"next": "c1_algebra",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c1_self_study": {
"scene": "晚自习,你对着 ε-δ 定义读了三遍。第一遍不懂,第二遍知道每个符号,第三遍发现它其实在说“无论多小的误差,我都能做到”。你在页边写下:数学不是算得快,是想得清楚。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "继续做高代作业",
"next": "c1_algebra",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c1_algebra": {
"scene": "高等代数开始讲线性空间。作业里有一道证明题:两个子空间交与和的维数公式。你做了两天,草稿纸铺满桌子。旁边的竞赛生已经写完,你还没有方向。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "跟同学组队讨论",
"next": "c1_group",
"effects": {
"xiayi": 3
}
},
{
"text": "独自死磕到深夜",
"next": "c1_alone",
"effects": {
"shuli": 4,
"xinzhi": 2
}
}
]
},
"c1_group": {
"scene": "三个同学围在一起,有人画维数图,有人写反例。你负责把所有定义抄在中间。讨论到熄灯前,你们终于拼出完整证明。你发现:证明不是一个人孤独地造,是一群人把石头一块一块搬。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把证明重新写一遍",
"next": "c1_midterm",
"effects": {
"shuli": 3,
"xiayi": 2
}
}
]
},
"c1_alone": {
"scene": "凌晨一点,你终于把维数公式证明写完整。它不算漂亮,但每一步你都确定。你在纸上画了一个勾,然后睡了四个小时。第二天早上,你把它重抄一遍,发现更清楚了。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "准备期中考试",
"next": "c1_midterm",
"effects": {
"shuli": 4,
"xinzhi": 2
}
}
]
},
"c1_midterm": {
"scene": "高数期中成绩出来:58 分。你看了一遍卷子,发现有一道 12 分的题不是不会,是时间不够。室友安慰你,你却在想:也许我真的不适合数学系。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "找班主任聊聊",
"next": "c1_advisor",
"effects": {
"xinzhi": 4
}
},
{
"text": "去图书馆把错题重做一遍",
"next": "c1_library",
"effects": {
"shuli": 4
}
}
]
},
"c1_advisor": {
"scene": "班主任说:“58 分不是数学的判决,是你还没找到节奏。竞赛生高一就在做题,你才刚开始。你可以慢,但不要停。”她帮你约了助教的答疑时间。",
"character": "班主任",
"sprite": "",
"choices": [
{
"text": "去图书馆坐到闭馆",
"next": "c1_zu_enter",
"effects": {
"xinzhi": 3
}
}
]
},
"c1_library": {
"scene": "晚上 21:45,图书馆准备闭馆。你坐在窗边,草稿纸写满四张,一道题还是没做完。你把书抱在怀里,准备离开。就在这时,一个身影在你对面坐下。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "抬头看他是谁",
"next": "c1_zu_enter",
"effects": {
"shuli": 2
}
}
]
},
"c1_zu_enter": {
"scene": "祖冲之坐在你对面的椅子上,手边是一堆算筹。他说:“我算圆周率的时候,没有人告诉我什么时候算完。我就一根一根摆,摆到 3.1415926 和 3.1415927 之间。”\n\n“你今晚要不要再摆一根?”",
"character": "祖冲之",
"sprite": "",
"choices": [
{
"text": "问他怎么坚持下来",
"next": "c1_zu_ask",
"effects": {
"xinzhi": 3
}
},
{
"text": "告诉他我想再试一个月",
"next": "c1_zu_write",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c1_zu_ask": {
"scene": "祖冲之说:“我编《大明历》时算回归年,误差只有几十秒。那些秒不是一次算出来的,是每天摆算筹,摆到别人不想再摆。”他笑了一下:“你去找老师,也是把算筹重新摆一次。”",
"character": "祖冲之",
"sprite": "",
"choices": [
{
"text": "接住那根算筹",
"next": "c1_zu_merge",
"effects": {
"xinzhi": 3
}
}
]
},
"c1_zu_write": {
"scene": "你说:“我想再试一个月。”祖冲之把一根算筹推到你面前:“好。你愿意再写一步,就是这根还没放下的算筹。”",
"character": "祖冲之",
"sprite": "",
"choices": [
{
"text": "把书借回去",
"next": "c1_zu_merge",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c1_zu_merge": {
"scene": "祖冲之递来一根算筹:“找到你做不下去的那一年,然后这一年就会成为你自己的 π。不是圆周率——是周率——你围着这个数字走完一圈需要花的时间。”\n\n闭馆铃响,你醒了。你抱着书走出图书馆,在书页里夹了一张纸条:“再试一个月。”",
"character": "祖冲之",
"sprite": "",
"choices": [
{
"text": "开始期末复习",
"next": "c1_final",
"effects": {
"xinzhi": 3
}
}
]
},
"c1_final": {
"scene": "期末前四周,你给自己排了一张表:每天两小时高数、两小时高代,每周重做一次错题。你发现 58 分那道题,现在十分钟就能写完。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "每天固定两小时,雷打不动",
"next": "c1_plan",
"effects": {
"shuli": 3,
"xinzhi": 2
}
},
{
"text": "跟着学长做每周小结",
"next": "c1_summary",
"effects": {
"shuli": 2,
"xiayi": 3
}
}
]
},
"c1_plan": {
"scene": "你按计划走了二十八天。错题本从十页变成三页,最后一周你开始能给别人讲题。你发现,数学的节奏不是比谁快,是比谁愿意重复。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "走进期末考场",
"next": "c1_end",
"effects": {
"shuli": 4,
"xinzhi": 3
}
}
]
},
"c1_summary": {
"scene": "你每周和学长过一遍知识点,他把“会做”和“会证明”分开讲。你慢慢明白:大学数学要的不是背答案,是能说出每一步为什么。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "走进期末考场",
"next": "c1_end",
"effects": {
"shuli": 3,
"xiayi": 3
}
}
]
},
"c1_end": {
"scene": "期末成绩出来,你的高数从 58 分走到 78 分。没有很漂亮,但你知道它不是运气。你在日记里写:“大一上结束。我还在数学系。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "进入大一下",
"next": "c2_start",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c2_start": {
"scene": "大一下,课程变多:数学分析、高等代数、解析几何、概率论。你不再需要别人告诉你“数学难”,你已经开始习惯每天面对证明。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "报名数学学习小组",
"next": "c2_group",
"effects": {
"xiayi": 3
}
},
{
"text": "继续按自己的节奏独自学",
"next": "c2_solo",
"effects": {
"shuli": 3
}
}
]
},
"c2_group": {
"scene": "学习小组每周聚一次。有人擅长算,有人擅长画图,你负责把证明的每一步说清楚。第一次讲完,同学说:“你讲得比书好懂。”你愣了很久。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "继续打磨证明",
"next": "c2_proof",
"effects": {
"shuli": 2,
"xiayi": 2
}
}
]
},
"c2_solo": {
"scene": "你继续一个人泡图书馆。你开始写“证明日记”:每个定理用自己的话重写一遍,再对照书上的语言。慢,但每一步都长在你身上。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "遇到那道卡了三天的题",
"next": "c2_proof",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c2_proof": {
"scene": "一道中值定理的证明题卡了你三天。你试过反证、试过构造辅助函数,草稿纸用完一本。你盯着题目,第一次不是想“我做不到”,而是想“我缺一个定义”。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "去找助教答疑",
"next": "c2_ta",
"effects": {
"xinzhi": 3
}
},
{
"text": "把定义重新整理一遍",
"next": "c2_rebuild",
"effects": {
"shuli": 4
}
}
]
},
"c2_ta": {
"scene": "助教看了你的草稿说:“你已经走到最后一步了,只是没用对辅助函数。”她只提示了一句。你回座位补完最后三行,整道题忽然通了。",
"character": "助教",
"sprite": "",
"choices": [
{
"text": "把完整证明交上去",
"next": "c2_first_proof",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c2_rebuild": {
"scene": "你把连续、可导、中值定理的定义抄在一张纸上,发现题目里的条件你漏了一个。补上之后,证明自己走出来了。你在纸边写:“数学不是灵感,是定义。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把完整证明交上去",
"next": "c2_first_proof",
"effects": {
"shuli": 4,
"xinzhi": 2
}
}
]
},
"c2_first_proof": {
"scene": "作业发下来,老师在你证明的最后写了一句:“证明清楚,思路完整。”没有分数,但你知道那是你的第一个完整证明。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "考虑要不要参加数学建模",
"next": "c2_model",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c2_model": {
"scene": "学校开始宣传数学建模新手赛。你没有竞赛背景,但建模不是比谁算得快,是比谁能把问题翻译成数学。你犹豫要不要报名。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "报名新手赛,试试水",
"next": "c2_model_yes",
"effects": {
"shuli": 2,
"xiayi": 4
}
},
{
"text": "先专注专业课,明年再说",
"next": "c2_model_no",
"effects": {
"shuli": 4
}
}
]
},
"c2_model_yes": {
"scene": "你和两个同学组队,用三天把一道“食堂排队时间”的问题做成线性规划。结果没拿奖,但你们把模型讲清楚了。你在总结里写:“第一次用数学解决真实问题。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "准备期末",
"next": "c2_end",
"effects": {
"shuli": 3,
"xiayi": 3
}
}
]
},
"c2_model_no": {
"scene": "你把时间留给专业课,每周多做一套证明。你发现自己的证明速度变快了,开始能在讨论时跟上别人。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "准备期末",
"next": "c2_end",
"effects": {
"shuli": 4,
"xinzhi": 2
}
}
]
},
"c2_end": {
"scene": "大一下结束,你的绩点从大一上爬回中游。室友说:“你变了。”你看着自己的证明日记,知道变化不是突然发生的。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "进入大二上",
"next": "c3_start",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c3_start": {
"scene": "大二上,你第一次参加讨论班。研二学长在讲格罗滕迪克的模空间,全班都在抄板书。只有你发现,他从第二步跳到第三步时跳了一个引理。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "当众举手指出",
"next": "c3_raise",
"effects": {
"xinzhi": 4
}
},
{
"text": "下课后私下找学长",
"next": "c3_private",
"effects": {
"xiayi": 3
}
}
]
},
"c3_raise": {
"scene": "你举手,教室里安静了两秒。学长回头核对板书,说:“你说得对,我跳了一个引理。”他补上证明,但你注意到后排有人小声说:“他连竞赛都没参加过,居然敢打断学长。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "回到宿舍面对草稿",
"next": "c3_denied",
"effects": {
"xinzhi": 3
}
}
]
},
"c3_private": {
"scene": "下课后你拿着草稿纸走过去,只说了一句:“第三步。”学长看了你写的内容,画了个圈:“你走对了,我准备在第二章补上。”可他又补了一句:“你基础还得再补补,竞赛班的同学大一就学过这些了。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "回到宿舍面对草稿",
"next": "c3_denied",
"effects": {
"xinzhi": 2
}
}
]
},
"c3_denied": {
"scene": "深夜,你把草稿收进抽屉。学长的话、后排的议论、没有竞赛奖状的事实,全在脑子里转。你开始怀疑:我是不是真的不适合数学?",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "明天当众再说一遍",
"next": "c3_noether_public",
"effects": {
"xinzhi": 5
}
},
{
"text": "先把引理写成完整证明",
"next": "c3_noether_private",
"effects": {
"shuli": 5
}
}
]
},
"c3_noether_public": {
"scene": "诺特站在走廊里。她说:“我第一次被否定,是因为女性没有旁听资格,我靠自学考过了全部课程;第二次,没有学校肯雇我,我义务讲课;第三次,抽象代数被说成不是数学,我继续写。”\n\n“第四次,是我自己决定继续。你也可以。”",
"character": "诺特",
"sprite": "",
"choices": [
{
"text": "记住她说的话",
"next": "c3_noether_merge",
"effects": {
"xinzhi": 3
}
}
]
},
"c3_noether_private": {
"scene": "诺特说:“我后来证明了诺特定理,爱因斯坦亲自为我写信争取教职。但在那之前,我只是把被否定的论文改得更完整。”\n\n“被否定不是让你闭嘴,是让你把话说得更完整。你写成证明,就是对世界说的第二遍。”",
"character": "诺特",
"sprite": "",
"choices": [
{
"text": "记住她说的话",
"next": "c3_noether_merge",
"effects": {
"shuli": 3
}
}
]
},
"c3_noether_merge": {
"scene": "诺特说:“世界可以不理解你,但你不能不理解自己。你发现别人忽略的东西,这是数学给你的礼物;你必须说出来,让世界看到这步缺口。”\n\n你把草稿放回桌面,在封面写:“第一次被否定,不是最后一次。”",
"character": "诺特",
"sprite": "",
"choices": [
{
"text": "开始写课程论文",
"next": "c3_paper",
"effects": {
"shuli": 2,
"xinzhi": 3,
"favorability": {
"诺特": 10
}
}
}
]
},
"c3_paper": {
"scene": "这学期有一门课要求写课程论文。你想到讨论班跳过的那个引理,决定把它重新整理出来,再补充一个自己的例子。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "选这个引理做论文题目",
"next": "c3_paper_a",
"effects": {
"shuli": 4
}
},
{
"text": "先帮学长整理讨论班笔记",
"next": "c3_paper_b",
"effects": {
"xiayi": 4
}
}
]
},
"c3_paper_a": {
"scene": "你花了两周把引理写成论文,包括反例和证明。交上去之后,老师找你聊了二十分钟,最后说:“这个整理很有价值,可以投系里的学生论文展。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把论文投出去",
"next": "c3_cited",
"effects": {
"shuli": 4,
"xinzhi": 3
}
}
]
},
"c3_paper_b": {
"scene": "你帮学长整理了三章笔记,顺便把你发现的引理补在附录里。下一次讨论班,学长公开说:“这个附录是学弟补的。”你坐在角落,脸很烫,但心里很亮。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "继续参加讨论班",
"next": "c3_cited",
"effects": {
"shuli": 2,
"xiayi": 4
}
}
]
},
"c3_cited": {
"scene": "一个月后,你的名字出现在系里学生论文展的名单上。没有奖杯,但你在日记里写:“不是竞赛奖状,是我自己写出来的证明。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "进入大二下",
"next": "c4_start",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c4_start": {
"scene": "大二下,期末周。你连续一周熬夜刷题,眼睛酸到看不清公式。手机亮起妈妈的未接来电,你犹豫要不要接。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "合上书,回宿舍睡觉",
"next": "c4_sleep",
"effects": {
"xiayi": 2,
"xinzhi": 5
}
},
{
"text": "定 10 分钟闹钟,再写一道题",
"next": "c4_boundary",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c4_sleep": {
"scene": "你合上书,给妈妈回电话。她说:“你从小就这样,累了从来不说。”你忽然哭了。不是难过,是有人不用等你开口就知道你在累。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "睡到天亮",
"next": "c4_euler_merge",
"effects": {
"xinzhi": 4
}
}
]
},
"c4_boundary": {
"scene": "你定好 10 分钟闹钟,写完最后一道题,然后合上书。你发现那道题其实早就做完了,你只是不敢停下来。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "带着边界睡下",
"next": "c4_euler_merge",
"effects": {
"shuli": 3,
"xinzhi": 2
}
}
]
},
"c4_euler_merge": {
"scene": "欧拉坐在书桌旁,桌上堆着 886 篇论文的草稿。他说:“我死后留下的手稿还够出版 50 年,但数学不是债主。”\n\n他在纸上写下 e^(iπ)+1=0,说这一行公式装进了数学里最重要的五个常数。“美不是熬出来的,是你活着时才能看见的。”",
"character": "欧拉",
"sprite": "",
"choices": [
{
"text": "重新安排作息",
"next": "c4_balance",
"effects": {
"xinzhi": 3,
"favorability": {
"欧拉": 10
}
}
}
]
},
"c4_balance": {
"scene": "期末结束后,你重新安排生活:每天十二点前睡,每周给妈妈打两次电话,周末留半天不碰数学。你发现,休息之后做题反而更清楚。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "报名数学建模校赛",
"next": "c4_model",
"effects": {
"xiayi": 4
}
},
{
"text": "加入数学史读书会",
"next": "c4_book",
"effects": {
"xinzhi": 3
}
}
]
},
"c4_model": {
"scene": "校赛题目是“城市公交调度”。你负责建模,队友负责写代码。三天后你们交出一份带敏感性分析的报告,拿了校三等奖。你把奖状寄回家,妈妈第一次说“数学还挺有用”。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "结束大二",
"next": "c4_end",
"effects": {
"shuli": 3,
"xiayi": 3
}
}
]
},
"c4_book": {
"scene": "读书会每周读一位数学家。你读到欧拉失明后口述论文,也读到诺特义务讲课。你发现数学史不是成功史,是一群人在被否定里继续走。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "结束大二",
"next": "c4_end",
"effects": {
"xinzhi": 4
}
}
]
},
"c4_end": {
"scene": "大二结束,你站在数学楼的走廊里,看见讨论班的教室还亮着灯。你不再觉得自己是误入数学系的人。你只是走得慢一点,但方向没变。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "进入大三上",
"next": "c5_start",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c5_start": {
"scene": "大三上,导师办公室里。导师问你:“要不要继续读数学?如果继续,你想研究什么方向?”你面前有两张纸,一张写着数论,一张写着代数几何。",
"character": "导师",
"sprite": "",
"choices": [
{
"text": "数论/分析,从 1 加到 100 和那道题继续",
"next": "c5_number",
"effects": {
"shuli": 5
}
},
{
"text": "代数/几何,从诺特讲的结构继续",
"next": "c5_structure",
"effects": {
"shuli": 5,
"favorability": {
"诺特": 5
}
}
}
]
},
"c5_number": {
"scene": "高斯说:“我 19 岁画正十七边形,后来选择数论,不是因为我是天才,而是因为那个问题让我睡不着。”\n\n“你从 1 加到 100 走到这里,已经证明你可以选择数学。”",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "继续听",
"next": "c5_gauss_merge",
"effects": {
"shuli": 2
}
}
]
},
"c5_structure": {
"scene": "高斯说:“非欧几何我锁了五十年,因为要先确认它是对的。”\n\n“你选择结构,不是逃避数论,是选择另一个值得失眠的问题。”",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "继续听",
"next": "c5_gauss_merge",
"effects": {
"shuli": 2
}
}
]
},
"c5_gauss_merge": {
"scene": "高斯说:“你走的每一条路,都有人在你之前走过。你要做的,是比你之前的自己把草稿更清楚一点。然后你就睡。”\n\n你走出办公室,导师给你一份书单和一个小课题。",
"character": "高斯",
"sprite": "",
"choices": [
{
"text": "接下课题",
"next": "c5_project",
"effects": {
"xinzhi": 3,
"favorability": {
"高斯": 10
}
}
}
]
},
"c5_project": {
"scene": "导师给的小课题是“一个经典问题的重新整理”。你发现读论文比做题难得多:符号陌生,假设很多,每一步都要自己验证。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "按导师建议从经典问题入手",
"next": "c5_classic",
"effects": {
"shuli": 4
}
},
{
"text": "从课内问题自己延伸",
"next": "c5_extend",
"effects": {
"xinzhi": 4
}
}
]
},
"c5_classic": {
"scene": "你从导师给的经典问题开始,先抄一遍原证明,再逐条补理由。两周后,你终于能不看笔记讲出证明框架。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "写下第一篇研究笔记",
"next": "c5_notes",
"effects": {
"shuli": 4
}
}
]
},
"c5_extend": {
"scene": "你把课内一道习题改成开放问题:去掉一个条件,结论还成立吗?你花了一周找到反例,又在反例里发现一个更小的规律。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "写下第一篇研究笔记",
"next": "c5_notes",
"effects": {
"shuli": 4,
"xinzhi": 2
}
}
]
},
"c5_notes": {
"scene": "你的第一篇研究笔记只有五页,但你给它编了号:M-001。你在封面上写:“这是我的第一个问题,不是最后一个。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "进入大三下",
"next": "c6_start",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c6_start": {
"scene": "大三下,科研课题卡住了。你读不懂一篇论文,导师说“慢慢来”,你却在深夜刷到新闻:AI 证明了新的数学猜想。评论区说“纯数完了”。你盯着天花板:那我算什么?",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "关掉手机继续算",
"next": "c6_keep",
"effects": {
"xinzhi": 5
}
},
{
"text": "失眠一夜,去查诺特的资料",
"next": "c6_find",
"effects": {
"shuli": 3
}
}
]
},
"c6_keep": {
"scene": "你关掉手机,在黑屏的反光里看见自己的脸。你在笔记本上写:“AI 能证明定理,但它能选择证明哪一个吗?”然后你继续读那篇论文,一行一行。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "去见导师",
"next": "c6_noether_merge",
"effects": {
"xinzhi": 3
}
}
]
},
"c6_find": {
"scene": "你搜索诺特,读到她的遗言:“不要怕 AI。AI 不会自己决定下一步,但你可以。”你写了一行回信:“你等了一百年,机器还没来。我替你等。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "去见导师",
"next": "c6_noether_merge",
"effects": {
"xinzhi": 4
}
}
]
},
"c6_noether_merge": {
"scene": "诺特说:“我也曾被否定三次。第四次不是世界给我机会,是我自己决定继续。”\n\n“意义不是头衔,是你选择继续的那个问题。AI 可以做证明,但选择证明哪一个是人。”",
"character": "诺特",
"sprite": "",
"choices": [
{
"text": "把大问题拆小",
"next": "c6_mentor",
"effects": {
"xinzhi": 3,
"favorability": {
"诺特": 10
}
}
}
]
},
"c6_mentor": {
"scene": "导师说:“你卡住不是因为笨,是因为问题太大。先做一个你能完全掌握的小引理,再往大问题走。”她把你论文里最难的部分划掉,留了一个缺口。",
"character": "导师",
"sprite": "",
"choices": [
{
"text": "先做那个小引理",
"next": "c6_lemma",
"effects": {
"shuli": 4
}
},
{
"text": "换一个更简单的模型",
"next": "c6_simple",
"effects": {
"xinzhi": 3
}
}
]
},
"c6_lemma": {
"scene": "你花了两周把小引理做出来。它很小,但每一步你都清楚。你在讨论班上讲了十分钟,第一次有人在你讲完后提问。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把结果写进笔记",
"next": "c6_seminar",
"effects": {
"shuli": 4,
"xinzhi": 3
}
}
]
},
"c6_simple": {
"scene": "你换了一个更简单的模型,把原来的复杂结构映射进去。你在简单模型里发现了规律,再试着把它搬回原来的问题。虽然还没成功,但你终于知道下一步该做什么。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "把结果写进笔记",
"next": "c6_seminar",
"effects": {
"shuli": 3,
"xinzhi": 3
}
}
]
},
"c6_seminar": {
"scene": "你在讨论班讲了自己的小结果。学长说:“这个例子很有用。”你的名字第一次出现在讨论班的讲义里。不是竞赛奖状,是你自己走出来的。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "决定申请直博",
"next": "c7_start",
"effects": {
"shuli": 3,
"xinzhi": 4
}
}
]
},
"c7_start": {
"scene": "大四上,所有人都开始选择:找工作、考研、出国、直博。你站在公告栏前,看见直博申请通知。没有竞赛奖状的你,第一次要认真说出“我想继续学数学”。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "申请本校直博",
"next": "c7_local",
"effects": {
"xinzhi": 3
}
},
{
"text": "同时申请外校",
"next": "c7_outside",
"effects": {
"xiayi": 3,
"xinzhi": 2
}
}
]
},
"c7_local": {
"scene": "你去找导师说想读直博。她说:“我看了你三年,你适合。”她愿意做你的导师。你拿着表格走出办公室,手有点抖。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "开始写个人陈述",
"next": "c7_ps",
"effects": {
"xinzhi": 3
}
}
]
},
"c7_outside": {
"scene": "你申请了三所学校,包括一所外校。你在邮件里问能否旁听讨论班,收到一封回信:“欢迎来听。”你第一次觉得自己被数学圈接纳。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "开始写个人陈述",
"next": "c7_ps",
"effects": {
"shuli": 2,
"xiayi": 3
}
}
]
},
"c7_ps": {
"scene": "个人陈述要写 800 字。你写了四版,每一版都在问:我为什么要学数学?",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "写四年低谷与成长",
"next": "c7_ps_growth",
"effects": {
"xinzhi": 4
}
},
{
"text": "写自己最想研究的问题",
"next": "c7_ps_problem",
"effects": {
"shuli": 4
}
}
]
},
"c7_ps_growth": {
"scene": "你写:没有竞赛奖状,大一期中 58 分,在图书馆 21:45 决定再试一个月,第一次完整证明,第一次被否定,第一次在讨论班讲自己的结果。你写到最后发现,那不就是数学吗。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "提交材料",
"next": "c7_interview",
"effects": {
"xinzhi": 4
}
}
]
},
"c7_ps_problem": {
"scene": "你写:我想研究那个让我睡不着的问题,它从一道做不出的题开始,现在长成一页研究笔记。你不知道答案,但你知道怎么开始。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "提交材料",
"next": "c7_interview",
"effects": {
"shuli": 4
}
}
]
},
"c7_interview": {
"scene": "面试那天,五位老师坐在对面。有人问:“你没有竞赛背景,凭什么读直博?”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "老实说,我喜欢数学,且一直在证明它",
"next": "c7_interview_honest",
"effects": {
"xinzhi": 4
}
},
{
"text": "讲一道自己完整做出来的题",
"next": "c7_interview_problem",
"effects": {
"shuli": 4
}
}
]
},
"c7_interview_honest": {
"scene": "你说:“我没有竞赛奖状,但我在数学系待了三年半,每一次想放弃都选择留下。我喜欢数学,而且我用证明证明过这件事。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "等待结果",
"next": "c7_offer",
"effects": {
"xinzhi": 4
}
}
]
},
"c7_interview_problem": {
"scene": "你走上黑板,讲了你做出来的那道中值定理证明,又讲了研究笔记里的小引理。讲完,主考官点了点头:“你很清楚你在做什么。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "等待结果",
"next": "c7_offer",
"effects": {
"shuli": 4
}
}
]
},
"c7_offer": {
"scene": "一个月后,你收到直博录取邮件。你盯着屏幕看了很久,然后给妈妈打了电话。她说:“我就知道你走得下去。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "回到宿舍",
"next": "c8_night",
"effects": {
"shuli": 3,
"xinzhi": 5
}
}
]
},
"c8_night": {
"scene": "大四毕业前夜,你坐在宿舍窗边。面前是大一录取通知书、图书馆借书卡、被否定的草稿、妈妈的通话记录。你收到直博录取后,一直没合眼。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "在录取通知书背面写“我继续”",
"next": "c8_write",
"effects": {
"xinzhi": 5
}
},
{
"text": "给高中老师和妈妈打电话",
"next": "c8_call",
"effects": {
"xiayi": 5,
"xinzhi": 3
}
}
]
},
"c8_write": {
"scene": "你在录取通知书背面写下一行字:“我继续。”笔尖停了一下,然后你写完整个句子:“我继续学数学,不是因为赢过谁,是因为我想一直做下去。”",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "收好通知书",
"next": "c8_noether_merge",
"effects": {
"xinzhi": 3
}
}
]
},
"c8_call": {
"scene": "你给高中老师打了电话,老师说:“当年你说要学数学,我们都觉得你会后悔。你证明我们错了。”你笑着挂了电话,又打给妈妈。",
"character": "旁白",
"sprite": "",
"choices": [
{
"text": "听妈妈说完",
"next": "c8_noether_merge",
"effects": {
"xiayi": 3,
"xinzhi": 3
}
}
]
},
"c8_noether_merge": {
"scene": "诺特说:“定理比我们活得更久——但意义是我们写的。你从没有竞赛奖状的小镇来,现在带着一个问题离开——这就是数学给你的路。”",
"character": "诺特",
"sprite": "",
"choices": [
{
"text": "翻开第一页研究计划",
"next": "c8_phd",
"effects": {
"shuli": 5,
"xinzhi": 5,
"favorability": {
"诺特": 10
}
}
}
]
},
"c8_phd": {
"scene": "直博第一年。你把录取通知书夹进新的笔记本,在第一页写下:\n\n“二十岁之前我以为数学是答案。二十岁之后我知道数学是问题。我选择了一个问题,然后用一生去回答它——不是给我自己,是给下一个坐在窗边写草稿的人。”\n\n窗外天亮了。你的数学,刚刚开始。",
"character": "主角",
"sprite": "",
"choices": []
}
}
}