2

我试图解决生命游戏问题进行测试。那场比赛的规则是:

任何少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。任何有两三个活邻居的活细胞都可以传给下一代。任何有超过三个活邻居的活细胞都会死亡,就好像过度拥挤一样。任何只有三个活邻居的死细胞都会变成活细胞,就像通过繁殖一样。

我在各种模式上测试了我的工作,例如如下所示的 Block、Boat、Blinker 和 Toad 模式。但是我的代码没有给出如图所示的蟾蜍模式的预期输出......尽管它对所有其他模式都很好。

我得到了 TOAD 的输出:

X--X
X---
--X-

我检查了各种网站,它们也显示了与下面相同的输出,但如果我们应用规则,第二行和最后一列中的单元格将无法存活。

那么谁能告诉我哪个是正确的输出?我必须确定它是为了我的测试......

谢谢..

**Expected Output**

1.  Block Pattern
Input
X X
X X 
Output
X X
X X

2.  Boat Pattern
Input 
X X -
X - X
- X -
Output 
X X -
X - X
- X -

3.  Blinker Pattern
Input
- X -
- X -
- X - 
Output 
- - -
X X X
- - -

4. Toad Pattern
Input
- X X X
X X X -
- - X -
Output
X - - X
X - - X
- X - -
4

2 回答 2

3

我通过谷歌找到的所有蟾蜍模式示例如下所示:

状态 1:

- - - -
- x x x
x x x -
- - - -

状态 2:

- - x -
x - - x
x - - x
- x - -

这两个状态像这样振荡:

来自维基百科的动画示例

您的输入似乎缺少顶行,并且底行还有一个额外的活单元格。作为旁注,您提到的“膨胀”模式实际上称为“船”,因为它看起来像一艘小船的俯视图。

看:

于 2012-08-16T07:17:09.017 回答
3

您所描述的 TOAD 输入的输出与您所述的规则相匹配。规定的预期输出与规则不匹配。

正如 veredesmarald 所指出的,目前尚不清楚您的程序存在问题,但您对 TOAD 的解释存在问题。

我还会注意到您为 TOAD 定义了输入/预期输出,如下所示:

Input
- X X X
X X X -
- - X -
Output
X - - X
X - - X
- X - -

如果我将“输出”行向上移动一行,则结果与 TOAD 输入/输出的标准/预期定义相匹配:

Input
- X X X
X X X -
Output  // swapped with line below
- - X -
X - - X
X - - X
- X - -

似乎有些东西在翻译中丢失了,你的程序可能没问题。

于 2012-08-16T07:34:17.937 回答