太多的数据容易扰乱分析,我们来看第一行,我将从我立项开始到测试数据到建立猜想一步步推进这个过程,让我们一起享受思维风暴的乐趣

之所以想做这个,是因为之前只知道有撞击下壁防突这件事,但是通常只是随便放一个能做到撞击下壁的坐标就万事大吉了。除此之外,对于抖动也是只懂存在这个东西,对于具体现象必须要现场测试,每次测试的结果还总有一些不一样,感觉很玄学,似乎要用到这些的话就只能现场测试,而且因为了解不深,如果一开始不知道这些黑科技能做到什么程度的话,那在构想整个阵的时候都会不够大胆。基于这样的想法,我打算把撞击下壁、抖动突击都研究一遍。这个时候,我只想到撞击下壁和抖动有强关联,并认为抖动就是在能做到撞击下壁的地方或者更外围一些的地方放置单位,让单位一开始不处于壁上而是后续上壁。
确定好研究内容后,就是测试。我初始有的知识是:撞击下壁与单位摆放顺序相关;撞击下壁在X较小与X较大(即1P意义上的左和右)边触发情况是不一样的;撞击下壁的可行坐标与1P、2P有关;撞击的触发与速度相关,且对方速度越快,触发条件越宽松。
这些在后续的研究中也都用数据证实了。
基于我的已有知识,我绘制了这个表格,表格将己方速度、敌方速度都进行了考虑,且左右可触发下壁条件分行记录(没有展现单位顺序是因为在初步测试中就发现了仅仅在玉代码位于要塞壁之前时可以触发撞击下壁)。处于左边时,规律是非常明晰的,且每次都稳定在撞击瞬间下壁,这毋庸置疑。如果右边也能这样可控简单,那么本次研究将轻松地、简单地完成。
但是我紧接着就发现,当玉处于要塞壁右边,即+17时,这个触发条件十分诡异。例如,当对面也是0速时,+17坐标的玉会在撞击之前就掉下来。而当对方速度提升后,玉在掉下来之前就已经发生碰撞的话,则玉会在自己后退撞到墙后再向前时掉下来,当对方速度继续提升,玉会在撞墙瞬间稳定掉下来。也是在这时,我发现撞击下壁并不全是靠撞击达成的,有一部分右下落实际是抖动下壁。
在左下落和在右下落的差距如此之大,引起了我探究原理的心情。经过总结我发现:右下落触发时间看似不稳定,实际上有一个稳定的临界条件——当前要塞车向前的速度达到一定值。撞墙的本质只是在撞击后整个要塞车又获得了一个相对可观的向前速度,只要能保证到达下壁所需速度,就能达成下壁。
既然如此,那左下落又是如何形成的呢?以常识来归纳的话,左下落和右下落理应是有一定相似性但在某种细节上相反所形成的现象,而且根据结果来看,左下落是与对方速度强相关的,那么我就需要找到一个稳定的模型,来使这两者均能在模型中能被解释。
根据我另外的基础激突知识,我知道:同一帧内单位的执行顺序也是有先后之分的。很多反直觉的被我们称作黑科技的小技巧,本质上都是利用了激突要塞以帧为时间单位进行离散行动时所产生的判定顺序所导致的,或者通俗点讲,当判定在同一帧之内有的单位动过而有的单位还没动时执行,会导致反直觉的现象出现。这一点相信对二倍回复以及撞击上壁的原理有所了解的人都知道。
基于这个知识,我提出了一个想法,这个想法在后续与查查聊天时被证实了:由于玉必须在垫着它的要塞壁代码前才能形成下壁现象,我推测在一帧内代码的执行顺序为:

左下落的情况下,撞击瞬间,先判定玉向后移动,此时要塞壁处于原位,处于左边缘的玉判定下落为真,所以只有撞击瞬间能完成下壁;
右下落的情况下,达到某个向右速度时(无论以何种方式),一帧内先判定玉向前移动,此时要塞壁处于原位,处于右边缘的玉判定下落为真。至此,两种情况均能满足构想。