康威的生命游戏应该有无限的地图还是应该限制?

时间:2018-04-24 14:22:21

标签: algorithm rust conways-game-of-life

我正在Rust中开发Conway的实现,以便在WebAssembly中进一步使用它,并且我正在思考我应该如何处理地图边界。目前,虽然我已经看到一些将地图视为无限的实现,但我认为极限的单元格是一个邻域较少的单元格。

使用有限的边界处理地图会产生一些奇怪的行为,比如Glider成为Block:

------generation(0)------
0.0..
.00..
.0...
------generation(1)------
..0..
0.0..
.00..
------generation(2)------
.0...
..00.
.00..
------generation(3)------
..0..
...0.
.000.
------generation(4)------
.....
.0.0.
..00.
------generation(5)------
.....
...0.
..00.
------generation(6)------
.....
..00.
..00.
------generation(7)------
.....
..00.
..00.

"是"将地图视为无限的方式,就像我看到的here或者是"对"限制地图的方式?如果没有任何"对"那么,你觉得哪两个最好?

如果您想查看我的代码,请here。我没有发布任何代码示例,因为问题不在于代码本身。

1 个答案:

答案 0 :(得分:1)

rules for the Game of Life州(强调我的):

  

生命游戏的世界是一个无限的二维正交网格的正方形"细胞",每个都处于两种可能的状态之一,活着或死亡,(或"填充"和"未填充"分别)。

如果你没有让你的网格无限,你还没有实现生命游戏,而是你已经实现了一些变体。