康威的生命游戏应该有无限地图还是应该有限制?
Should Conway's Game of Life have an infinite map or should it be limited?
我正在用 Rust 开发 Conway 的实现以进一步将其与 WebAssembly 一起使用,并且我正在考虑我应该如何处理地图边界。目前,我正在考虑将处于极限的单元格视为具有较少邻居的单元格,尽管我已经看到一些将地图视为无限的实现。
用有限的边界处理地图会产生一些奇怪的行为,比如滑翔机变成方块:
------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.
"right" 是像我看到的那样将地图视为无限的 here 还是 "right" 限制地图的方式?如果没有任何 "right" 方式,您认为这两种方式中哪一种最好?
如果你想看我的代码,是here。我没有 post 任何代码示例,因为问题不在于代码本身。
rules for the Game of Life 状态(强调我的):
The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square "cells", each of which is in one of two possible states, alive or dead, (or "populated" and "unpopulated" respectively).
如果您不使网格无限大,您还没有实现生命游戏,而是实现了一些变体。
我正在用 Rust 开发 Conway 的实现以进一步将其与 WebAssembly 一起使用,并且我正在考虑我应该如何处理地图边界。目前,我正在考虑将处于极限的单元格视为具有较少邻居的单元格,尽管我已经看到一些将地图视为无限的实现。
用有限的边界处理地图会产生一些奇怪的行为,比如滑翔机变成方块:
------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.
"right" 是像我看到的那样将地图视为无限的 here 还是 "right" 限制地图的方式?如果没有任何 "right" 方式,您认为这两种方式中哪一种最好?
如果你想看我的代码,是here。我没有 post 任何代码示例,因为问题不在于代码本身。
rules for the Game of Life 状态(强调我的):
The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square "cells", each of which is in one of two possible states, alive or dead, (or "populated" and "unpopulated" respectively).
如果您不使网格无限大,您还没有实现生命游戏,而是实现了一些变体。