{
  "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": []
    }
  }
}