簡體   English   中英

用C ++計算Conway的生命游戲的相鄰細胞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM