这是我的代码:
#include <iostream>
#include <fstream>
using namespace std;
bool life[82][82][26];
int cn(int row, int col, int g)
{
int count = 0;
for(int r = row - 1; r <= row + 1; r++)
{
for(int c = col - 1; c <= col + 1; c++)
{
if((r == row) && (c = col))
continue;
else if(life[r][c][g] == true)
count++;
else
continue;
}
}
return (count);
}
int main(){
ifstream fin("start.dat");
ofstream fout("boards.txt");
int row, col, g, a, b, c, i;
for(row = 0; row < 82; row++)
for(col = 0; col < 82; col++)
for(g = 0; g < 26; g++)
life[row][col][g] = false;
fin >> a >> b >> c;
for(i = 1; i <= a; i++)
{
life[b][c][0] = true;
fin >> b >> c;
}
fout << cn(40, 40, 0);
return 0;}
我正在制作Conway's Game of Life。
我的问题(我认为)是我的“cn”(count_neighbors)函数出错了。它应该计算所讨论的细胞周围的所有“活”(真)细胞,但是当我运行程序时,什么都没有出来。这让我觉得“life [] [] []”数组以某种方式搞砸了,或者循环写得不正确。当我运行这个程序时,我确实得到一个闪烁的光标。
答案 0 :(得分:2)
可能if((r == row) && (c = col))
应该是if((r == row) && (c == col))
吗?