ajout de la fonction deplacer_souris dans partie.c et test avec modifications et ajout dans main.c mais ne fonctionne pas pour l'instant

This commit is contained in:
2025-12-06 02:29:59 +01:00
parent 1ca9ee8f1d
commit 3bdfa66583
4 changed files with 55 additions and 11 deletions
+20 -10
View File
@@ -175,11 +175,21 @@ int main(void){
if(verifier_victoire(grille,ligne,colonne) == 1 ){
jeu_fini = 1;
}
if (SourisCliquee()) {
SourisPosition();
if (deplacer_souris(grille, ligne, colonne, _X, _Y, l_case, h_case) == 1) {
coups++;
afficher_plateau(grille, ligne, colonne, coups, l_case, h_case);
if (verifier_victoire(grille, ligne, colonne) ==1 ) {
jeu_fini = 1;
}
}
}
}
}
if (jeu_fini == 1){
if (jeu_fini == 1){
ChoisirCouleurDessin(CouleurParNom("white"));
/* pense à utiliser img_w pour la largeur du rectangle blanc */
RemplirRectangle(50,150, img_w - 100,100);
@@ -198,13 +208,13 @@ int main(void){
vouloir_rejouer = 0;
break;
}
}
}
}
}
}
}
}
fermer_affichage();
return EXIT_SUCCESS;
}
fermer_affichage();
return EXIT_SUCCESS;
}
+34
View File
@@ -63,6 +63,40 @@ grille[vide_i][vide_j] = temp;
return 1;
}
int deplacer_souris(int grille[MAX_TAILLE][MAX_TAILLE], int nb_ligne, int nb_colonne, int clic_x, int clic_y, int l_case, int h_case) {
int case_x = clic_x / l_case;
int case_y = clic_y / h_case;
int vide_i, vide_j, i, j;
/* si on clique dehors ça ne fais rien */
if (case_x >= nb_colonne || case_y >= nb_ligne) return 0;
/* recherche case vide */
for(i=0; i<nb_ligne; i++) {
for(j=0; j<nb_colonne; j++) {
if (grille[i][j] == 0) { vide_i = i; vide_j = j; }
}
}
/* est-ce que la case cliqué est juste a coté du vide ? */
if (case_y == vide_i) {
if (case_x == vide_j - 1 || case_x == vide_j + 1) {
grille[vide_i][vide_j] = grille[case_y][case_x];
grille[case_y][case_x] = 0;
return 1;
}
}
else if (case_x == vide_j) {
if (case_y == vide_i - 1 || case_y == vide_i + 1) {
grille[vide_i][vide_j] = grille[case_y][case_x];
grille[case_y][case_x] = 0;
return 1;
}
}
return 0;
}
void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne) {
int i;
int touche_aleatoire;
+1 -1
View File
@@ -5,7 +5,7 @@
void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne);
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);
int deplacer_souris(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int clic_x,int clic_y, int l_case, int h_case);
void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne);
int verifier_victoire(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne);
BIN
View File
Binary file not shown.