compteur de coups fonctionnel

This commit is contained in:
2025-12-04 22:43:36 +01:00
parent 20ec920174
commit a3ae70648b
4 changed files with 19 additions and 13 deletions
+6 -4
View File
@@ -152,19 +152,21 @@ int main(void){
touche = Touche();
/* Pour quitter on clique sur q */
if (touche == XK_q || touche == XK_Q) break;
if (touche == XK_q || touche == XK_Q) {
FermerGraphique();
}
/* Déplacement +on affiche la nouvelle grille */
deplacer(grille,ligne,colonne,touche);
if (deplacer(grille,ligne,colonne,touche) == 1) {
coups++;
afficher_plateau(grille,ligne,colonne,coups);
/*On vérifie si on a gagner */
if(verifier_victoire(grille,ligne,colonne) == 1 ){
jeu_fini = 1;
}
}
}
}
}
if (jeu_fini == 1){
+12 -8
View File
@@ -9,7 +9,7 @@ void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_
int i, j;
int compteur = 1;
grille[0][0]=0;
grille[0][0] = 0;
for (i = 0; i < nb_ligne; i++){
for(j = 0; j < nb_colonne; j++){
@@ -21,7 +21,7 @@ void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_
}
}
void deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int touche) {
int deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int touche) {
int i, j;
int vide_i = -1, vide_j = -1;
int cible_i, cible_j;
@@ -44,20 +44,23 @@ cible_j = vide_j;
/* Calculer la cible */
if(touche == XK_Left) cible_j = vide_j - 1;
if(touche == XK_Right) cible_j = vide_j + 1;
if(touche == XK_Up) cible_i = vide_i - 1;
if(touche == XK_Down) cible_i = vide_i + 1;
else if(touche == XK_Right) cible_j = vide_j + 1;
else if(touche == XK_Up) cible_i = vide_i - 1;
else if(touche == XK_Down) cible_i = vide_i + 1;
else {
return 0;
}
/* Vérifier les bords */
if (cible_i < 0 || cible_i >= nb_ligne ||
cible_j < 0 || cible_j >= nb_colonne) {
return;
return 0;
}
/* Echanger */
temp = grille[cible_i][cible_j];
grille[cible_i][cible_j] = 0;
grille[vide_i][vide_j] = temp;
return 1;
}
void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne) {
@@ -83,7 +86,8 @@ void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_col
int verifier_victoire(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne){
int i,j,compteur = 1;
if(grille[0][0]!= 0)return 0;
if(grille[0][0] != 0)return 0;
for(i = 0; i < nb_ligne; i++) {
for(j = 0; j< nb_colonne; j++) {
+1 -1
View File
@@ -4,7 +4,7 @@
#include "config.h"
void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne);
void deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne, int touche);
int deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne, int touche);
void deplacer_souris(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int clic_x,int clic_y);
void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne);
BIN
View File
Binary file not shown.