|
发表于 2012-11-9 08:36:47
|
显示全部楼层
神作
关于宗教人口的分配,以前有过这样的怀疑,但是不知道还有无信仰的存在。
知道了无信仰的存在,就可以解释为什么有其他宗教压力时,第一个信教人口反而来得更快。
最后来说下产生大预言家的时机。在bool CvGameReligions::CheckSpawnGreatProphet(CvPlayer& kPlayer)下,只截取核心部分。
复制内容到剪贴板
代码:
if(iFaith < iCost)
{
return false;
}
int iChance = GC.getRELIGION_BASE_CHANCE_PROPHET_SPAWN();
iChance += (iFaith - iCost);
int iRand = GC.getGame().getJonRandNum(100, "Religion: spawn Great Prophet roll.");
if(iRand >= iChance)
{
return false;
}
RELIGION_BASE_CHANCE_PROPHET_SPAWN定义在Global下,值为5。
这个的意思是,每回合产生大预言家的概率是(5+X),X为溢出的信仰。
恩,看起来很不科学嘛。
关于大预言家的诞生机制,我补充几句:
把(5+X)理解成概率也是对的。
irand是获得的一个0-100的随机数,如果这个数大于ichance,不会诞生大仙。
可以看到信仰溢出越多,大仙诞生几率越大,信仰溢出超过95,必然会诞生大仙。
[ 本帖最后由 zclient 于 2012-11-9 10:38 编辑 ] |
|