Algorithm 为什么在康威';《生命的游戏》镀金者变成了以下人物?我只是不知道';我不明白

Algorithm 为什么在康威';《生命的游戏》镀金者变成了以下人物?我只是不知道';我不明白,algorithm,conways-game-of-life,Algorithm,Conways Game Of Life,好吧,我正在尝试编写康威的《生活的游戏》,我不理解它的概念,即使它看起来很简单。因此: -根据我在网上找到的仿真器,镀金机就是这样变成的(请原谅我拙劣的油漆) 但我不太明白。让我解释一下: 考虑下面的网格: 如果我按行进行,并应用规则: 块1->有两个活嘶鸣(4,5)不变。区块2->有三个活嘶鸣(4,5,6)繁殖和生活。街区3->现在有三个住的邻居(2,5,6),所以他住在那里。 现在情况已变为: 第二排: Block 4->有三条活neigh(2,5,7)生命。块5->有五个活neigh(

好吧,我正在尝试编写康威的《生活的游戏》,我不理解它的概念,即使它看起来很简单。因此:

-根据我在网上找到的仿真器,镀金机就是这样变成的(请原谅我拙劣的油漆)

但我不太明白。让我解释一下: 考虑下面的网格:

如果我按行进行,并应用规则:

块1->有两个活嘶鸣(4,5)不变。区块2->有三个活嘶鸣(4,5,6)繁殖和生活。街区3->现在有三个住的邻居(2,5,6),所以他住在那里。 现在情况已变为:

第二排: Block 4->有三条活neigh(2,5,7)生命。块5->有五个活neigh(2,3,4,6,7)模具。Block 6->上有两个活neigh(2,3)生命

因此:

区块7->在区块8上有两条活嘶嘶(4,11)生命->有4条活嘶嘶(4,6,7,11)生命不变。区块9->有2条活嘶鸣(6,11)不变。块10->有2个活嘶鸣(7,11)不变。块11->有1个活相邻(7)个模具。第12区->无嘶鸣声。不会改变

因此,它改为:


请告诉我怎么了!:P我快发疯了

要形成一个细胞网格,只需查看“旧”网格中的细胞即可。您不会将更改应用于某个单元格,然后根据更改的单元格的新值对其他单元格进行后续更改。对网格的所有更改都是同时进行的,而不是像您现在这样按任何顺序进行。

在康威的《生活游戏》中,所有单元格都是同时更新的。换句话说,细胞的存活和诞生只取决于前一轮中活的邻居的数量,因为本轮将诞生的新细胞还不存在,而将死亡的细胞还没有死亡


在实践中,实现这一点的最简单方法是使用双缓冲:在每一次循环中,您根据缓冲区A中的活动邻居的状态和数量设置缓冲区B中单元的活动/死亡状态,然后交换缓冲区。

此操作是同时进行的。因此,每个网格都是针对前一帧中的情况进行测试的,而不是针对前一个更改。