Langage C - automate cellulaire
Bonjour à tous je cherche désespérément à améliorer mon jeu de la vie, j'aimerais qu'il vérifie les cases de la colonne 0 lorsqu'il sort du tableau, je sais que c'est une histoire de modulo % mais je ne trouve pas voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| void generer_etat(int c[NB_LIGNES][NB_COLONNES], int s[NB_LIGNES][NB_COLONNES]) {
int i, j, k;
for (i = 0; i < NB_LIGNES; i++) {
for (j = 0; j < NB_COLONNES; j++) {
k = 0;
if (i > 0 && j > 0) if (c[i - 1][j - 1] == 1) k++;
if (i > 0) if (c[i - 1][j] == 1) k++;
if (i > 0 && j < NB_COLONNES - 1) if (c[i - 1][j + 1] == 1) k++;
if (j < NB_COLONNES - 1) if (c[i][j + 1] == 1) k++;
if (i < NB_LIGNES - 1 && j < NB_COLONNES - 1) if (c[i + 1][j + 1] == 1) k++;
if (i < NB_LIGNES - 1) if (c[i + 1][j] == 1) k++;
if (i < NB_LIGNES - 1 && j > 0) if (c[i + 1][j - 1] == 1) k++;
if (j > 0) if (c[i][j - 1] == 1) k++;
if (c[i][j] == 0) {
if (k == 3) s[i][j] = 1;
else s[i][j] = 0;
} else {
if (k == 2 || k == 3) s[i][j] = 1;
else s[i][j] = 0;
}
}
}
} |
Merci à tous