[C] game of life/ generation suivante ...
Résolu
strato-boy
Messages postés
769
Date d'inscription
Statut
Membre
Dernière intervention
-
strato-boy Messages postés 769 Date d'inscription Statut Membre Dernière intervention -
strato-boy Messages postés 769 Date d'inscription Statut Membre Dernière intervention -
Bonjour, deja desolé pour le titre un peu ambigüe mais je voyé pas comment l'appelé autrement !
pour faire simple, pour un TP d'algo je dois implémenté le "jeu de la vie" en C,
tout ce passe bien a une fonction près, et pas des moindre : le passage a la génération suivante :
imaginons, mon "damier" fait 3×3 cases, où les cellule sont représenté par des "1"exemple :
1 0 1
0 1 0
1 0 1
le probleme est que j'ai l'impression que ma fonction ayant pour but de definir la generation suivante ne traite que la premiere ligne ... et rempli le reste a grand coup de vide !
pour la configuration precedente, voici la generation suivante ...
0 1 0
0 0 0
0 0 0
voila, a coté de ça le code de la fonction, que j'ai beau retourné dans tout les sens, je vois pas de soucis ...
voila, j'espere que vous pourrez me filer un petit coup de pouce ;-)
pour faire simple, pour un TP d'algo je dois implémenté le "jeu de la vie" en C,
tout ce passe bien a une fonction près, et pas des moindre : le passage a la génération suivante :
imaginons, mon "damier" fait 3×3 cases, où les cellule sont représenté par des "1"exemple :
1 0 1
0 1 0
1 0 1
le probleme est que j'ai l'impression que ma fonction ayant pour but de definir la generation suivante ne traite que la premiere ligne ... et rempli le reste a grand coup de vide !
pour la configuration precedente, voici la generation suivante ...
0 1 0
0 0 0
0 0 0
voila, a coté de ça le code de la fonction, que j'ai beau retourné dans tout les sens, je vois pas de soucis ...
/* production de la generation suivante * argument : * - **tab : la matrice de depart * - l : le nombre de ligne * - c : le nombre de colonne * - nexttab : matrice que contiendra la prochain generation */ void nextgen(int **tab, int l, int c, int **nexttab) { int zin = 0; //variable contenant le nbre de voisin int i=0, j=0; while(i<c) { while(j<l) { zin = voisin(tab, l, c, i, j); // on compte le nombre de voisin de chaque case if(((zin == 2) || (zin == 3)) && (tab[i][j] == 1)) { nexttab[i][j] = 1; } else if((zin < 2) || (zin > 3)) { nexttab[i][j] = 0; } else if((zin == 3) && (tab[i][j] == 0)) { nexttab[i][j] = 1; } j++; } i++; } }
voila, j'espere que vous pourrez me filer un petit coup de pouce ;-)
A voir également:
- [C] game of life/ generation suivante ...
- Comic life - Télécharger - Photo & Graphisme
- Galaxy life mobile - Télécharger - Stratégie
- Game boy action - Accueil - Jeu vidéo
- Generation ryzen - Guide
- Game twists - Télécharger - Divers Jeux