112程序员的考验(1 / 2)

醉风月 颛煜 1503 字 2023-08-12

柳荣华接下了玉蝴蝶的夺金决斗挑战。战斗将在下周五进行。距今还有一周时间。

孙轶民回到了自己房间,开始思考如何帮柳荣华赢得与玉蝴蝶决斗的问题。

正如柳荣华所言,这场战斗必须赢。所以要做到有十足把握的,决不能靠运气。既然如此,就必然在战场上具备绝对的优势。

如何取得绝对优势?靠战力高过对方?明显不行。

玉蝴蝶发起的夺金决斗是基于公平原则的,是设定战力上限的决斗。双方战力不能超过33万,否则无法入场,而如果不及时入场,则将被系统视为自动认输。

那么如何取得战斗绝对优势?按照孙轶民这个理工男的思维方式,很自然的联想了技术。正如当初用襄王赢慕容那般,他需要为柳荣华专门制作一个用于罗汉对付御冰的战斗程序。

正所谓知己知彼百战百胜。在设计这个程序之前,他必须要对两个职业有充分的了解。他对玉蝴蝶的御冰职业了解自然不在话下,但对罗汉职业的了解寥寥无几,除了罗汉的攻击模式为物理近战为主这一点之外。

他暂时向柳荣华要了账号密码在自己电脑上登录玉树春庭花,以便研究罗汉职业的战斗特点。

他操作起“玉树春庭花”的角色,跑到长安西郊野外区域,对着一些小怪一一测试罗汉的各种战斗技能。最后却得出了一个令人沮丧的结论:罗汉职业无法像霸王职业那样,可以采用计算机程序进行半自动的连招辅助战斗。

根本原因在于:当初孙轶民开发的“演奏家”程序的辅助功能,是基于霸王职业可以将多种攻击+增益+控制技能连贯起来施放从而让敌人无法动弹瞬间残血的职业能力特征。一般来说,一套连招下来,敌人基本上失血大半了,从而霸王能在战场上占据极大的优势。

但施放连招完毕,则需要手动操作,采取躲避或追击策略,在这个过程中等待所有的攻击与控制技能冷却完毕,再此启用程序辅助功能发起另一轮连招攻击。这其中,手动与自动的界限非常清楚。而且一场战斗中基本上只需要切换一两次就可以,操作并不繁琐,并不会影响程序战斗的效率。

但是罗汉职业不同。罗汉是防御型职业。进攻技能自然有,但是它没有控制技能。因而无法实现“攻击+控制”连招快速克敌制胜,也就无法采用上述的半自动程序辅助模式。

那么罗汉的特点是什么?第一:他的皮厚,更耐打,同时它的攻击技能伤害低,这些特点注定了罗汉参与的pk必然是一场持久战。绝不可能做到速战速决。

第二:它有解控技能。而且作为防御性职业,罗汉的解控技能比霸王的更实用,冷却时间更短。

第三:罗汉有自助回血职业,回血冷却时间只有一分钟。但是回血技能需要一个不被外界打扰的环境,一旦遭遇对方攻击,回血过程即被打断失效。

第四,罗汉有多个可以增益自身防御能力的技能,比如提升自己生命值上限,增加自身物理防御能力,增加自身对法术攻击的防御能力,增加闪避几率等等,这些增益技能的冷却时间大多不长,在一场战斗中可以反复使用多次。另有一个通过锻造武器+10获得的增益技能“雷霆之怒”,可以在10秒内大幅度增加攻击能力并且无敌。但冷却很长,一场战斗基本上只能用上一次。

从以上特点可以得出结论:罗汉的职业技能功能琐碎,操作繁复,需要很大程度的灵活配合,另外,战斗时间长,需要玩家有耐心与熟练度去操作。

如果非要用计算机程序辅助罗汉职业进行战斗,那它就必须是全程自动化战斗。

如果仅仅从理论上讲,设计这个程序就如同演奏家一般,同样基于黎允儿提供的服务器数据解码模块,并不存在问题。事实上有了这个解码模块,设计任何游戏功能理论上都没有问题。

但问题是,如果要设计这样一个全自动操作战斗的程序,其设计难度会远远超过当初的“演奏家”,严重考验程序员的技术功底。

毕竟演奏家的工作原理只是做一个简单的技能冷却状态监测,如果所有需要的技能准备完毕,那么就按照预定的顺序依次施放技能。这里不涉及到战斗策略的问题。

但是自动战斗程序则涉及到面对复杂战斗状况随机应对问题,这意味着程序需要复杂高效的程序算法,直接考验到他的专业能力。

gu903();所谓的复杂状况具体来讲:第一,程序需要解决罗汉职业技能琐碎繁复的配合使用问题,比如在进攻之前必须先开启防御状态与增益状态。躲避之前需要先判断自身受控状态。随时关注自身的技能冷却状况,一旦某个防御技能比如回血技能冷却完毕就需要即刻施放,以求发挥最大效用。