Advertisement
Lauda

Untitled

Apr 17th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.18 KB | None | 0 0
  1. int GameOfLife::getNeighbourSum(unsigned int row, unsigned int col)
  2. {
  3.         int sum = 0;
  4.     /*
  5.             ---------------------------------------> col ili m_width
  6.             0    1    2    3    4    5    6    7    8
  7.   r   | 0   I   II   II   II   II   II   II   II   III
  8.   o   | 1  IV    V    V    V    V    V    V    V    VI
  9.   w   | 2  IV    V    V    V    V    V    V    V    VI
  10.       | 3  IV    V    V    V    V    V    V    V    VI
  11.       | 4  IV    V    V    V    V    V    V    V    VI
  12.       | 5  IV    V    V    V    V    V    V    V    VI
  13.       | 6  IV    V    V    V    V    V    V    V    VI
  14.       | 7  IV    V    V    V    V    V    V    V    VI
  15.       v 8  VII VIII VIII VIII VIII VIII VIII  VIII  IX
  16.  
  17.     */
  18.         // TODO: PLACE CODE HERE
  19.  
  20.         // I
  21.         if(row == 0 && col == 0){
  22.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  23.         if (m_buffer[(row + 1) * m_width + (col + 1)] == 1){ sum += 1; }
  24.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  25.         }
  26.  
  27.         // II
  28.     if(row == 0 && col != 0 && col != m_width - 1){
  29.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  30.         if (m_buffer[(row + 1) * m_width + (col + 1)] == 1){ sum += 1; }
  31.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  32.         if (m_buffer[(row + 1) * m_width + (col - 1)] == 1){ sum +=1; }
  33.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  34.     }
  35.  
  36.     // III
  37.     if(row == 0 && col == m_width - 1){
  38.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  39.         if (m_buffer[(row + 1) * m_width + (col - 1)] == 1){ sum +=1; }
  40.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  41.     }
  42.  
  43.     // IV
  44.     if(col == 0 && row != 0 && row != m_height - 1){
  45.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  46.         if (m_buffer[(row - 1) * m_width + (col + 1)] == 1){ sum += 1; }
  47.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  48.         if (m_buffer[(row + 1) * m_width + (col + 1)] == 1){ sum += 1; }
  49.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  50.     }
  51.  
  52.     // V
  53.     if(row != 0 && row != m_height - 1 &* col != 0 && col != m_width - 1){
  54.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  55.         if (m_buffer[(row - 1) * m_width + (col + 1)] == 1){ sum += 1; }
  56.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  57.         if (m_buffer[(row + 1) * m_width + (col + 1)] == 1){ sum += 1; }
  58.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  59.         if (m_buffer[(row + 1) * m_width + (col - 1)] == 1){ sum += 1; }
  60.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  61.         if (m_buffer[(row - 1) * m_width + (col - 1)] == 1){ sum += 1; }
  62.     }
  63.  
  64.     // VI
  65.     if(col == m_width - 1 && row != 0 && row != m_height - 1){
  66.         if (m_buffer[(row + 1) * m_width + col] == 1){ sum +=1; }
  67.         if (m_buffer[(row + 1) * m_width + (col - 1)] == 1){ sum +=1; }
  68.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  69.         if (m_buffer[(row - 1) * m_width + (col - 1)] == 1){ sum +=1; }
  70.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  71.     }
  72.  
  73.     // VII
  74.     if( row == m_height - 1 && col == 0){
  75.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  76.         if (m_buffer[(row - 1) * m_width + (col + 1)] == 1){ sum += 1; }
  77.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  78.     }
  79.  
  80.     // VIII
  81.     if(row == m_height - 1 && col != 0 && col != m_width - 1){
  82.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  83.         if (m_buffer[(row - 1) * m_width + (col - 1)] == 1){ sum += 1; }
  84.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  85.         if (m_buffer[(row - 1) * m_width + (col + 1)] == 1){ sum += 1; }
  86.         if (m_buffer[row * m_width + (col + 1)] == 1){ sum += 1; }
  87.     }
  88.  
  89.     // IX
  90.     if(row == m_height - 1 && col == m_width - 1){
  91.         if (m_buffer[row * m_width + (col - 1)] == 1){ sum += 1; }
  92.         if (m_buffer[(row - 1) * m_width + (col - 1)] == 1){ sum +=1; }
  93.         if (m_buffer[(row - 1) * m_width + col] == 1){ sum +=1; }
  94.     }
  95.  
  96.         return sum;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement