这取决于变量的内容。如果要累计的是实例变量(比如地图上的雷达,这是具体而且地图上已经有的东西),那么变量无法累计;但如果是抽象变量,地图上不存在的话(比如作战小队),便可以累计。 为什么有些变量可以累计而有些不能呢?作者目前所想到的能够无上限累计变量的方法只有一个,就是利用电脑AI。假设每隔10秒电脑派出一辆天启坦克,玩家摧毁100辆天启坦克为胜利。那么,100辆就是一个较大的数字,一般来说,我们会将这个天启坦克的归属方改为一个特殊作战方,当该作战方被毁100数量的单位即胜利。然而如果我们将胜利条件修改为摧毁500个电脑单位,其中摧毁100辆天启坦克有援军的话,这招就没用了。 利用AI的特性,我们可以做到无上限累计变量。我们知道,假设AI的建造场数量为N,那么当我们摧毁一个防空炮且这个防空炮有节点时,AI会重建N个防空炮。如果n=2,那么每摧毁一辆天启坦克,电脑就会增加一个防空炮。当防空炮数量达到101时,玩家就赢了。同样这也能说明实例变量没有办法无上限累计的原因:无法像小队那样重复地关联着一个触发。 此外,我们还有一个推论:地图编辑器可以做到有限个变量的累计。此外,地图编辑器可以判断一切有限元一次不等式是否成立。这是因为变量是可以累加的。我们在前面已经知道了变量之间的大小比较方法。比如,把电脑改成两个,玩家一个,假设玩家占领A个建造场,电脑两方分别占领B、C个建造场。那么我们需要比较A>=B+C是否成立。因此易知,只要C的坦克加到B上面,与B执行一样的脚本即可。同样,如果是A>=B+2C,则只需把C的特遣部队改成2架坦克就行了。 以上就是变量论的基本内容,如果有什么缺陷或者其他想法,请务必联系红警任务之家:OPERATE。 |