本文使用自定义的虚构练习来说明一个通用问题:分类计数与对象总数不要混在一起。场景设定为基地沿指定路线展开侦察,生产与移动分别计时。下面的数字仅属于本题,不代表某款实际作品的数值;如果游戏内规则不同,需要先替换假设,再进行计算。
同一个对象可以带有多个标签,例如已经完成但还需要复查。如果把每个标签的数量直接加起来,就可能得到比真实对象数更大的总数。
已完成6个侦察区域,其中2个还需要复查;另有7个尚未开始。若“需要复查”本来就是已完成集合中的一部分,就不能再把它加进完成数量。当前不同目标总数为13,其中待处理的工作包括7个未开始项和2个复查项,分类统计与对象总数是两回事。
分类是否互斥决定了能否直接求和。互斥分类中每个对象只属于一类;非互斥分类则需要记录交集,不能只凭分类名称推断关系。
先给对象编号,再附上状态标签。统计不同对象时只数编号一次,安排工作时再按标签筛选,这样既不会漏掉复查,也不会把它当作新对象。