我一直在尝试为“Minecraft”游戏的模型设计一种名为“Nuclearcraft”的算法。更具体地,一种优化裂变反应堆冷却值的算法。
这个裂变反应堆只是一个立方体,内部至少有一个反应堆,现在,取决于你通过减速器块或直接相互连接的数量,它几何上增加了产生的热量,直观地,如果反应堆超过它爆炸的最高温度。
算法应该做的是当在一个简单的分层网格中给出带有我的reactor布局的.txt文档时,例如:
101
000
101
202
000
202
101
000
101
其中0是空气或空的空间,1是反应器单元,2是慢化剂块。 它应该试图在空旷的空间内排列该网格内的可用冷却器,有不同种类的冷却器,每种冷却器都有自己的规则和不同的热量(因为它的冷却热率是一个负值)。冷却值是静态的,取决于实际放置的冷却器独立的类型,唯一的规则确定它是否有效,因此对于单独类型的冷却器而言,没有最佳放置只是有效的。
问题在于所使用的逻辑,一个简单的排列从冷却器下降到最冷却率并检查它的规则。这适用于第一次迭代,以及后续迭代。但我不只是试图找到一个解决方案,而是一个冷却率最高的解决方案,我的意思是“X,Y,Z”中的一个冷却器可能会冷却少于两个冷却器,在几乎相同的空间上具有特定的规则,本身就是另一个问题,理想情况下,立方体不应该有空格。
至于编码不同的冷却器块类型,我想把它们作为对象添加冷却值作为属性,并且每个都有自己的验证函数,如果可以放置或不给出块网格,则返回true或false坐标。 另一个因素是可以避免使用某些类型的冷却器,这些冷却器在我工作后需要稀有材料,在模型中,一些冷却器具有相似的规则,只是具有优异的冷却速率,这取决于所用材料的稀有性。 / p>