好的,标题不清楚,这就是我的意思。
我正在编写某种游戏(例如生活游戏)。例如,有动物(每个动物都是类的Java实例)。
所有这些动物都在地图上,并且所有这些“世界” 每次“转弯”都会演化。
这些动物可以在每个转时采取行动。
例如:狼杀死了绵羊。
但是,我对在状态之间进行这些演化的“方式”有麻烦,因为结果将取决于,即我在动物中循环的的顺序。
范例:
我怎么解决这个问题 ?
多线程? (但是我将有很多动物,例如1000甚至更多……)。有没有一种算法,可以做到这一点的“方法”?
谢谢
最佳答案
我认为实体只有在非常简单的情况下才能并行发展(以康威的生活为例)-对于您的“狼羊草”世界,您对它的思考越多,它就会变得越来越复杂:
因此,我认为简单地遍历“动物”列表并为每个执行原子动作的动物调用一个方法会导致更合理的宇宙。如果您担心较早繁殖的动物比不较早繁殖的动物有不公平的优势,则可以在每回合之前随机分配动物列表-这样,在您的示例中,绵羊要么吃草,然后被狼吞噬,否则狼会在有机会吃草之前先吃掉它。这就是生活。