为什么我会走到你前面 小课题之移动错位
17173 新闻导语
1、移动错位的形成机制 关于公主连结的站位机制,在@希儿_世界第一可爱的文章「永恒⚝薪火」[进阶硬核]公主连结游戏机制之站位机制中有着详细的介绍,这里就不赘述,本文是对其中理论的进一步运用。 但首先我们还是把最基础的几条公理给复制过来,更为详细的说明可以参照原文。 公理1:战斗开
1、移动错位的形成机制
关于公主连结的站位机制,在@希儿_世界第一可爱的文章「永恒⚝薪火」[进阶硬核]公主连结游戏机制之站位机制中有着详细的介绍,这里就不赘述,本文是对其中理论的进一步运用。
但首先我们还是把最基础的几条公理给复制过来,更为详细的说明可以参照原文。
公理1:战斗开始时,我方一号位坐标为-760,敌方一号位坐标为560,双方一号位相距1320,双方各个角色之间两两相距200。
公理2:除了羊驼以外的所有角色,入场时移速=12/帧,即最小步长=12。
公理3:角色开始入场后,移动直到攻击距离接触到敌方角色的受击宽度,该角色停止移动,这里受击宽度取100。
其实,移动错位的关键就在于这个公理2,它意味着公连的入场移动并不是连续的,而是离散的。
显然,如果公连的移动是连续的,那么角色停下时与攻击目标的距离那就是精准的攻击距离+受击宽度,在目标静止的情况下,己方角色两两之间的距离就是攻击距离之差,那错位就无从谈起。
但,如果移动是离散的,那幺蛾子可就多了,它允许某些情况下角色“多迈一步”,那么有些攻击距离相差小于12的角色之间,就有可能发生移动错位现象。
2、移动错位发生的条件
先上结论:
我们引入一组常数Cn(n=1,2,3,4,5),因为其与角色所在号位有关,姑且叫它号位常数其值如下
又设R1为原本站位靠前的角色的攻击距离,R2为原本站位靠后的角色的攻击距离。
n1为靠前角色所在号位,n2为靠后角色所在号位。(就是1号位、2号位这种,在1号位则等于1)
d为二者攻击距离之差(的绝对值)
那这两个角色移动错位发生的条件为:
(%是取模运算符,也就是取余数)
这就是移动错位发生与否的判别公式。
(需要确保在自己考虑的任意一个角色停下时,对方一号位已经停下,否则容易证明不可能发生移动错位)
不妨来举几个栗子,应用一下(折叠部分)
1、环奈、万圣忍、充电宝在单t情况下,环奈和万圣忍的站位是什么情况呢?
二者攻击距离之差d=440-433=7
原本环奈处于靠前的三号位,Cn1=C3=0,R1=433。
原本万圣忍处于靠后的四号位,Cn2=C4=8,R2=440。
则(Cn1-R1)%12=(0-433)%12=11,(Cn2-R2)%12=(8-440)%12=0,
11-0=11>d=7,故此时环奈和万圣忍会发生错位,万圣忍会跑到环奈前面,充电宝充万圣忍。
若是双t,则环奈原来处四号位,万圣忍处五号位,Cn1=C4=8,Cn2=C5=4.
(Cn1-R1)%12=(8-433)%12=7,(Cn2-R2)%12=(4-440)%12=8,
7-8=-1
2、布丁、空花,在对面带羊驼的情况下,站位又是什么情况呢?
这里需要注意,对面带有羊驼的情况下,由于羊驼后入场,我们处理时,需要把我方所有角色号位+1,比如一号位当作二号位,二号位当作三号位处理。
二者攻击距离之差d=130-125=5
原本布丁处于靠前的一号位,当作二号位处理,Cn1=C2=4,R1=125。
原本空花处于靠后的二号位,当作三号位处理,Cn2=C3=0,R2=130。
则则(Cn1-R1)%12=(4-125)%12=11,(Cn2-R2)%12=(0-130)%12=2,
11-2=9>d=5,故此时空花会跑到布丁前面挨打摩多摩多
3、移动错位发生条件的推导(硬核警告)
移动错位如果要发生,需要确保在自己考虑的任意一个角色停下时,对方一号位已经停下。故我们可以把对方的一号位当做一个桩子,自始至终都在同一个位置上,这样思考起来比较方便。
我们以环奈和万圣忍为例,我们设开始入场时环奈到对方一号位的距离为a,万圣忍与环奈距离为b。(强调:此时我们已经把对方一号位当作站桩处理,不去考虑其入场过程)
我们设环奈的攻击距离+敌方受击宽度(100)为r1,万圣忍的攻击距离+敌方受击宽度为r2
根据公理3,我们可以推出万圣忍和环奈的移动步数,然后×12算出二者的前进距离
则可以得出万圣忍跑到环奈前面的条件:
(底角括号为意为向下取整)
将不等式变换,得到
我们知道,把商向下取整,实际上就是进行整除:
整除之后又乘回来,相当于被除数减去余数:
那么我们可以把原不等式化简:
r2-r1等于二者攻击距离之差,我们设为d:
其实到这里,公式就出来了,不过如果仅仅是这样,我们计算时需要知道对方一号位的位置,而这是很麻烦的,我们需要对公式做进一步处理。
我们设R1为环奈的攻击距离,则有:
根据取模的性质有:
我们可以设R2为万圣忍的攻击距离,对其做类似处理。
式中,a是开始时环奈到对方一号位的距离。
如果设e为开始时双方一号位的距离,c为环奈到我方一号位的距离,那么 我们知道,游戏设定中双方一号位的初始距离为1320,可以被12整除,双方一号位的步长又为12,则e=1320-12k,k为自然数,显然e%12=0,我们有:
(c-100)%12是一个仅与环奈所在号位有关的数,我们可以全部列出(对万圣忍也是一样的):
一号位:8,二号位:4,三号位:0,四号位:8,五号位:4
我们引入之前所说的号位常数,则我们可以得到:
环奈和万圣忍发生移动错位的条件为:
n1、n2分别为环奈,万圣忍所在号位,R1、R2分别为环奈、万圣忍的攻击距离,d为二者攻击距离之差的绝对值。
推导可能有勘误,欢迎指出。
关于公主连结,游戏分析,移动错位的新闻
- (2021-12-09) 公主连结简中服第16期专武推荐一图流分享
- (2021-12-09) 决战霸瞳皇帝 王都最终决战活动提前解析
- (2021-12-09) 公主连结手游 12月萌新开荒角色培养指南
- (2021-12-08) 公主连结千里眼 登场角色评级及未来势
- (2021-12-08) 摩羯座公会战开启预告/由加莉★6才能开花














