112程序员的考验(3/5)
如果仅仅从理论上讲,设计这个程序就如同演奏家一般,同样基于黎允儿提供的服务器数据解码模块,并不存在问题。事实上有了这个解码模块,设计任何游戏功能理论上都没有问题。
但问题是,如果要设计这样一个全自动操作战斗的程序,其设计难度会远远超过当初的“演奏家”,严重考验程序员的技术功底。
毕竟演奏家的工作原理只是做一个简单的技能冷却状态监测,如果所有需要的技能准备完毕,那么就按照预定的顺序依次施放技能。这里不涉及到战斗策略的问题。
但是自动战斗程序则涉及到面对复杂战斗状况随机应对问题,这意味着程序需要复杂高效的程序算法,直接考验到他的专业能力。
所谓的复杂状况具体来讲:第一,程序需要解决罗汉职业技能琐碎繁复的配合使用问题,比如在进攻之前必须先开启防御状态与增益状态。躲避之前需要先判断自身受控状态。随时关注自身的技能冷却状况,一旦某个防御技能比如回血技能冷却完毕就需要即刻施放,以求发挥最大效用。
其次是解决灵活应对敌方御冰技能的问题。比如在敌方对自己施放控制技能之后,自己必须及时解控并且选择正确的路线躲避,以避开对方接下来的攻击技能。同时要计算对方的各种技能冷却时间,以求在合适的时机以最小的代价对敌方发动攻击,从而获取少量的优势,并积少成多最终在pk中胜出。
第三是需要设计复杂的战斗策略以应对不同的战斗局面。比如根据自身以及对方的剩余生命值多少,决定暂避回血还是乘胜追击。以及什么时候合适使用那个冷却长达一小时“雷霆之怒”技能。
总之这样的设计过程需要花费更多的时间和精力,进行更多的思考,编写更加复杂的函数代码,以及进行更多的实战测试。
好在距离决斗还有一个星期,在孙轶民看来,这时间足够他开发这样一个程序。而他自信的深厚计算机程序员功底,应该足以应付这个复杂程序的开发。
本章未完,点击下一页继续阅读。