|
在论坛上看到不少人都和我一样希望加入粮食运输,但是有人提出这样做会让操作变得很麻烦.今天我突然想到一个方法,按照现在文明4的程序算法,就可以解决这个问题.
首先,增加一个粮食运输的界面,里面有所有的城,然后在这个界面当中设定每个城市的输入输出的粮食的比例,就和4里面分配间谍点数的做法类似.这里可以设定必须进入贸易网络的城市才可以互相运输粮食(贸易网络的条件是每个城市都和首都相连,这样可以保证一个国家只有一个内部贸易网).
输出粮食的数值很容易确定,由输出城市的产值和玩家设定的比例决定.而输入城市所能得到的粮食则由电脑自动按照总体运输损失最小的目标来计算得出.
文明4里面,城市商路是按照总体收益最大的目标由电脑自动优化的.根据这套算法略作变动后,就可以计算出总体运输损失最小时的粮食分配方案.当然这个算法并不一定能够得到全局最优解,我记得好像已经证明文明4的自动分配商路在某些情况下并不是总体收益最高的方案,不过基本上已经够用了.
这个算法有个问题就是会导致输入的粮食不是整数,因为运输损失肯定是个小数,不过对于文明5来说肯定会重新设计这套数值系统,应该可以解决非整数的问题.
同时,我认为,加入了运输和运输损失后,道路会有更重要的作用,高粮城和工业城之间肯定有一条运输损失最小的道路,玩家就要保护自己的交通要道不被截断,同时努力去截断敌人的交通要道,甚至把对方工业城周围的路全部断掉. |
|