OK, donc j'ai testé et ça à l'air de fonctionner en tout cas avec mes deux fonctions :
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 26 27 28 29 30 | /* *fonction avec en paramètre nb_case(numéro de colonne), current_indice : indice du dernier pion ajouté, caractere le caractere du joueur. *La fonction va de l'indice [current_indice(indice du dernier pion)][nb_case - 1] juqu'a [current_indice][0]; *-> Donc la fonction fait un parcours vers la gauche. *Si deux pions sont identiques donc le pion [current_indice][nb_case - 1] et celui à sa gauche *->on incrémente compteur et décrémente i. *sinon on break la boucle pour. */ int Puiss4_parcours_horizontal_gauche(Puiss4 A, int nb_case, int current_indice, char caractere) { int i; int compteur = 1; for(i = nb_case - 1 ; i != 0 ; i--) { if(A->data[current_indice][i] == caractere) { if(A->data[current_indice][i] == A->data[current_indice][i - 1]) { compteur++; printf("Compteur : %d\n", compteur); } } else { printf("Break : %c != %c\n",A->data[current_indice][i], caractere); break; } } return compteur; } |
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 26 27 28 29 30 | /* *fonction avec en paramètre nb_case(numéro de colonne), current_indice : indice du dernier pion ajouté, caractere le caractere du joueur. *La fonction va de l'indice [current_indice(indice du dernier pion)][nb_case - 1] juqu'a [current_indice][A->colonnes - 1(nombre de colonnes - 1)]; *-> Donc la fonction fait un parcours vers la droite. *Si deux pions sont identiques donc le pion [current_indice][nb_case - 1] et celui à sa droite; *->on incrémente compteur et incrémente i. *sinon on break la boucle pour. */ int Puiss4_parcours_horizontal_droite(Puiss4 A, int nb_case, int current_indice, char caractere) { int i; int compteur = 1; for(i = nb_case - 1 ; i < A->colonnes - 1; i++) { if(A->data[current_indice][i] == caractere) { if(A->data[current_indice][i] == A->data[current_indice][i + 1]) { compteur++; printf("Compteur : %d\n", compteur); } } else { printf("Break : %c != %c\n",A->data[current_indice][i], caractere); break; } } return compteur; } |
+0
-0