112程序员的考验-《醉风月》
第(2/3)页
第四,罗汉有多个可以增益自身防御能力的技能,比如提升自己生命值上限,增加自身物理防御能力,增加自身对法术攻击的防御能力,增加闪避几率等等,这些增益技能的冷却时间大多不长,在一场战斗中可以反复使用多次。另有一个通过锻造武器+10获得的增益技能“雷霆之怒”,可以在10秒内大幅度增加攻击能力并且无敌。但冷却很长,一场战斗基本上只能用上一次。
从以上特点可以得出结论:罗汉的职业技能功能琐碎,操作繁复,需要很大程度的灵活配合,另外,战斗时间长,需要玩家有耐心与熟练度去操作。
如果非要用计算机程序辅助罗汉职业进行战斗,那它就必须是全程自动化战斗。
如果仅仅从理论上讲,设计这个程序就如同演奏家一般,同样基于黎允儿提供的服务器数据解码模块,并不存在问题。事实上有了这个解码模块,设计任何游戏功能理论上都没有问题。
但问题是,如果要设计这样一个全自动操作战斗的程序,其设计难度会远远超过当初的“演奏家”,严重考验程序员的技术功底。
毕竟演奏家的工作原理只是做一个简单的技能冷却状态监测,如果所有需要的技能准备完毕,那么就按照预定的顺序依次施放技能。这里不涉及到战斗策略的问题。
但是自动战斗程序则涉及到面对复杂战斗状况随机应对问题,这意味着程序需要复杂高效的程序算法,直接考验到他的专业能力。
所谓的复杂状况具体来讲:第一,程序需要解决罗汉职业技能琐碎繁复的配合使用问题,比如在进攻之前必须先开启防御状态与增益状态。躲避之前需要先判断自身受控状态。随时关注自身的技能冷却状况,一旦某个防御技能比如回血技能冷却完毕就需要即刻施放,以求发挥最大效用。
其次是解决灵活应对敌方御冰技能的问题。比如在敌方对自己施放控制技能之后,自己必须及时解控并且选择正确的路线躲避,以避开对方接下来的攻击技能。同时要计算对方的各种技能冷却时间,以求在合适的时机以最小的代价对敌方发动攻击,从而获取少量的优势,并积少成多最终在pk中胜出。
第三是需要设计复杂的战斗策略以应对不同的战斗局面。比如根据自身以及对方的剩余生命值多少,决定暂避回血还是乘胜追击。以及什么时候合适使用那个冷却长达一小时“雷霆之怒”技能。
总之这样的设计过程需要花费更多的时间和精力,进行更多的思考,编写更加复杂的函数代码,以及进行更多的实战测试。
好在距离决斗还有一个星期,在孙轶民看来,这时间足够他开发这样一个程序。而他自信的深厚计算机程序员功底,应该足以应付这个复杂程序的开发。
他打开了vc60,新建了一个工程,取名为“刺客”。耗费半小时,写下了程序的框架。剩下的程序细节,只能慢慢来了。
暂时休息一下,他翻看了下柳荣华的战力,29.5万。距离战力上限33万还差一点。所以眼下当务之急是把战力提升上去,再论输赢。他召唤了柳荣华来到自己房间探讨这个战力问题。
玉树春庭花全身虽然+10,但是防具和武器都基本上是60级的,装备上的宝石,大多是极品宝石,只有一颗神品。
第(2/3)页