世界弹射物语【转自NGA】【世界弹射物语】[攻略心得] wiki编队功能的加强版(招募工具人+抛砖引玉)
世界弹射物语【转自NGA】【世界弹射物语】[攻略心得] wiki编队功能的加强版(招募工具人+抛砖引玉)如下:
原帖是大佬发布在NGA的攻略贴,个人在使用过程中受益颇多,申请搬运到供大家使用。不做任何商业用途,如有侵权,我会立即删除本帖。原帖地址为:
[攻略心得] wiki编队功能的加强版(招募工具人+抛砖引玉)
1.写在最前
入坑一个多月,感觉目前几个Wiki的编队功能都比较基础,个人认为有必要整一个强化版的,所以做了一个原型
下述发布的内容只是一个原型,由于是在在线表格里实现的,使用起来不是很方便
这个项目旨在提供更多的信息,来帮助大家模拟不同盘子的差异,尤其适合对盘子进行微调时,感受和比较调整所带来的结果
但由于游戏内机制比较繁多,譬如有大量的暖机类型、临时性的buff,因此我将很多信息进行了整合
譬如盘子的暖机会被归类在一起,未来也许可以考虑细分,不过目前工作量太大= =
无论如何,即使功能始终只是一种模拟与参考
实战中有太多变量(如不同类型暖机的速度、技能释放的时机、场上怪物的情况等等)是无法模拟的
另外,目前也没有计划把生存回复相关的内容做进去(个人认为不太重要)
2.原型
原型是这个在线表格:
表格包含了:
1)主界面
包含
1>基本编队界面(由于表格没法读图,所以没法用人物头像来表达,之后转成web版就不会有问题)
2>盘子的基本信息(攻击、技能倍率、技能能量、初始技能槽)
攻击是默认满级的,后续可以考虑做成可自定义等级
也可以把血量、技能Hit数等加上,很容易实现
初始技能槽是需要根据人物的技能能力来算的,后面会说
3>加成及乘区信息
这部分是此功能最主要的展示项
如前述,对部分信息做了整合,未来可以再考虑细化
2)角色数据库
实际上是通过数据库的形式,把每个角色的信息进行拆解,便于去读取相关信息在盘子里计算
3)未完成部分
有3个基础功能尚未完成,分别是武器和武器数据库还没做、角色数据库的完善、技能轴的展示
后续做到Wiki上的时候,希望能实现这些功能,原理也都很简单
3.算法
算法的逻辑并不难,即用户在组盘子时,系统从角色数据库调用信息,对比盘子中角色的信息,判断是否符合,符合则给予给角色相应加成
核心点在于如果做判定,我这里给出的判断方式是利用质数的乘积,只能被这几个质数整除的原理
假设,某角色的主位技能是给火属性的队长加攻击30%,意味着要做3件事
1是这个角色(我暂称为主体)在不在主位
2是盘子里的角色(暂称为受体)是不是队长,是不是火属性,需要对6个角色都做一次判定
3是判定成功的角色,获得哪种类型的加成,加成值是多少
那么,我赋予了队长的常量是2,赋予主位的常量是3,赋予火属性的常量是11
则在角色数据库里,这个技能的主体的判定要求是3,受体判定是2*3*11=66
在盘子里,当要计算这个角色的这个技能时,先判断这个角色的主体判定值,他如果在主位,但不是队长,那他的判定为3,盘子的判定3/技能库的判定3,余0代表成功,技能可以发动
然后,过一遍盘子里的6个角色,看哪个符合技能要求的受体判定66
比如,队长是火属性/人类(常量为31),则他的判定值是队长2*主位3*火11*人类31=2046,2046/66余0,判定成功
2号主位是风属性(19)/精灵(37),则他的判定值是主位3*风19*精灵37=2109,2109/66不余0,判定失败,以此类推
这个判定方法也适用于多种族的角色,譬如人/精灵的角色,其角色的判定值会乘以人31,再乘精灵37,而技能要求种族不管是人还是精灵,角色判定值/技能判定值一定除得尽
当然,用这种判定最主要还是我受限于表格,不便于直接做文本比较,否则公式太长太乱
而用程序实现这些判定,也可以用文本比较的方式,但数据库的字段可能会变多和过程计算量也会大一些(十年前的汽车电子开发工作经历让我对计算量有执着的要求)
4.抛砖引玉
发此内容的目的确实为抛砖引玉,我个人也有小10年没写过程序了,更是不会写web程序,目前的工作也与这些毫无关联
只是作为WF的爱好者,希望能在Wiki的编队界面看到此功能上线
这个Wiki的几位朋友也在准备着实制作此功能
同时,也欢迎愿意帮忙的朋友加入来一起实现,特别是角色数据库的录入,是个体力活= =
我个人也不排斥其他Wiki来做类似的功能
无论谁做,我都希望有一个国服版本的数据库可用,毕竟我是国服玩家
同时,我这个表格也暂时不会更新了,录入角色信息实在麻烦,后续有录入方面的问题我可以解答(指挥别人干活的一把好手)
期待~
以上就是世界弹射物语【转自NGA】【世界弹射物语】[攻略心得] wiki编队功能的加强版(招募工具人+抛砖引玉)相关内容。