欢迎光临散文网 会员登陆 & 注册

【PVZ】一些无所谓的琐事

2021-05-22 15:08 作者:Crescebdo  | 我要投稿

一时兴起整理一下,大部分内容应当准确。有兴趣读完的话,可能会有不少收获。


  1. ICE3是巨人投掷后105(减速210)生效冰没错,但这是针对灰烬激活而言的。因为同一帧内游戏先计算植物,后计算僵尸,再计算炮弹,所以如果是炮激活,那就是delay106(或者211)生效冰,因为对巨人来说,炮弹 = 晚一帧生效的植物。

  2. 因此,AvZ的ICE3函数实际上是把冰生效时间修正到了设定的下一帧。查看源码也可以发现,是在-95cs处把冰的生效倒计时改成了96。

  3. 这解释了用植物激活时(比如FE. ICE3·24炮的NA'接I3),如果单纯用蓝冰I3不会翻车,但如果再用ICE3函数就必定会失败。

  4. 平常说的“10冰波”其实是11冰波,“11冰波”其实是12冰波。

  5. 此外,许多人有用ICE3函数调整预判冰时机的习惯,需要特别注意这个1cs的问题。例如若要完美预判冰,ICE3函数设到0冰即可,这样实际会1冰生效。同理,若要96冰,ICE函数需设到95冰。

  6. 这解释了为什么直接用96冰(配合ICE3函数)会伤到巨人翻车。巨人最早可伤是96,同一帧先植物后僵尸,所以96生效冰是安全的;但是如果用了ICE3函数,实际就变成97冰了。

  7. 同理,用樱桃/核武精舞时,需要360生效。撑杆最晚359进入伤害域,如果让樱桃/核武在359生效,则判定时撑杆的坐标还停留在358,无法全伤。

  8. 舞王相关:舞蹈周期460cs,其中前进状态240cs,踏步状态220cs,并非许多人认为的各一半(IZE玩家对这一点应当很熟悉)。

  9. 存在超前置炮时,最早319召唤出伴舞,故318及更早生效炮即可保证伴舞不出生。若为空地,最早342自然召唤,炮在341及更早生效可确保伴舞不出生。

  10. 对于所有僵尸,存在时间为4的整数倍(若减速则为8)时才会判断啃食。例如,一只普僵出生后4cs时判定啃食,若此时判定为啃食,则即使植物在6cs时消失,普僵要在8cs时才会从啃食状态切换回行走。

  11. 因此,虽然伴舞召唤到出土耗时150,但152才是4的倍数,最早啃食发生在152。

  12. 有超前置炮的情况下,伴舞最早318+152 = 470啃食,因此炮在469及更早生效即可无伤;灰烬植物在470及更早前生效即可无伤。

  13. 664波的实际极限波长是669。

  14. 因为伴舞出土完毕到啃食有一小段间隔,【伴舞有灰】不等于有伤。

  15. 拦截相关:若激活P和拦截D均为炮,delay107及以上才能确保拦截。

  16. 如果delay106呢?小鬼在delay106时生成,此时根据巨人/小鬼栈位,小鬼的存在时间为1或者0(PS:即使是存在时间为1的小鬼,也是在106时生成)。然后游戏里有个bug,存在时间为0的小鬼有一定几率进入无敌状态,也就是说会发生很奇妙的事情,如下图:

    白眼死了小鬼却活着,实在很费解吧= =b


    存档后反复重进的话,有时炸不到,有时炸得到,跟栈位和随机数也都没关系,是完全看“脸”的。


※经零度研究,此机制实为pvz的bug。

游戏内有两套坐标系,每一帧都会更新,但是小鬼僵尸出生的第一帧,其中一个坐标系只经历了默认初始化,初始化结果是随机路随机出生点的位置。而计算爆炸范围用的恰是这个坐标系。所以如果不用核武用玉米拦截,我觉得成功率应该是0。


17. 总结来说:炮→炮(植物→植物) 最早107;植物→炮 最早106;炮→植物 最早108拦    截。

18. 精舞的P最早359生效,D最晚469生效。拦截间隔至少107,所以实际允差是4cs,之前一些“1cs操作允差”的说法是不准确的。

19. 舞王触碰植物和啃食一样,并非每帧更新。刷新后4kcs时放垫才,4k+3cs或更早铲除,就不会垫到舞王(k取正整数)。巨人举锤和撑杆起跳等不一样,是每帧更新的,因此可以利用这个机制差异实现一些事情。

20. 来说说跳跳吧。后院的场合,炮一般是可以收落点上行跳跳的,但是判定范围比较窄,而且正在跳跃玉米炮的跳跳是无法全收的!务必注意。

21. 这也是为何在有超前置炮的情况下,无法一炮同收三行跳跳+巨人。

22. 玉米炮判定小常识充电:一般而言,炮对本行、下行的判定大同小异,但对上行的判定小很多。对于巨人而言,本行/下行的判定范围完全一致,但对上行就小很多,所以前者一般称作【两行】,后者称作【三行】。上一条也就可以缩略为“后院有超前置炮则无法一炮同收三行跳跳&巨人”。(也因此,在后院的话,炮能炸1、5路就不要炸2、5路,比如各种热过渡炮)

23. 如果只收两行的话,就简单不少。完美冰下,同收两行跳跳&巨人的极限波长是1651,一些强行1672的阵自行面壁吧 = =b

24. 前院行距大,收落点上行跳跳基本就别想了。有一个值得特别一提:收两行跳跳和三行巨人。有超前置的场合,此一极限波长是1463,总之是很短。这也解释了为什么NE雪花14要费那么多心思照顾中路跳跳。

25. 现在回到准超前置炮,也就是7列炮的世界。在后院,同收两行跳跳+巨人的极限波长为1726。而完美预判冰下,梯子最早啃7列炮为 562*2+400 = 1523,因为啃食8cs判定一次,最长可取到 1528(8的倍数)-1,也就是1527。再+200,则为1727。奇迹发生了!1726既能收跳跳,又不会被梯子啃,可能是最适合7列炮的波长了(

26. 举一反三。像NE中开12这样的对C6u,加速波固定为746(投篮极限波长)的话,减速波就得拖到1755 > 1726,因此就势必要特殊处理梯子和跳跳啦。

27. 说到中开12炮。不知道你注意到没有,零度表里“矿工啃食2炮”的数据其实是错的——虽然给的是“2358”,但是估算一下就知道,中开12的冰波波长是1755,靠加速波尾炸收矿工,但2358-1755 = 603,激活炮在546生效,尾炸炮是不可能在603前生效的。

28. 不过这个阵倒是没什么问题……是这个数据不太对。修复后的数据为:矿工啃食2炮 - 2604;啃食2普通 - 2816;旗帜矿工啃食2炮 - 2664;旗帜矿工啃食2普通 - 2876。

29. 这个乌龙雄辩地证明了根本没人关心矿工啃食2炮,咳咳。另外,对比2炮/2普通的数据,不难看出炮的判定特点是前端比一般植物小,但后端比一般植物大。

30. 这也是为什么屋顶场合,67列炮可能被肾虚巨人投出的小鬼蹭到,但6列普通植物绝对不会。

31. 如果要规避小鬼蹭67列炮,在326及更晚激活就可以了,对应0.47s预判炮。在没有舞王的天台,做到这一点一般没什么难度。

32. 再说说中开12。前面提了一嘴“全收篮球的极限波长是746”,似乎和以前750的数据有些出入?其实篮球是最简单的僵尸之一了。最快的篮球速度是0.37,等价于每cs移动0.37像素。最左出生点825,坐标≤650时开始推把手。不难计算得到最快的篮球会在第473cs时开始转把手(此刻的坐标:649.99)。转把手到投篮投出耗时74,因此投篮极限波长就是473 + 74 - 1 + 200 = 746啦。

33. 现在挑战一下冰波?受冰后,篮球速度变为40%,也就是0.148px/cs。完美预判冰下,最短解冻的投篮在1582cs时开始转把手(此刻坐标:约649.9),再加上74*2(减速投篮转把手时间为2倍),因此极限波长是1582 + 148 - 1 + 200 = 1929。

34. 这里需要澄清几个事情:

    一、最短解冻时间实际上是399cs,原因也很简单,冻结倒计时是从399开始的……因为同一帧先植物后僵尸,寒冰菇生效的第一帧时,倒计时已经从400变为399了。不过似乎一直没什么人关心这一点(悲);

    二、像投篮这样的匀速僵尸(匀速 = 没有行走动画),RND锁速度极值测得的坐标是绝对准确的;

    三、蛋是,由于PVZ使用的float浮点数精度限制,实际坐标值可能和理论计算值有微差(指小数点第三位起),但不影响计算的可靠性;

    四、那么以前1975、1935、1930等各种妖魔鬼怪数字是怎么来的呢?这可能归功于时空贴和零度表给出的“转把手时间”都有点问题(前者给的是73,后者给了71)。

35. 插入一条科普:投篮可能是所有僵尸里最无所谓的之一了。即使稍微拖过严谨波长,其砸率往往也微乎其微,毕竟0.37+最左出生+最短解冻的cxk哪有那么好找嘛。而且最关键的是被篮球砸一下,炮还能继续用,惊不惊喜意不意外(。所以说优先考虑别的问题(比如巨人、小丑),再考虑投篮,是比较好的思考方式。

36. 其实跳跳ex的最大原因是玉米炮。它实在是太长了……都是炮的错(所以挖了吧

37. 上一条看似是废话么?那么给个数字:1~8列全是炮的话,跳跳出生后10s左右就进家了。上一波漏的跳跳,下一波225激活,最左的2.5列尾炸炮也追不上,风一般的感觉。

38. 如果全为空地,后院原速波收三行跳跳极限波长为731(两行的话是968);完美冰波收三行是1486(两行则为1959)。由此可见炮对落点上行的判定有多坑爹……

39. 不过有时候这个特点也能被很好地利用。最常见的就是海豚分离炮;由于炮对下行判定大,对上行小,炸海豚炮落在3路就能取得很好的分离效果(具体数据见此)。

40. 反之,如果要用4路炮分离就很痛苦了。毕竟4路炮对3路海豚判定又小,对5路巨人判定又大;实际上任何时刻都无法分离。

41. 同理,想用有冰分离把海豚炸干净?想都别想。这也否定了一些水路有超前置炮的后院阵强行冰波双边分离制造非定态的打法(当然,如果能多分1炮炸海豚倒是可以)。

42. 说到有冰分离就有趣了。事实上,除了梯子可以较轻松地分离外,小丑、橄榄、投篮都是非常难分离干净的,特别是投篮,无论什么时机都没法分离干净(除非晚冰,不过那个更接近无冰分离)。

43. 这就涉及到保护9列植物的一些问题。一个是要知道篮球最早碾爆9普通时机为282,完美冰下变为1102,要9列丢核武什么的记得做好安全措施。另一个数据跟复制冰有关:完美冰+1159分离的话,投篮最早碾爆9列的时机为1427(此处假设分离炮和投篮在同一行,前后院均适用)。如果分离炮和投篮不在同一行的话,这个时机就还会更早,但总而言之1672冰波里强行丢个复制冰啥的,还是算了吧(

44. 上一条里提到的1159是完美冰下梯子不啃8炮的最晚分离时机。

45. 另外有一个不知为何经常被忽略的事情。巨人对9列举锤最早445,完美冰下变为1288,也就是最早1288+268 = 1556可以把9列植物砸成相片。换句话说,如果没法瞬杀3路巨人,复制冰无论如何也得在1556之前生效吧……

46. “贵圈为什么一贯喜欢忽略复制冰的安全问题呢?” by 不知名的某人

47. 这里似乎应该解释一下为什么上几条里的数据和平常用的不一样。主要是两点:一是僵尸生成是从0cs而非1cs开始的,因此原则上零度表里所有数据实际上都需要-1(因为当时用的是1cs始);二是对非匀速僵尸(=巨人梯子小丑等等各种两足生物)而言,锁速度随机值求得的数据会有极其微小的偏差,想知道原因的小朋友请猛戳 tieba.baidu.com/p/7290751385。

48. 不过差个几cs也不影响日常使用吧,关键还是要懂得个中原理,以一推多。

49. 回到炮对上行判定范围小的妙用。另一处妙用就是热过渡啦。譬如翻修后的灯台8,上半场1路要守鬼位,但2路不用;过长的冰波使得7列樱桃会蹭到本波巨人。解决方法很鸡贼,但也很简单:樱桃丢在2-7就行了……

50. PS:樱桃和炮的判定范围完全一样。X行Y列樱桃 = X行Y.0875列炮(当然,还有同一帧内计算顺序的差别)。

51. 话说这个0.875是什么?游戏内列距固定80px,0.875*80 = 7px。这其实是因为玉米炮的爆炸中心准星偏左7px;前者是实际计算判定时使用的圆心,后者是脚本里使用的落点。

52. 同样地,在一些垫才条件不充分的阵型里,可以热过渡炮炸2路(或6路),垫本行巨人,并利用炮对上行判定范围小保证不蹭到上行巨人(例如这个阵)。

53. 教练我想学判定范围计算!→ 戳我 和我

54. 关于热过渡。热过渡就像爱情,是有保质期的(艾莉语气),太晚的话会坏掉的。数据见下↓



(其实像这样的表还有很多张,都在上面给出的某个链接里,没找到的可以重翻一遍。


55. 所以真的球球别在639之后强行“热过渡”了……虽然贵圈几乎从不公开脚本也不公开炮时机和落点,但是有些东西是藏不住的((

56. 另一个很强行的事情是7列樱桃拦截。当然,因为小鬼是从下往上飞的(大概↙↖这样),只拦下行完全是可以的,但要拦两行?事实上一般7.275左右的炮就已经开始漏鬼了,7列樱桃(等价7.0875炮)是要闹哪样。

57. 关于上述各种数据问题,有些地方很难算或者不会算,其实多跑几次脚本就是了,任何时代都有出怪修改器,更何况现在还有RND这样的神器。发现脚本里的漏洞是不难的,只是靠脸脸出个2f比这还要简单……(自我反省中

58. 提到脸的话题,那就来揭露一些重磅信息吧。让我们先明确一点:自然出怪 = 游戏程序根据各个僵尸种类随机设定每波僵尸数量;极限出怪 = 均匀分配僵尸数量。后者是什么概念呢?每波固定50只僵尸,那么假设你有10种类,极限出怪会非常简单粗暴地每种5只。而这和自然出怪是相去甚远的!

59. 换句话说,对炮阵而言,自然出怪比极限出怪的难度不知道高到哪里去了!后者也就是固定20波红眼罢了,但前者一样可以20波全红,还附加XXOO各种乱七八糟,难度简直不是一个等级的。

60. 举例而言:关于w10延迟,如果是极限出怪,正常RP两炮下去大概率能刷,实在不行补个辣椒或樱桃也接近必刷了。但如果是自然出怪?根据这里的数据,以非常晚的时机(指401)并炸双边,且在巨人多的一侧补智能樱桃,才算是能比较稳定地消去延迟;或者就是前场四炮这样的暴力方法。

61. 另外:关于冰激活,其实开出怪debug还是看得比较清楚的,一般一个冰下去刷新比例(已消灭血量/刷新阈值血量)会+4%左右,也就是说如果当前处在96%~99%的状态就比较危了。至于概率嘛,可以自行估算一下,反正w10延迟之后冰激活的倒霉情况概率应该还不小(

62. 现在讲第二个鬼故事。大家可能听说过“热过渡”这个操作吧?但你知道它是个非定态操作吗?


以上数据均在PE测得,下同


如图所示。前排声明以上数据均为手测;样本量虽小,怕是又揭开了PVZ的一层秘密。


划重点:双边热过渡炸实单边炸实单边炸虚单边炸实+另半边双扎冰车统统都是非定态操作,是真的会意外刷新的。(炸实 = 收跳跳,炸虚 = 不收跳跳)


甚至在极端情况下,双边炸虚也是有可能刷新的。


而且,意外刷新不仅发生在脆皮白眼关,脆皮+红白关一样会出现!而且不需要红眼夹0,如果红眼只有1只也是有可能意外刷的。


看着这个数据我思索了半天,双边I3PD到底是个什么屑操作……。


推论①:感觉阵设不对称的阵真是爽,毕竟半边热过渡或者半场I3PD啥的还是挺稳的。

推论②:为什么会这样?原因是自然出怪里冰车和跳跳占比远高于极限出怪,恰巧冰车血又厚,分离冰车+跳跳就很容易翻车。然而这就是游戏设定;“热过渡”本来就是无视游戏规则而逐渐发扬光大的一个操作,囧。(同理,减速PDD好不到哪里去,甚至比I3PD更糟,因为它带走全场矿工冰车的同时还带走了大部分跳跳+小部分梯子小丑篮球橄榄,直接刷了根本不奇怪……)

推论③:热过渡完还要有冰分离一下?少年你确定吗…… @tp14

推论④:当然,这不是要否定各种只能玩极红的“假阵”(好像全员假阵的话也显得没那么假了),但是不建议用假阵的操作碰瓷真阵。举例来说,PE24最优解法就是P6-2I或者P6-3I,其他各种冰变奏解法稳定性都远不如P6,注意是远不如,连接近都做不到,因为【热过渡】这个事情本身就有问题。P6>一切。


63. 现在来照顾一下另一个玄学:BPSD。数据如下↓



首先明确一点这东西肯定不能在w10用。快速分离不干净+刷新延迟,幸福二选二(


在其他的波次呢?这里分成了两种:一是w1~w5,特点是水路无鸭子;另一种是有鸭子。区别在于上半场PSD时,D落点在1路,是伤不到水路普僵的。


从结论上说,在特别龟的组合下,PS在291生效,D于401生效的BPSD偏向于定态激活,其激活比例平均值接近于278PP并炸。但是极端情况下仍会出现延迟,原因是其方差比PP并炸要大许多,脸一黑就滑到100%以下了也说不定(


如果PS在226生效,D在336生效,那延迟概率就非常大了,因为过早生效的D会漏掉许多慢速僵尸。其激活效果远不如225双边PP炸实。


最后说点喜闻乐见(?)的话题。PP延迟这个东西也作为都市传说流传好久了;实际上的确是会出现,如果PP-ice2的话就稳不少了,或者359生效的PP(例如精舞)。像垫才24那种?自求多福吧(悲),脸黑的话肯定是会延迟的……


推论:“垫才24和DE神8是两大划时代巨作。他们成功地将超多炮的运阵目标从100F自然降为了2F极红。”


64. 话说为什么不考虑上半场B下半场PSD的情况?这主要归功于2路分离炮太坑爹,漏1路跳跳是板上钉钉,也因此实际上很少用,故此略去。

65. 进度即将过三分之二,是时候来句看似很有道理的废话了。其实打极红还是打自然是无所谓的,但是既然打极红,那就的确是自娱自乐,因为极红跟PVZ没有任何必然联系,只是上古年代某位修改器作者灵机一动的想法而已。这个游戏是很难的,只是你们把它简单化了而已.jpg (话说如果以极红为基准,其实双边分离快速何尝不可呢,毕竟自然出怪下双边热过渡都会刷,干脆把极红的特点利用到底嘛x)

66. 抛开哲学话题,说说 @梯子 这个神奇的僵尸。有一个值得注意的事情是:梯子是很讲究相位的,因其步伐一大一小,而每次垫过后会重置相位,因此垫的时机就很关键。实际上如果垫的时机糟糕的话,梯子甚至能在359之前就啃到8炮……因此精舞波要记得在梯子啃9列前铲掉遗留的垫才(

67. 完美冰下,假设垫才能存活268cs,那么梯子不啃8炮的极限波长是1647,需在775左右施放垫才。花盆刚放下的99cs是无敌期,不受啃食伤害,一般垫满268没问题;但普通垫才的话还是比较悬的,因此波长尽量还是能缩就缩(废话)(这和我用1672有什么关系呢.jpg)

68. 别忘了前面某条提到的啃食计算问题……减速僵尸8cs才计算一次啃食,换句话说1440(8的整数倍)~1447的炮损是一模一样的,这也是为何上面给出的极限波长是1647。同理,如果是1634波长,其实拖到1639也是完全一回事。

69. 说到相位就不得不提老大难的“相位重置”问题。简单来说,巨人和梯子一样,其行进步伐不可简单加加减减,必须考虑砸垫和投掷造成的相位重置,over。

70. 如果直接加加减减会发生什么呢?其实发生什么都有可能。因为这个算法从根本上就不对,就好像在虚幻的世界里寻找现实一样,既有可能找得到,也有可能找不到。讲道理垫才24的“理论0砸率”不就是从这个地方算出来的嘛。

71. 关于垫才24。连续PDc到底为什么会砸?不妨研究一下:普通垫才放置到撑杆啃炮最早287;若使用小喷/阳光菇则为267,不过这里为了数据的泛用性暂且先无视。巨人最早可伤225,因此保证撑杆不啃炮的话,不得早于225-287(+601) = 539前放垫。对于3血红而言,539砸垫后,最早在第二波投掷完毕后129会对炮举锤,也就是225+142(投小鬼花费时间)+129 = 496对炮举锤。如果要保证撑杆无伤,垫才最早539才能放置……因此就有砸率了,砸炮区间为43cs。

72. 控制栈位(即使得炮和垫才同样处于巨人敲击范围时先砸垫才)并不能解决这个问题,只能“缓解”,因为巨人可以有多只,第一只让垫才挡刀后,第二只第三只还是会砸炮……

73. 但是,智能垫才脚本却可以解决这个问题。思路很简单:如果真的出现非常快的巨人,那就在他即将举锤前的一瞬间种垫才就行了。虽然这会导致撑杆啃炮,但 ①啃炮总比砸炮好;②并不会波波都出现这么快的巨人;③也并不一定会出现最快的撑杆。综合而言,使用了智能脚本后的垫才24是可以稳定运行的,只要忽略PP延迟的问题,嗯……

74. 像这样炮损兑换砸率的解阵方式,在这个阵里也有体现。原本间C7u下,【冰波→加速波→加速波】的第二加速波是有概率砸炮的。但是只要稍作变通,第二加速波从精舞改成PDc,就可以免去砸率!虽然这会导致减速撑杆有约30cs的啃炮区间,但 ①啃炮总比砸炮好;②并不一定会出现最快的撑杆;③阵型阳光充足,红白关以外均可带套件随意换炮。综合而言,这一方法确实是有效的。

75. 然后来说说拦截吧……首先祭出神器拦截计算器(tieba.baidu.com/p/7332779691)。常用的指令基本就是wave设定波长,然后hit/nohit算落点,delay快速拦截计算,minmaxDelay复杂拦截计算;再有就是pos和walk计算巨人的坐标。注意:计算器默认的逻辑是【植物激活→炮拦截】,因此实际若为【炮→炮】则须+1,【炮→植物】则须+2。譬如计算器给出的ND5延迟为106,但因为实际上是炮→核武,所以应延迟108;事实上这也是唯一必定成功的一帧。至于古人为什么用106还能屡屡成功,恐怕只有上帝知道了。

76. 一般而言,除天台以外的场地,若只拦下行则允差很大,有时很离谱的落点+很离谱的延迟(比如原速delay140这样的)都能拦到,究其原因是小鬼是向上飞的。核武的话,(后院场合)3路核一般可以拦全场,4路就算了;前院的话,2路核拦全场的允差很大,3路就只有1帧了,众所周知。再次强调ND5特指于3-9生效的N,也就是老NE20上f使用的操作,不要把它和2-9N的常规拦截混同。

77. 天台场地由于巨人肾虚,小鬼近乎平抛,拦截就像炸普僵一样轻松(大概)。中段拦截,或者拦三行之类的操作有很多,具体的话用拦截计算器算就可以啦(PS:注意更新版本,v1.0.4及更旧的版本里天台计算有bug)

78. 话说,只要用足够好的风炮,天台可以直接怼着三血红用I3PD……应用场景暂时未知。

79. 从性质上说,1~3列是妥妥的风炮;4~5列两用,接近平炮;6~8列妥妥的平炮。其中,1~2列炮全伤下行巨人非常痛苦,但往往又做不到不伤下行且伤本行,一些特殊激活需求(比如想要激活全场白眼但不碰红眼)可以用风炮炸5路、平炮炸2路的方法实现。使用4~5列炮时,其基础性质还是接近平炮的,也就是如果只拦两行小鬼,仍应炸上行而非下行;强行用作风炮时,其拦截允差并没有真·风炮那么大。

80. 无论前院后院,尾炸两行 vs 三行的难度完全不是一个数量级的。作为简单的参考,一般尾炸两行总是能无伤(前提是落点在4列左右),又要尾炸又要收矿工的会有微伤。如果是尾炸三行,那伤就更大了;如果只处理一波小鬼则还好,若处理多波可能连微伤都算不上……大概是“中伤”吧。不过以上这些对减速小鬼不成立,因减速小鬼落地到啃食的时间比原速长25cs,因此再奇怪的操作基本都能无伤~微伤。

81. 尾炸两行只考虑本波小鬼时,尾炸炮的炸点范围很松,最右甚至可以取到5列。同理,减速波什么的也可以取到4列乃至4.5列等等。一些需要收跳跳的场景里很有用。

82. 另外,冰杀小鬼真的是邪教,这玩意邪门到让我很怀疑到底配不配得上被称作“科技”。如果要冰杀,那冰的生效时机只能取到【理论上冰住所有小鬼的最早值】不是么?但如果真取得那么晚,炮大概两下就要被啃没了……可是如果不取,又有小鬼没被冰住导致肆意啃炮的风险。所以以后哪个阵要用冰杀小鬼还号称严谨的,建议先用拦截计算器算出冰杀时机,并且录制过程全程打开植物血量显示,否则我是绝对不想信的(友情提示:自然出怪下白眼数量比极红多很多)

83. 关于664(669)波:其实炮损什么的都是次要的,即使只用普通垫才1F里只用1次也不见得梯子能把炮给啃没了。其最大的限制还是在巨人上。前院行距大,要收上/下行伴舞则本行巨人都会漏,可以直接抬走了;若为后院,收本行伴舞和收三行巨人不冲突;收上行、下行则只能伤两行巨人。因此,若两路都有超前置炮,炮落在上路可确保全伤巨人(上半场的话,就是炮炸1路,3路海豚潜水等需特殊处理);或者是1路准超前置,2路有超前置的情况,垫1路舞王后可以炮炸2路伤三行巨人。

84. 特别注明:“收下行伴舞可以伤两行巨人”只对669波适用,对664波不成立。可谓差之毫厘谬以千里(


85. 地刺相关:放置到生效26,攻击间隔101。9列地刺最早全扎冰车292;8列为622;7列1014;9列最早全扎投篮428(此处感谢SKO同学提供的数据)。不过要注意这里总是假设有别的僵尸引发地刺,例如9列地刺,假设其在292+26 = 318时生效,正好可全扎冰车。但实际上可能冰车速度都很慢,地刺的实际触发时间会晚于理论值(但同样能够全扎)。

86. 冰车相关:冰道持续时间3000,而且其计算方式非常坑爹……一长段冰道只要有新的冰车踏上一点点,整段冰道就不会消失(直到这辆冰车死亡3000后)。也就是冰道消失时只会整段一起消失,且在消失前只会向左延伸不会向右后退。辣椒生效到植物可种植19。

87. 核坑相关:夜间参数6一般两个稳定核坑+一个特殊坑即可成立;参数7的话全程只需2坑,一般可以2f3坑以解决w19收尾的问题(虽然其实w19红眼这种事情无视了也无所谓……);参数5的阵比较罕见,通常来说3坑可以成立;参数4也就是C2需要妥妥的4坑。

88. 减速PD相关:虽然和本波冰时机以及下波冰时机有关,但一般而言1850左右的波长已经是减速PD的极限了,再拖长会导致“全拦小鬼”和“不伤本波红”冲突。某些阵型可以使用激活炮生效后立刻垫9列的方法规避此问题;或者就干脆Pd吧(或者PSD也行)。天台无视此问题。

89. I3PD/减速PDD相关:极红出怪下,I3PD通常可以严谨地将极限波长拖延1.5s以上。实际上根据冰波长短,第一P不一定要410生效,可以适当拖延,确保能全伤上波白+本波矿即可。由此,D的时机也可以适当拖延,达成更好的分离效果。减速PDD的话,这里特指96冰+105左右D分离冰车矿工+一部分快速的打法。实际上计算精确的话,D可以拖到110~115生效,以收掉更多跳跳(不过全收是做不到的)。相比而言延长极限波长的效果不如I3PD,但也能严谨地延长0.3~0.6s左右。

90. 智能脚本相关:这里讨论的智能脚本主要是读取僵尸坐标以及速度。至于小丑爆炸倒计时、解冻倒计时乃至刷新血量比例这一类肉眼完全不可见的敏感信息,不在讨论范围内,尽管无法排除这些非常规手段在未来被普遍化的可能。原则上,智能脚本 ①不应该是借口,而是真正能够实现的;②不应该用于解决“严谨性”方面的问题。关于第二点,简单来说就是假设某个波长没法全收某僵尸和某僵尸,即使用智能脚本智能判断僵尸坐标并调整落点,极端情况下收不了还是收不了,所以不严谨的仍然是不严谨。

91. 智能脚本的关键作用是解决一些非致命且发生概率不大的问题。前面垫才24紧急垫才是很好的例子;其他的还有智能铲垫,即巨人即将举锤前铲垫,而非直接-416铲。诚然极端情况下-416就得铲了,但既然这里的目标是降低炮损,能垫住的时候多垫垫当然没什么问题,况且炮损并非致命的伤害。这个阵用到的智能土豆卡矿工也是一个不错的例子。再比如这个阵使用智能脚本解决了热过渡炮蹭到4路巨人的问题,虽然实际录制时脸太好一次都没用到……

92. 说到这里,不妨提一嘴和智能脚本类似的一个概念:存冰/存核动态平衡。后者较为少见;前者的应用场景还是很多的,虽然目前载体很少。对于极红无法恢复存冰的阵型,推荐先思考转白后有无省冰节奏,由此达成存冰动态平衡,例如这个阵。当然,以自然出怪论阵有其独特的难度,比如热过渡刷新等问题,但还是那句话毕竟极红和PVZ没啥关系不是么。

93. 现在讲点玄学话题。

天地之桥定律一:守同样炮位,若为全场,夜间比白天多2炮;若为半场,夜间比白天多1炮

天地之桥定律二:若X炮可以守半场,则2X炮可以守全场


嗯,没有什么证明的,虽然例子很多。

这个东西的“例子”多到什么程度呢?大概目前我能想到的唯一明确反例是NE没有守全场16,另外就是一些9列炮阵了。如果说正面的例子,PE守全16→FE18,PE水无14→FE水无16,RE螺旋10→ME瓮中捉鳖,RE16守全→ME18,PE斜方8→FE斜方10,PE最后之作(+高坚果-2炮)→FE最后之作等等,不一而足。


当然这个东西没法拿来证明什么,不过作为一种玄学知识也未尝不可不是么(


另补猜想又一 by 粉笔:FE能键控的阵PE可以手控;PE能键控的阵+2炮可以手控。


94. 关于C2f:没想到意外的有挺多人不知道啥是“C2f”的,特此科普一下。quote自13年某轨道贴:

双冰四炮变奏:card 2 fast,简称c2f,适用于白天场地,发布人风花镜月。得名于在一个比炮阵略长的操作循环中,进行了2波炮炸操作。模糊变奏,在36~44秒之间浮动。操作间隔与冰蘑菇停滞+减速效果相契合。特殊情况下的精确变奏循环为42秒。


注意“模糊变奏,在36~44秒间浮动”这句话。当然现在的人可能已经无法理解什么是“模糊变奏”了,但简单来说ch4是C2f的一个特殊情况。17.5 | 17.5是ch4,也是一种特殊的C2f,而之后从17.5 | 17.5到 22 | 22为止的各种波长理论上都是C2f的范畴。换句话说C2f才是唯一正统,像 19 | 19这样的波长,离ch4的概念相去甚远,C2f无误。

95. 另外,ch7和C7u在本质上也是混同的。一些阵型(比如这个)虽然没有使用 18,18,6,6,6的波长,但其复用方法就是继承自ch7而非C7u的,可见波长并非唯一鉴别的标准,不可刻舟求剑。

96. 但是说到底,纠结一个节奏命名属实没什么太大意义,爱叫什么就叫什么就行了不是么。很多时候只是看问题的角度不同而已,比如ch6和C9i,比如I4和I6。

97. “完全被淘汰的节奏”……目前来说好像只有ch8一个(可能捎带上C8i?)。8这个数字真是太杯具了,心疼0.15s。不过我是觉得 15 | 13 | 6 | 6 | 6 | 6 这样的称作ch8也没什么问题,大概(指这个阵

98.  关于“强逐波”和“弱逐波”:这方面的概念一直是一锅粥,可能主要是强逐波的真正载体太少了,人类毕竟无法想象想象不到的东西。不过这个概念也接近是垃圾口袋了,跟“定态”和“非定态”,“铲种”和“无铲种”等等类似,都是人为定下的概念罢了,跟打僵尸没有什么密切联系。与其纠结这些概念,不如多着眼于解背后的内涵。

99. 最后来说说收尾拖普僵这件事。觉得收尾拖普僵危,那主要是用极限出怪用太久的错觉。实际上自然出怪下,大波固定先出8只普僵,之后还会随机到各种慢速僵尸……与其考虑“如何不炸到普僵”,更加现实的问题是“如何多炸到普僵”。事实上,自然出怪下,340生效炮,110后D,110后再D,一样会留下一堆普僵(而且操作稍有不慎就难以分离,导致收尾gg)。所以担心这一点真心是杞人忧天了,自然出怪的特性决定了收尾拖普僵是非常简单的一件事;如果真的要追求严谨,用智能脚本读一下僵尸数据炸到只剩一只也是非常简单的事。

100. 一百条到此为止。居然随便写写就超过1w字了,不可思议。另外:想提高EL技术的小朋友建议平时没事多翻翻精品区,因为里面真的有很多有用的东西,只是你错过了而已(

【PVZ】一些无所谓的琐事的评论 (共 条)

分享到微博请遵守国家法律