[英]Counting neighboring cells for Conway's Game of Life in C++
我正在嘗試為Conway的生活游戲寫一個計數鄰居方法。 如果一個死細胞與2或3個活細胞相鄰,那么它應該會活着。 但是,我的代碼未正確計算所有鄰居。 如果我給出輸入坐標(10,10),(10,11),(10,12)將產生
***
該程序將打印下一代
*
*
坐標分別為(10,11)和(11,11)。 但是,也應該有一個指向(9,11)的點。 我知道此函數中出現問題,並且對於(9,11)點,該函數未計算3個鄰居。
int Life::neighbor_count (int row, int col)
{
int i, j;
int count=0;
for(i=row-1; i<row+1; i++){
for (j=col-1; j<=col+1; j++){
count +=grid[i][j];//increase the count is neighbor is alive
}
}
count -=grid [row][col];//reduce count, since cell is not its own neighbor
return count;
}
正如@AlexD指出的那樣, i<row+1
應該是i<=row+1
,這將解釋您的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.