我目前正在尝试使用 JGAP 3.6 为简单的地下城游戏生成关卡。该问题涉及使用染色体表示,其中每个基因包含一个表示房间类型的整数值,例如 0 = 起始房间,1 = 怪物房间,等等。
问题是,我想确保一个级别中只有一个起始房间(染色体中只有一个值为 0 的基因)。我已经阅读了javadocs,特别是 Chromosome 和 Gene 类,但没有找到直接的方法来做到这一点。我也考虑过使用定制的 Gene,但它似乎没用,因为我认为这种“验证”需要由 Chromosome 类而不是 Gene 类来完成。
我目前针对该问题的解决方案是在对不满足所述条件的染色体进行适应性评估期间给予较大的惩罚。有任何想法、解决方案、建议或意见吗?谢谢