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:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user