1、第一:人口属性。 游戏中所有的小人有以下属性(不包括姓名和血缘关系之类的无用属性):是否旖你讨扉饥饿,是否生病,不咫圄虍咻满。 饥饿是一天不吃饭就会饿,然后就会概率饿死,这个属性是一定的,通过时间来计算,应该是有计时器系统,毕竟不是每一个人都同时生病。 是否生病(和生病概率),就是是否生病,生病机制我们下面说, 不满,这个应该是以值的方式存在,当有不满的人死掉,你的不满值就会下降,但是希望应该是一个整体值,并且通过累加,而和市民本身没有直接关系(间接关系),所以才会出现你希望满了的同时,不满其实也可以满。
2、生病机制: 生病的系统基本上可以确定是按照人口比例随机生病。 每个小人都有生病的概率,将同等级生病概率的人放在一起计算,然后计算下一个等级,正常情况下,其实生病的值已经确定了,只是在之后才发给每个小人而已。
3、 生病概率和当前状态有关(在家,在工作地点,在路上),并且会改变(假如家里比工作点暖和,那么生病概率逐渐降低,在家里比工作地点冷,生病概率逐渐下降) 上面这点可能看上去比较玄学,但是我们有验证方法。 随便开一局游戏不修房子,第一天晚上病两三个人,但是这三个人基本上不重复,但是每个人都会有生病概率。
4、 同时也可以发现,就算工作地点很冷,只要没到严寒,就不会立刻生病,生病都是晚上的事情,那么假设,我们白天开低等级能量塔,晚上在调高+过载,就能够有效减少患病率。 那么可以大胆猜测,其实生病是从晚上某时刻结算,并在系统后台逐一随机发放给市民(这样能做出缓慢生病的效果,并节约运算量) 所以我们只要在它的结算前,将温度提升,就可以避免相当数量的市民生病。
5、 推测时间第二天0点之前,具体应该是八点到11点之间,但不可能是八点整(毕竟那个时候小人才刚刚回家) 反证:如果我们在零点出现任何病人之前,将温度提升,但是生病人数并无明显变化。 其他旭午刎儆猜想:或许是因为生病概率的改变需要时间。 总结:无论具体算法如何,结算机制肯定存在,否则无法解释为什么是随机和按比例生病,第二提前开炉子提升温度肯定可以减少生病概率,推荐六点以前开,因为预热也要时间。