通过控制植物ID,使模仿者产生的植物错误地运行加农炮开火函数,从而执行一些未定义操作。

寒冰射手避免崩溃的原理:

加农炮开火会设置发射倒计时,这个操作会让正常无法开火的植物开火。而决定子弹类型的地方,有关变量是没有初始化的,所以子弹类型是个ub,大多时候是一个很大的数。这样会导致之后子弹绘制,子弹击中僵尸取伤害等地产生极大的ub行为,而且很容易导致崩溃。寒冰射手的部分代码恰好可以使这部分为0,从而避免崩溃。