设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 4664|回复: 6

[疑问] 粮仓的机理

[复制链接]
发表于 2009-10-28 08:46:50 | 显示全部楼层 |阅读模式
2009-2-8 14:36 西艾薇.L.司
回复 #11 INTheEnd 的帖子

简单的说,建好粮仓以后,粮食积累分为表面积累与隐藏积累。
表面积累你都看得见,隐藏积累则看不见,但数量与表面积累相同。
人口增长后,比较隐藏积累的粮食量与当前粮食进度一半的粮食量,取较小值。
人口增长后进度条里剩余的粮食值即为上述的较小值,同时隐藏积累清空。


---------------
有2个问题:一是人口是否增长是根据表面积累有没有达到人口增长的要求?
二是人口增长后隐藏积累清空? 那不是跟 "表面积累你都看得见,隐藏积累则看不见,但数量与表面积累相同"这个不统一了吗?
发表于 2009-10-28 14:33:10 | 显示全部楼层

回复 #10 dieliving 的帖子

 楼主| 发表于 2009-10-29 11:28:24 | 显示全部楼层
有高手能详细解释一下粮仓机理吗?
发表于 2009-10-29 23:41:46 | 显示全部楼层
我n久前发在kk上的,幸好还有保留,将就看吧。

发现cIV出来2年,kk上居然还没有较全面的解释这一基础问题的文字,乘暂时有空,归纳一小下。

1. 粮食盈余s
城市每回合的粮食收入扣除人口消费的粮食后,剩余部分成为粮食盈余。例如1人口城市,收入粮食5,消费粮食2,则盈余s = 5 – 2 = 3。

2. 粮食积累 f
城市每回合的粮食盈余转入粮食积累,即下回合粮食积累f’ = 本回合粮食积累f + 本回合粮食盈余s

3. 人口增长(无粮仓)
当城市粮食积累超过或达到人口增长必须的粮食F时,城市人口增长。
游戏设定城市人口从n增加到n + 1必须的粮食积累F(n) = 2 * (10 + n)。
以下为简便起见,城市的粮食/人口状态我们用f / F (n)表示,例如 9 / 22 (1)表示城市人口1,当前的粮食积累为9,人口增加必须的粮食积累为22。
所以,人口增长的条件我们可以表达为f >= F (n)。我们定义粮食溢出o = f – F(n),则人口增长后的那一回合,粮食积累f’ = o。
例如,t回合, 20 / 22 (1),s = 3;则t + 1回合,1 / 24 (2)

4. 粮仓的作用
粮仓的作用是“克隆”粮食盈余。怎么理解?就是每回合的粮食盈余s不仅增加粮食积累f,粮仓存粮R也增加同样数量,即f’ = f + s;R’ = R + s。
但是,在自然增长的情况下,粮仓存粮的上限不能超过人口增长所需的粮食积累的一半,即Max( R(n) ) = F(n) / 2。
粮仓是在粮仓建完后的那一回合开始“克隆”的,而不是粮仓建成时的那一回合。
例如:
T0:粮仓建成,3 / 24 (2),s = 5, R = 0
T1:8 / 24 (2),s = 5,R = 0 + 5 = 5
T2:13 / 24 (2),s = 5,R = 5 + 5 = 10
T3:18 / 24 (2),s = 5,R = 12 (因为10 + 5 = 15 > 24 /2)

5. 人口增长(有粮仓)
有粮仓的情况下,人口从n增加到n + 1的条件不变,但是人口增长后,粮食积累变为f’ = o + R。
粮仓存粮变化稍微复杂些。
如果R >= F(n) / 2 (没错,有可能大于的),R’ = F(n) / 2 + o;如果R < F(n) / 2,R’ = R + s。当然,如果上面计算的出R’ > F(n + 1) / 2,则R’ = F(n + 1) / 2
继续上面的例子
T4:23 / 24 (2),s = 5,R = 12
T5:16 / 26 (3),R = 13
其中o = 23 + 5 – 24 = 4,所以f = 4 + 12 = 16;又因为24 / 2 + 4 = 17 > 26 / 2,所以R = 26/2 = 13
再举个例子
T0:粮仓建成,17 / 24 (2),s = 5, R = 0
T1:22 / 24 (2),s = 5,R = 0 + 5 = 5
T2:8 / 24 (2),s = 5,R = 5 + 5 = 10
因为o = 22 + 5 – 24 = 3,所以f = 3 + 5 = 8

6. 杀人加速的影响
很简单,杀人加速降低城市人口(废话),同时f 和 R均不变。
举例:
杀人前:16/24(2),杀人后16/22(1)
提示:如果杀人前的粮食积累f大于杀人后的人口增长所需粮食积累F(m),下一回合人口也会增长,即使是加速工人/移民也不例外。(记得挖的诸葛弩战报里有这样的微操)
再举例说明一下粮仓存粮的变化。
T0:杀人前23 / 28 (4),R = 14
杀2人后  23 / 24 (2),R = 14,s = 4
因为杀人加速不影响粮仓存粮,所以这里R = 14 > 24 / 2
T1:17 / 26 (3),R = 13,s = 4
o = 23 + 4 – 24 = 3,f = 14 + 3 = 17;又因为14 > 24 / 2,也大于26 / 2,所以R = 13
T2:21 / 26 (3),R = 13,s = 4
T3:25 / 26 (3),R = 13,s = 4
T4:16 / 28 (4),R = 14
 楼主| 发表于 2009-10-30 09:09:20 | 显示全部楼层
原帖由 Sukadi 于 2009-10-29 23:41 发表
我n久前发在kk上的,幸好还有保留,将就看吧。

发现cIV出来2年,kk上居然还没有较全面的解释这一基础问题的文字,乘暂时有空,归纳一小下。

1. 粮食盈余s
城市每回合的粮食收入扣除人口消费的粮食后,剩 ...


写的很清楚,谢谢S大,主要就是隐藏的粮仓粮食不清空的
这样的话,粮仓建好的最佳时间就是在积累余粮在一半的时候了
发表于 2009-10-30 11:24:15 | 显示全部楼层
楼主你去玩玩文明4殖民帝国,这个问题就好解释了。我就是玩那个才自通的。
对于那个游戏来说,同样是粮食积累,积累到300后出一个人,粮仓清空,或者从海外进口300单位粮食,就可以在城中养一个人出来。倘若按这个数据,建了文明4里的粮仓,那就相当于养一个人只需要150粮食积累。换句话说,一个人口所需的粮食积累减半,或者说,人口增加速度加倍。


粮食积累就去看你的每回合粮食总数-每回合消耗总数=盈余,就是每回合积累的粮食。
发表于 2009-10-30 14:41:24 | 显示全部楼层
所謂的隱藏積累就是放進糧倉裏面的糧食,表面積累是消耗掉用來增長人口的糧食(其實城市糧食進度條裏面可見的糧食已經被吃掉用於增長人口餓了),但糧倉的容量是有限的,只有糧食上限的一半。
人口一增長,這個時候把糧倉裏面的糧食全部搬出來就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-3-29 23:55

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表