6.2 运算量的概念
直觉上,我们明白樱桃能代替核武的作用,核武能代替炮的作用,炮能代替樱桃的作用……
不过这样的理解还是略显混乱。我们能否从炮与灰烬植物间找到共性,抽象出一个通用的概念?
我们约定以最常见的炮作为衡量基准,称发射一次玉米炮等价于操作1个“运算量”。
樱桃的伤害范围和炮完全相同,因此一个樱桃相当于1个运算量。
核武比较厉害,可以覆盖以自身为圆心,直径约7格的圆范围内的所有僵尸,如图:
我们认为一个核武约等于2个运算量(实际上略强一些)。
在一些情况下,组合使用火爆辣椒+窝瓜约等于1个运算量(实际上稍弱一些)。放置窝瓜时务必小心,因为窝瓜很容易演戏(
明白了运算量的概念后,我们可以探究一下运算量数与参数间的关系。
🤔想一想:P4节奏的一个周期内,是要求发射8次炮,还是要求8个运算量?
参考答案
答案是8个运算量;发射8次炮只是满足8个运算量要求的其中一种方式。
如果我不走寻常路,非要7炮+1樱桃,或者6炮+1核弹,甚至5炮+1樱桃+1核弹凑一个周期…… 当然都是可行的。
🤔想一想:运算量总数和参数间存在何种关系?
参考答案
P4共8个运算量;P5共10个运算量;P6共12个运算量。
我们发现,运算量总数似乎总是等于参数*2。
这其中的原因在于:对于P系节奏,参数等同于一次周期内处理的僵尸波数。而每波僵尸都需要2个运算量才能完整覆盖。只发一炮,或只用一个樱桃,或只用一炮+一个辣椒…… 肯定都不太够,不信你可以问问僵尸们。
既然每波僵尸要求2个运算量,那么X波僵尸就要求2X个,因此PX节奏总共包含2X个运算量。