Advertisement
Guest User

Untitled

a guest
May 25th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. void evolve(board prv, board nxt)
  2. {
  3. int i;
  4. int j;
  5. int n;
  6. int n1;
  7. int n2;
  8. int n3;
  9. int n4;
  10. int n5;
  11. int n6;
  12.  
  13. j = 0;
  14. for (i=0; i < HEIGHT; ++i){
  15. n = neighbors(prv, i, j);
  16. nxt[i][j] = ((prv[i][j] && n == 2) ||(n == 3));
  17. }
  18.  
  19. j = WIDTH-1;
  20. for (i=0; i < HEIGHT; ++i){
  21. n = neighbors(prv, i, j);
  22. nxt[i][j] = ((prv[i][j] && n == 2) ||(n == 3));
  23. }
  24.  
  25. i = 0;
  26. for (j=1; j < WIDTH-1; ++j){
  27. n = neighbors(prv, i, j);
  28. nxt[i][j] = ((prv[i][j] && n == 2) || (n == 3));
  29. }
  30.  
  31. i = HEIGHT-1;
  32. for (j=1; j < WIDTH-1; ++j){
  33. n = neighbors(prv, i, j);
  34. nxt[i][j] = ((prv[i][j] && n == 2) || (n == 3));
  35.  
  36. }
  37.  
  38. for (i=1; i < HEIGHT-1; ++i) {
  39. for (j=1; j < WIDTH-7; j += 7) {
  40.  
  41. n = prv[i-1][j-1] + prv[i-1][j ] + prv[i-1][j+1]
  42. + prv[i ][j-1] + /*I'm here!*/ + prv[i ][j+1]
  43. + prv[i+1][j-1] + prv[i+1][j ] + prv[i+1][j+1];
  44.  
  45. n1 = prv[i-1][j] + prv[i-1][j+1] + prv[i-1][j+2]
  46. + prv[i ][j ] + /*I'm here!*/ + prv[i ][j+2]
  47. + prv[i+1][j ] + prv[i+1][j+1] + prv[i+1][j+2];
  48.  
  49. n2 = prv[i-1][j+1] + prv[i-1][j+2] + prv[i-1][j+3]
  50. + prv[i ][j+1] + /*I'm here!*/ + prv[i ][j+3]
  51. + prv[i+1][j+1] + prv[i+1][j+2] + prv[i+1][j+3];
  52.  
  53. n3 = prv[i-1][j+2] + prv[i-1][j+3] + prv[i-1][j+4]
  54. + prv[i] [j+2] + /*I'm here!*/ + prv[i ][j+4]
  55. + prv[i+1][j+2] + prv[i+1][j+3] + prv[i+1][j+4];
  56.  
  57. n4 = prv[i-1][j+3] + prv[i-1][j+4] + prv[i-1][j+5]
  58. + prv[i] [j+3] + /*I'm here!*/ + prv[i ][j+5]
  59. + prv[i+1][j+3] + prv[i+1][j+4] + prv[i+1][j+5];
  60.  
  61. n5 = prv[i-1][j+4] + prv[i-1][j+5] + prv[i-1][j+6]
  62. + prv[i] [j+4] + /*I'm here!*/ + prv[i ][j+6]
  63. + prv[i+1][j+4] + prv[i+1][j+5] + prv[i+1][j+6];
  64.  
  65. n6 = prv[i-1][j+5] + prv[i-1][j+6] + prv[i-1][j+7]
  66. + prv[i] [j+5] + /*I'm here!*/ + prv[i ][j+7]
  67. + prv[i+1][j+5] + prv[i+1][j+6] + prv[i+1][j+7];
  68.  
  69. nxt[i][j] = (prv [i][j ] && n == 2) || (n ==3);
  70. nxt[i][j+1] = (prv [i][j+1] && n1 == 2) || (n1 ==3);
  71. nxt[i][j+2] = (prv [i][j+2] && n2 == 2) || (n2 ==3);
  72. nxt[i][j+3] = (prv [i][j+3] && n3 == 2) || (n3 ==3);
  73. nxt[i][j+4] = (prv [i][j+4] && n4 == 2) || (n4 ==3);
  74. nxt[i][j+5] = (prv [i][j+5] && n5 == 2) || (n5 ==3);
  75. nxt[i][j+6] = (prv [i][j+6] && n6 == 2) || (n6 ==3);
  76.  
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement