Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void tick(Field *f)
- {
- Field *matrix = createField(f->xsize, f->ysize);
- matrix=f;
- int j,i;
- int a=f->xsize-1;
- int b=f->ysize-1;
- int k;
- for (j=0; j<=b; j++){
- for (i=0; i<=a; i++){
- k=0;
- if ((i-1)>=0 && (j-1)>=0 && matrix->cells[j-1][i-1]==ALIVE) //vasen ylä
- k++;
- if ((i-1)>=0 && (j+1)<=b && matrix->cells[j+1][i-1]==ALIVE) //vasen ala
- k++;
- if ((i+1)<=a && (j-1)>=0 && matrix->cells[j-1][i+1]==ALIVE) //oikea ylä
- k++;
- if ((i+1)<=a && (j+1<=b) && matrix->cells[j+1][i+1]==ALIVE) //oikea ala
- k++;
- if (i-1>=0 && matrix->cells[j][i-1]==ALIVE) //vasen
- k++;
- if (j-1>=0 && matrix->cells[j-1][i]==ALIVE) //ylä
- k++;
- if (i+1<=a && matrix->cells[j][i+1]==ALIVE) //oikea
- k++;
- if (j+1<=b && matrix->cells[j+1][i]==ALIVE) //ala
- k++;
- if (matrix->cells[j][i]==ALIVE){
- if (k<2)
- f->cells[j][i]=DEAD;
- if (k==2 || k==3)
- f->cells[j][i]=ALIVE;
- if (k>3)
- f->cells[j][i]=DEAD;
- }
- if (matrix->cells[j][i]==DEAD)
- if (k==3)
- f->cells[j][i]=ALIVE;
- }
- }
- releaseField(matrix);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement