本文作者:NGA-希儿天下第一可爱
快排
首先我们需要了解这个游戏中的排序机制,也就是快排。这个在davecat大佬的帖子中有描述,但是不知道他的逆向代码是什么版本,我用的是日服3.7版本,有些许出入。
简单的来说,我们可以将角色看成一个数组序列,A[3,4,2,1,8],[]中的值是需要排序的目标,比如magic str,tp,hp等等
1:首先选取一个值,记作index,pcr取的index=A[int((left+right)/2)],因为是整型,所以舍去小数点后的部分,可以简单地理解为做下取整运算。
按照上面的数组序列,index=A[int((0+4)/2)]=A[2]=2,
2:接着分别从两边遍历,将小于index的放在左边,将大于index的放在右边。代码中具体实现就是k从0:4遍历,j从4:0遍历,若A[k]
index,不用交换位置,j++,循环。然后将A[k]和A[j]交换位置,k++,j--。重复上述操作,直到k>j。
按照上面的数组序列,k=0时需要交换;j=4时不需要交换,j=3时需要交换。于是A[0]和A[3]交换位置,变成A[1,4,2,3,8],然后k变为1,j变为2。进行下一轮循环。
k=1时,需要交换;j=2时也需要将交换,于是A[1]和A[2]交换位置,变成A[1,2,4,3,8],然后k变为2,j变为1。因为此时k>j,所以跳出循环。
3:根据k,j将上述数组分成两部分,重复步骤1和2。也就是所谓的递归。
按照上面的数组序列就是分成A[1,2]和A[4,3,8],再进行排序,变成A[1,2]和A[3,4,8],最后结果是A[1,2,3,4,8]
当然实际写代码的时候还有一些防止bug的判定,例如当数组中只有一个值的时候直接跳出循环
判定距离
看过我之前帖子的应该知道角色有攻击距离以及受击半径125等数值。
初始我方角色两两相距200,例如一号位到五号位之间的距离是800。
这边让我们引入判定距离这个概念,判定距离描述的是对于同一个参考点,初始不同角色的攻击距离相对于这个参考点的位置。根据判定距离的大小可以判断谁先停谁后停。
为了方便理解,这边举一个例子。
我方:镜子(805),星法(755),黄骑(405),空花(130),布丁(125)
如果我们以布丁作为参考点,每一个角色的判定距离为
镜子:805-800+125
星法:755-600+125
黄骑:405-400+125
空花:130-200+125
布丁:125-000+125
同样的以黄骑为参考点,那么星法的判定距离就是755-200+125,而布丁则是125+400+125
因为参考系相同,所以根据这个值大小可以很明显的看出谁先停谁后停。
黄骑充电机制
了解了快排,和判定距离的概念,我们就可以开始聊聊黄骑的充电机制。目前跟無の盡 讨论下来的结果,黄骑充电有如下要求
1:因为初始所有人的tp为0,按照快排排序结果是:21354
2:黄骑首充只充给自己和比自己后停的角色。也就是只充给判定距离小于等于自己的角色。
3:充电给自己的优先级略低,初步估计在1左右的顺位。
按照这个机制,我们来考虑下各个位置黄骑的充电情况。
黄骑一号位:
根据1最先充四号位。如果想让四号位比黄骑先停,攻击距离必须超过405+600=1005,显然不可能,所以一号位充四号位。
黄骑二号位:
根据1最先充四号位。
如果四号位攻击距离小于805,黄骑比四号位先停,不受2的影响,所以充四号位
如果四号位攻击距离超过805,四号位会比黄骑先停,由于2所以不充四号位,延续到下一顺位的五号位
黄骑三号位:
根据1最先充四号位。
四号位攻击距离小于605,充四号位。
四号位攻击距离超过605
------五号位攻击距离小于805,黄骑充五号位;
------五号位攻击距离大于805,黄骑自充
黄骑四号位:
五号位攻击距离小于605,充五号位
五号位攻击距离大于605
------三号位攻击距离小于205,充三号位
------三号位攻击距离大于205,黄骑自充
黄骑五号位:
四号位攻击距离小于205,充四号位
四号位攻击距离大于205,黄骑自充
补一下临界角色:
805 雪(镜子),205禊(炸弹)
另外实战中我方角色会受到对方一号位的影响,导致多走。面对不同阵容的时候,攻击距离处于临界位置的角色会出现不同的充电情况。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.