level 7
unciv 是用科特林写的一个开源游戏, 打包成java. 楼主下载了源码, 代码可读性类似于python.这个帖子是想从源码上找到一些重要的计算公式, 让玩家战胜更强buff 的AI
2023年04月21日 14点04分
1
level 7
二楼收集下想了解的内容, 比如政策所需文化值的公式什么的.
2023年04月21日 14点04分
2
level 7
首先是 City 文件夹下面的代码翻译, 只给出了一些比较重要的内容
2023年04月21日 14点04分
3
level 7
## CityEspionageManager.kt
在方法内部,首先创建了一个新的`City`对象,并对其一些属性进行了初始化。然后通过调用`generateNewCityName`方法为城市生成一个新的名称。
接下来,设置城市是否为首都,以及对文明信息中的城市计数器进行递增,并将新创建的城市添加到文明信息中。
然后,根据游戏参数中的起始时代,添加了一些起始建筑物。接着,将城市的工作区域重置,并尝试更新道路状态。如果该城市的中心瓦片上存在地形特征,则将其移除。
接着,为城市的人口分配一个初始人口值,并根据文明是否已经有宗教信仰添加一些压力。然后,通过循环更新所有文明之间的邻近关系,并触发一些特殊事件。最后,返回新创建的城市对象。
`addStartingBuildings`函数用于添加起始建筑物。它会在城市是首都时添加一个名为`capitalCityIndicator`的建筑物。然后,它会根据起始时代添加一些其他建筑物。
最后,`triggerCitiesSettledNearOtherCiv` 函数用于触发城市附近有其他文明时的事件。如果有其他文明的城市在6格范围内,该文明的DiplomacyManager会设置一个标记,表示该文明附近有已经定居的城市。这将会在AI中触发一系列事件,并可能影响玩家的外交关系。
2023年04月21日 14点04分
4
城市建立如果是首都会得到一个宫殿的建筑
2023年04月21日 14点04分
level 7
城市相关的重要信息就这些,暂时更新到这里,之后会更新文化,科技相关的内容
2023年04月21日 14点04分
8
level 7
科研相关公式可以参考这个网站http://www.civclub.net/bbs/forum.php?mod=viewthread&tid=123976
2023年04月22日 06点04分
13