植物大战僵尸吧 关注:524,862贴子:4,897,910
  • 7回复贴,共1

关于巨人进入可伤害域问题的一个小猜测

取消只看楼主收藏回复

前面我在发某新年礼物的时候曾经说过巨人98进可伤害域这个问题无法解释,不过现在我觉得我找到一种可能解释了(


IP属地:上海来自Android客户端1楼2018-02-04 10:39回复
    如图,使用窝自己写的破烂计算器算得巨人在96时最快走到817.925,97时到817.719,98时走到817.513,也就是说巨人最快走到817.7左右时就可以被伤害了,但是按照时空贴计算是817整。。那么如果肯定地说现在的速度模型没有问题的话就是坐标的取整有问题了。


    IP属地:上海来自Android客户端2楼2018-02-04 10:41
    回复
      想起我之前测海豚数据时发现的一些东西:
      海豚入水起跳点为680,但是内存中的坐标却是680.899左右(电脑不在身边记不太清楚,不过大概是的),也就是说二者之间可能有0.8~0.9左右的偏差。。


      IP属地:上海来自Android客户端3楼2018-02-04 10:43
      收起回复
        按照这个猜想可以得出巨人最快97进入可伤害域,与实测值98只差1(下课后继续说


        IP属地:上海来自Android客户端4楼2018-02-04 10:44
        回复
          这个猜测可以很好地解释巨人进入可伤害域和海豚起跳的问题,不过它有可能导致其他问题(比如冰车,它究竟是在700开始减速还是在700.8减速呢(


          IP属地:上海来自Android客户端8楼2018-02-04 12:22
          回复
            反正对于可伤害域右沿应该存在这种现象(再举个例子,冰车809出生800进入可伤害域,一共需要36cs,但实际上只要33cs就可以全炸冰车。如果把800进入改成800.8的话,一共就是32.8cs,正好吻合(


            IP属地:上海来自Android客户端9楼2018-02-04 12:26
            回复
              感觉自己写的计算器还挺好用的2333,问下谁会写gui,有兴趣的可以帮我写一下,做一个app(


              IP属地:上海来自Android客户端10楼2018-02-04 12:31
              收起回复
                好吧有些地方需要小改一下
                游戏中对可伤害域的坐标是int类型的,而僵尸坐标(设为x)则是float类型的。判断一个僵尸是否进入可伤害域应该就是判断x是否小于817,而float和int进行比较需要进行强制类型转换(也就是向下取整),所以在817.925的时候也算进入可伤害域(然而实际上z+34似乎并不能取到边界值0.37,所以实际上巨人是到不了(或几率可以忽略)817.925的,所以才有了最早97进入可伤害域的数据。。植物的坐标也是float类型的,不需要进行类型转换,所以没什么问题。。


                IP属地:上海来自Android客户端16楼2018-02-18 11:47
                收起回复