Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void evolve(board prv, board nxt)
- {
- int i;
- int j;
- int n;
- int n1;
- int n2;
- int n3;
- int n4;
- int n5;
- int n6;
- j = 0;
- for (i=0; i < HEIGHT; ++i){
- n = neighbors(prv, i, j);
- nxt[i][j] = ((prv[i][j] && n == 2) ||(n == 3));
- }
- j = WIDTH-1;
- for (i=0; i < HEIGHT; ++i){
- n = neighbors(prv, i, j);
- nxt[i][j] = ((prv[i][j] && n == 2) ||(n == 3));
- }
- i = 0;
- for (j=1; j < WIDTH-1; ++j){
- n = neighbors(prv, i, j);
- nxt[i][j] = ((prv[i][j] && n == 2) || (n == 3));
- }
- i = HEIGHT-1;
- for (j=1; j < WIDTH-1; ++j){
- n = neighbors(prv, i, j);
- nxt[i][j] = ((prv[i][j] && n == 2) || (n == 3));
- }
- for (i=1; i < HEIGHT-1; ++i) {
- for (j=1; j < WIDTH-7; j += 7) {
- n = prv[i-1][j-1] + prv[i-1][j ] + prv[i-1][j+1]
- + prv[i ][j-1] + /*I'm here!*/ + prv[i ][j+1]
- + prv[i+1][j-1] + prv[i+1][j ] + prv[i+1][j+1];
- n1 = prv[i-1][j] + prv[i-1][j+1] + prv[i-1][j+2]
- + prv[i ][j ] + /*I'm here!*/ + prv[i ][j+2]
- + prv[i+1][j ] + prv[i+1][j+1] + prv[i+1][j+2];
- n2 = prv[i-1][j+1] + prv[i-1][j+2] + prv[i-1][j+3]
- + prv[i ][j+1] + /*I'm here!*/ + prv[i ][j+3]
- + prv[i+1][j+1] + prv[i+1][j+2] + prv[i+1][j+3];
- n3 = prv[i-1][j+2] + prv[i-1][j+3] + prv[i-1][j+4]
- + prv[i] [j+2] + /*I'm here!*/ + prv[i ][j+4]
- + prv[i+1][j+2] + prv[i+1][j+3] + prv[i+1][j+4];
- n4 = prv[i-1][j+3] + prv[i-1][j+4] + prv[i-1][j+5]
- + prv[i] [j+3] + /*I'm here!*/ + prv[i ][j+5]
- + prv[i+1][j+3] + prv[i+1][j+4] + prv[i+1][j+5];
- n5 = prv[i-1][j+4] + prv[i-1][j+5] + prv[i-1][j+6]
- + prv[i] [j+4] + /*I'm here!*/ + prv[i ][j+6]
- + prv[i+1][j+4] + prv[i+1][j+5] + prv[i+1][j+6];
- n6 = prv[i-1][j+5] + prv[i-1][j+6] + prv[i-1][j+7]
- + prv[i] [j+5] + /*I'm here!*/ + prv[i ][j+7]
- + prv[i+1][j+5] + prv[i+1][j+6] + prv[i+1][j+7];
- nxt[i][j] = (prv [i][j ] && n == 2) || (n ==3);
- nxt[i][j+1] = (prv [i][j+1] && n1 == 2) || (n1 ==3);
- nxt[i][j+2] = (prv [i][j+2] && n2 == 2) || (n2 ==3);
- nxt[i][j+3] = (prv [i][j+3] && n3 == 2) || (n3 ==3);
- nxt[i][j+4] = (prv [i][j+4] && n4 == 2) || (n4 ==3);
- nxt[i][j+5] = (prv [i][j+5] && n5 == 2) || (n5 ==3);
- nxt[i][j+6] = (prv [i][j+6] && n6 == 2) || (n6 ==3);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement