好吧,所以我用C ++编写了Conways Game of Life,到目前为止,我只创建了允许用户创建单元格的规则,如果它有3个邻居。
以下是当前代码:http://tinypaste.com/f59b4463
当我启动程序时,我输入了坐标,以便我在下面的照片中显示游戏板,输出不是我预期的,它应该使得单元格2,1将是活着,但在输出中它仍然死了。我不确定为什么它不起作用。有什么帮助吗?
输入&输出:http://i.imgur.com/1Mvhi.png
答案 0 :(得分:2)
要解决的几件事情虽然这不是一个答案,但对于评论而言,它太大了。请修复这些然后我会回复你...
在gameboard()
中,请排列代码,使其包含两个for
循环,而不是所有cout
。例如:
int i, j;
for (i = j = 0; i < 10; i++) {
for (; j < 10; j++) {
cout << world[i][j];
}
}
它更简洁。
其次,在cells()
中,在第二个for
循环中,您可以使用另一个嵌套for
循环。
第三,我会避免在ALL CAPS中命名正常变量,因为它通常是为预处理器#define
保留的。
K,享受清理:)
答案 1 :(得分:1)
好的。这是一个算法问题。当你调用calculate时,它会创建额外的单元格,因为它不是一代。它是两个和三个的混合 - 它作用于你刚刚创建的细胞。得到我在说什么?我在GMail上解释过这个。