第二十八章 夜晚的授课(上)(2 / 2)
而且他既然已经知道了创造魔法的步骤,再加上早就在脑子里演化了无数次的构想,以及背后有着一套完整的现代科学体系支撑。“所谓的创造魔法不就是编程吗?瞧不起谁呢!”莱茵给自己打气道。
“定义程序的目标、设计程序、编写代码、编译、运行程序、测试和调试程序、维护和修改程序。”莱茵在脑海中搜寻着有关大学时期的记忆,因为他会的编程正是在大学四年时间里自学的,毕业后也没怎么用过,没想到在异世界用上了。
没过多久,伊蕾娜便拿着魔杖回来了。为了树立老师的威严,为了证明自己的猜想,莱茵决定硬着头皮给伊蕾娜现场演示一遍什么是魔法。“眼睛瞪大了啊,我就展示一次。”
莱茵拿起妮可的魔杖后,再次陷入了回忆。
“动手写魔法之前,要在脑中有清晰的思路。想要魔法去做什么首先自己要明确自己想做什么,思考我的魔法需要哪些信息,要进行哪些演变和控制。在这一步骤中,不涉及具体的术式咒文,就单纯是用文字来描述问题。”
“在对魔法应该完成什么任务有概念性的认识后,就应该考虑如何去实现它。等设计好大致的框架后,再用魔法文字来编写代码,把设计好的程序翻译成魔法语言。接着再把写好的源魔法文字转换成可执行代码的程序,这一步由魔杖触媒充当编译器。刚好可以让魔杖(编译器检查术式是否有效。”
“如果术式有错误,自然界中的魔力就不会执行下一步操作,并且通过感应体内魔力的流动与空气中魔力的扰动来发现并理解错误。如果术式没有错误,那么便开始运行术式,检查术式是否按照所设计的思路运行,跟自己预想的效果有无偏差……”
“呐,你怎么又发呆了?我眼睛都瞪酸了,你什么时候好啊。”伊蕾娜听了莱茵的话后瞪了老半天的眼,深怕错过了什么,结果却只看到莱茵闭着眼傻傻的站在那里。
“安静,别吵。”
“哼。”
赋予术式概念。原料:水→形状:球体→大小:直径1厘米→方向:指定方向→初速度:4米/秒→运行轨迹:直线。构成术式成分。主体来源:空气中的水蒸气完善术式条件。摄取范围:房间→摄取速率<1秒→构成数量:一个、弹道修正。用这个世界的魔法文字把设定好的程序编写出来,再用魔杖作为编译器转变成自然魔力能够识别的语言。
“卧槽?怎么失败了。”
“什么?”伊蕾娜一脸纳闷。
“你等等,我检查一下。”莱茵闭上眼睛专心检查着体内的魔术回路。“没问题啊,魔力确实有输出的痕迹,说明能正常运行。”接着他又感应起了空气中的魔力状况,看看是在运行到哪行代码时出现了魔力扰动的现象……
“我囸,少了一个逻辑,怪不得跑不起来。”原来他只设定了构成水球主体的水的来源于空气中的水蒸气,却没设定怎么把空气中的水蒸气变成水,这就导致了自然界中的魔力不知道怎么进行气与水的转换。
用语言编程解决实际问题时,所需要的不仅仅是语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使编程语言学得再好也编不出求长方形的面积的程序来。因为自然界中的魔力是没有意识的,它们只会按照你设定好的程序执行,你自己都不知道怎么做,它们就更不可能知道了。同理,莱茵没告诉它们怎么把水蒸气变成水,它们自然也就无法执行,术式也就不成立了。
“水蒸气由气态转变为液态的过程叫做液化,液化属于放热过程。想要实现液化有两种手段,一是降低温度,二是压缩体积。为了提高效率可以两种方法同时使用。先把房间里的空气进行压缩,再让空气流动带走热量,水蒸气遇冷凝结成小水滴,再把小水滴汇聚在一起形成水球。”想到就做,莱茵很快对程序进行了修改。
修改完后,莱茵再次尝试运行设定好的程序。魔术回路输出正常、术式运行正常、编译器转化正常、空气中的魔力开始接受指令、开始执行指令……很快,源源不断的气流开始向魔杖顶端汇聚,紧闭的窗户突然被狂风吹开,更多的气流不断的从房外涌入,那是因为莱茵压缩房间内的空气后导致屋内外形成了气压差,房外的空气不断的填补着房内空气的空缺,不一会儿便出现了一个肉眼可见且高速旋转着的气团,不知道的还以为他在搓辣仙根呢。不到一秒的时间,旋转的气团变成了旋转的水团,房间里的空气也停止了流动。
“看到没有,这就是我要你接下来弄的水团。但魔法还没有完成,只有等水团成功发射出去后才算结束。”莱茵一边优化着之前的代码一边向伊蕾娜说道。