Red de conocimiento informático - Computadora portátil - c Game of Life Ayúdame a encontrar el error

c Game of Life Ayúdame a encontrar el error

Después de realizar algunos cambios en el programa original, el experimento se puede implementar sin ningún problema

#include lt; stdio.hgt

#include string.hgt; >

char b1[20][21] = {

{"** ............."}

{ "* * ............."} ,

{"** ............. ..."},

{"................................."},

{"... ............."},

{"........................" },

{"............."},

{"..... ......... ...."},

{"........***.........."},

p>

{ ".....*.........."},

{"..........*. ........ ."},

{"............."},

{"............ ."},

{"............. ....."},

{"....... ......"},

{". ............."},

{"...... .................. ."},

{"................. .."},

{"..... ............."},

{"...... .................."},

{"............."}

};

char b2[ 20][21];

pantalla vacía(char b1[][21]){

int

for(i=0; ilt; 20; i ){

printf("s\n", b1[i]

}

}

int vecinos(int p, int q){

int recuento=0

int temp[8][2] ={{0, 1}, {0, -1} ,{1,0},{-1,0},{1,1},{-1,1},{1,-1},{- 1,-1}}};

int k;

for(k=0;klt;8;k)

{

int x=p temp[k][0];

int y=q temp[k][1];

if (! (xlt; 0 ||ylt; 0 ||xgt; 19 ||ygt; 19))

if (b1[x][y]=='*')

contar ;

}

devolver contar;

}

copia anulada (

char b1[][21], char b2[][21]) {

int i

for (i=0; ilt; 20; i) {

strcpy(b1[i], b2[i]);

}

}

void newboard( char b2[20][21] ]) {

int i, j, p=0, q=0

for (i=0; ilt; 20; i) {

for (j=0; jlt; 20; j) {

int d=vecinos(i,j

if (d!=2amp;amp;d!=3); ) {

b2[i][j]='.

}

si (d==3) {

b2[i][j]='*';

}

si (d==2) {

b2[i][j] =b1[i][j];

}

}

}

}

}

}

}

}

int main(){

char

display(b1);

printf("¿te gustaría jugar?(s o n)");

c=getc(stdin); p> while (c=='y') {

newboard(b2);

copyback(b1, b2);

printf("¿te gustaría jugar?(s o n)");

fflush(stdin);

c=getc(stdin);

}

}

Qiuguifu dijo anteriormente que no es necesario usar un contenedor, b2 en sí es un contenedor. ¡La estructura del algoritmo de este último no es muy clara y parece no tener nada que ver con esta pregunta! Cada nuevo estado de virus está determinado por el estado anterior y no existe un estado final.