东方阅读网【www.dfmsc.com】第一时间更新《用代码走进魔法》最新章节。
看了一两分钟,李维斯就知道该怎么修改代码了。
但随之而来又有疑问:
“没有键盘鼠标,它会怎样读取输入并结束运行呢?也是用意念吗?”
李维斯试着发起一个结束的念头。
代码居然真的能检测到,瞬间停止了运行,眼前的“控制台”也随之消失。
看来Console.ReadLine这个函数被改造过了。
本来这个函数只能读取在控制台输入的字符,现在却能读取人的意念。
那么它的返回值应该就是刚才李维斯发起的“结束”二字吧。
试验了一下,只打印返回值,结果正如李维斯所料。
同时李维斯也明白为什么每次都需要时间才能把魔法施放出来了。
就好比启动一个程序,也是需要时间,有些人的电脑配置好,就启动得快。
但魔法这个程序有些奇怪,施放完就结束运行了。
再用就要花时间再次启动,导致无法连续施放。
但对于李维斯而言却没有这个限制。
他只需要加一个死循环不断让程序检测意念即可。
检测到“结束”的念头才会结束整个魔法程序。
只要他还没有结束程序的运行,在魔法纸上写的任何代码,都能根据条件被执行。
比如检测到“火球”的念头,就会进入执行火球术的代码里。
“但是仅凭火球术还不够,还需要再看看另外两个魔法。”
看李维斯又从那张被当做备忘录的魔法纸上,复制隔空移物和爆炸术的二进制数字,解码了起来。
爆炸术的代码和火球术大同小异。
依旧是构造了一个火球魔法,然后将其压缩再释放。
但没有持续时间,一释放就会爆炸。
而控物术能抓取一样死物在三米范围内随意移动一次,持续时间10秒。
魔法师战斗时都喜欢用控物术操控魔法。
可惜对于只有两张魔法纸的前李维斯来说,这几乎不可能。
因为一张用来记录魔法,一张用来释放魔法。
而一张魔法纸只能释放一个魔法。
用代码来说就是这样的写法是错误的,无法启动报错的程序。
但现在的李维斯不受这种限制!
甚至可以更改里面的数值,释放到魔力枯竭为止。
说回两个魔法,里面有三个很实用的静态函数:“MagicUtil.GetTargetByMind”、“”、“”
魔法工具类里的根据意念获取目标的方法,把魔法移动到指定终点的方法,以及压缩魔法的方法。
静态函数可以理解为组装好了并放在固定位置的工具,拿起来就用。
与之对应的是类内的成员函数,要调用它就要先构造它,将其初始化,分配内存空间,稍微有些繁琐。
比如刚才构造一个新的火球时的fireball.RunMagic就是类内的成员函数。
李维斯再次把三个魔法解码,然后复制粘贴到代码魔法纸上,改写成一个容易调用的函数。
没有热重载的编译型语言,一旦改动就要暂停重新运行,有些麻烦。
现在他要开始改写爆炸术的魔法了。
首先在爆炸术里添加了移动到指定终点这个静态函数。
又在爆炸术运行RunMagic函数前加了一个意念判断。
如果读取到“爆炸”的念头就执行最后一步释放爆炸术。
为了能连续释放魔法,他又加了个死循环和读取念头的条件判断。
只有读取到“结束”的念头才会结束整个施法流程。
写完后运行测试了三四次,没有bug。
测试的方法是在发起“爆炸”念头前结束运行。
由于没有运行最后一步释放魔法,所以并没有消耗魔力。
现在爆炸术的效果就是可以移动到3米范围的任意位置,李维斯想爆炸才爆炸。
而且李维斯还增加了一个很实用的功能——
东方阅读网【www.dfmsc.com】第一时间更新《用代码走进魔法》最新章节。
本章未完,点击下一页继续阅读。