林克睁开眼睛的瞬间,脑海里蹦出的第一个念头是:“我居然没猝死?”
最后一个记忆片段还停留在凌晨四点的办公室——屏幕上爬满红色报错,咖啡杯见了底,心脏像被攥紧的破布。
然后眼前一黑。
现在眼前倒是亮了,亮得有点过分。
刺眼的金色光球悬浮在半空,像颗失控的小太阳,离他的鼻尖不到三十厘米。热浪烤得他脸皮发烫。
“哈!你们看他那呆样!”
“连最基础的光照术都能引发魔法反噬,不愧是咱们学院的传奇人物。”
“留级三年,魔力测试稳定保持在‘枯竭’档,这得是什么天赋?”
哄笑声从四面八方涌来。
林克眨了眨眼,环顾四周。
高高的穹顶上飘着发光的符文,身穿黑袍的学生们围成半圆,脸上写满毫不掩饰的嘲讽。讲台前站着个戴尖顶帽的老教授,正捏着眉心,一副“我受够了”的表情。
陌生的记忆碎片突然砸进脑海。
霍格尼茨魔法学院。魔力枯竭的留级生。今天是期中实战考核,他的考核项目是——零环戏法,光照术。
然后,反噬了。
“林克·温斯顿。”老教授的声音冷得像冰,“这是你这学期第七次引发魔法反噬。学院不是慈善机构,如果你无法证明自己至少能安全施展一个基础法术……”
教授没说完,但意思很明显。
滚蛋吧。
林克低头看自己的手。修长,苍白,指节处有握笔留下的薄茧——这身体的原主应该是个拼命练习却毫无天赋的倒霉蛋。
和他上辈子挺像。
不过区别是,上辈子他靠代码改变世界,这辈子……
等等。
林克的视线停在那个狂躁的光球上。
不,不是在看光球本身。
而是在看光球周围那些扭曲的、闪烁的、密密麻麻的——
“这是什么玩意儿?”
他下意识嘟囔出声。
【警告:检测到未定义魔力操作】
【错误类型:魔力溢出(Stack Overflow)】
【错误位置:基础光照术咒文,第7行,第3字符】
【详细描述:光照强度参数传入错误。预期值范围[1,100],实际传入值:1024】
【建议修复方案:调整参数或增加边界检查】
半透明的蓝色对话框,悬浮在光球旁边。
字体是标准的等宽字符,背景带点毛玻璃效果。右下角甚至还有个小小的“×”关闭按钮。
林克用力眨了眨眼。
对话框还在。
他抬起手,试探性地朝虚空中那个“第7行第3字符”的位置戳了一下。
指尖触碰到某种看不见的“东西”。
像是敲在键盘上。
【正在应用修复……】
【参数‘光照强度’已从1024修正为100】
【重新编译咒文结构……】
【编译成功】
嗡——
刚才还暴躁得像个随时要爆炸的煤气罐的光球,突然温顺下来。光芒收敛成柔和的乳白色,乖乖悬浮在空中,照亮半径两米的范围。
不多不少,正好是标准光照术该有的效果。
全场死寂。
老教授推了推滑到鼻尖的眼镜,动作慢得像卡帧。
围观的同学们张着嘴,表情定格在“嘲讽”切换到“懵逼”的中间状态。
林克自己也懵了。
但他程序员的职业病比懵逼更快一步发作——遇到未知系统,先调出控制台看看。
“所以……”他小声嘀咕,“这个世界的魔法,其实是某种……运行在底层系统的代码?”
他再次看向那团光。
这次不是被动接收错误提示,而是主动去“看”。
视野变了。
光球不再是简单的发光体,而是一团结构化的信息流。咒文的每一个音节、手势的每一个轨迹、魔力的每一条通路,都变成清晰可读的“语句”。
准确说,是一段写得挺烂的脚本。
“光照术.magicscript”,大约15行。第7行有个明显的硬编码错误,把本该动态计算的强度值直接写死了1024。
“难怪会炸。”林克职业病又犯了,“这谁写的?魔法入门教材?这代码风格也太糙了……”
“林克。”
老教授的声音把他拉回现实。
欧文教授,学院高级讲师,专精元素魔法。此刻这位严肃的老法师正用一种全新的、锐利的目光盯着他。
“你刚才做了什么?”
“我……”林克大脑飞转,“呃,调整了一下魔力的……流向?”
“怎么调整的?”
“就是……感觉哪里不对劲,然后往那边按了一下?”
这解释烂得他自己都想捂脸。
但欧文教授没笑。他缓步走下讲台,黑袍在石砖上拖出沙沙声。他在林克面前停下,抬起枯瘦的手,掌心向上。
“再做一次。”
“什么?”
“光照术。再施展一次,在我面前。”
林克咽了口唾沫。
他现在知道怎么看“代码”了,但问题是——他不知道怎么“写”啊!
原主的记忆里倒是有完整的咒文和手势,但那套方法明显有问题,否则也不会留级三年。
“试试直接调用修复后的函数?”
这个念头冒出来时,他自己都觉得荒唐。
但手已经下意识抬起来了。
没有念咒,没有画符文。他只是盯着掌心,脑子里想象着刚才“看”到的那段修复后的代码结构。
【调用:光照术(强度=100)】
魔力从身体深处被抽离——很少的一丝,少到几乎感觉不到——然后在掌心汇聚。
柔和的白色光球“噗”一声出现。
稳稳当当,温温顺顺。
欧文教授的眼睛眯了起来。
“你没有念咒。”
“我……心里默念了。”
“手势也不标准。”
“我觉得……标准手势可能有点冗余动作?”
老教授沉默了足足十秒。
十秒里,林克能听到自己心脏狂跳的声音,能听到后排同学压抑的窃窃私语,能听到窗外风吹过魔法塔尖的呼啸。
“下课后来我办公室。”
欧文教授最终只说了这么一句,转身走回讲台,敲了敲黑板。
“其他人,继续练习!如果你们谁也能‘感觉哪里不对劲就按一下’就能修正反噬,我现在就给他期末优秀!”
哄笑声又响起来,但这次少了嘲讽,多了好奇和难以置信的目光。
林克坐回角落的座位,掌心那团光球还没散去。
他盯着它,视野里依然漂浮着那段简洁的“代码”。
【光照术 v1.01(已修复)】
【状态:运行中】
【消耗魔力:3单位/分钟】
【预估剩余持续时间:29分15秒】
他伸出食指,在光球旁边凭空划了一下。
一个半透明的滑块控件出现在空中,旁边标着“强度:100”。
林克把滑块往左拖到50。
光球立刻暗了一半。
往右拖到150。
光球亮度骤增,但这次没有失控,稳稳维持在新亮度。
“还真是图形化界面啊……”林克喃喃自语,嘴角控制不住地上扬。
那种感觉回来了。
不是穿越成废柴的恐慌,不是面对陌生世界的茫然。
而是深夜三点终于找到bug根源时的兴奋。
而是面对一团乱麻的遗留代码,挽起袖子准备重构时的跃跃欲试。
讲台上,欧文教授正在讲解火球术的魔力压缩技巧。
林克听着听着,职业病又犯了。
“压缩?这不就是算法优化问题吗?如果改用分形递归结构来组织火元素,效率至少提升三倍吧……”
他顺手从桌上扯过一张羊皮纸,拿起羽毛笔——笔尖顿在空中。
然后他笑了。
笑得像个刚拿到新玩具的孩子。
“魔法是代码。”
“咒文是脚本。”
“魔杖……大概就是个编译器?”
“那这个世界——”
他抬起头,看向教室窗外。
高耸的魔法塔刺破云层,飞行的学生在天际划过流光,远处禁林里传来不知名生物的吼叫。
而在这一切表象之下,林克仿佛看到了无数行流淌的、闪烁着微光的源代码。
“——就是个等待重构的系统。”
羽毛笔落下,在羊皮纸上画下第一个流程图节点。
标题他早就想好了。
《关于用面向对象思想重构基础元素魔法的可行性分析》。
至于办公室约谈?
那正好。
他有个关于“如何用调试模式修复自身魔力枯竭BUG”的方案,急需找个本地专家聊聊。
光球在掌心安静燃烧。
林克盯着它,轻声说:
“第一个BUG,修复完成。”
“那么接下来——”
窗外,学院钟楼传来悠远的钟鸣。
新的一天,才刚刚开始。