diff --git a/ChargerMode.h b/ChargerMode.h index 92edc21..421895a 100644 --- a/ChargerMode.h +++ b/ChargerMode.h @@ -36,7 +36,7 @@ int** CreerGrille(int* tab, int nbligne, int nbcolonne) { return grille; } -void CacherGrille(int** grille, int difficulte) { +void CacherGrille(int difficulte) { /*Fonction qui dessine une grille de cartes de dos*/ int ligne; int colonne; @@ -72,8 +72,6 @@ void AfficherGrille(int** grille, int difficulte) { char str[50]; AfficherSprite(sprite,380,110); if (difficulte==1) { - sprite=ChargerSprite("./images/wood3.png"); - AfficherSprite(sprite,380,110); for (ligne=0;ligne<4;ligne++) { for (colonne=0;colonne<4;colonne++) { sprintf(str,"./images/%i.png", grille[ligne][colonne]); @@ -83,8 +81,6 @@ void AfficherGrille(int** grille, int difficulte) { } } else if (difficulte==2) { - sprite=ChargerSprite("./images/wood4.png"); - AfficherSprite(sprite,265,10); for (ligne=0;ligne<6;ligne++) { for (colonne=0;colonne<6;colonne++) { sprintf(str,"./images/%i.png", grille[ligne][colonne]); @@ -110,7 +106,7 @@ int** ChargerFacile() { cpt+=1; } grille=CreerGrille(tab,4,4); - CacherGrille(grille, 1); + CacherGrille(1); return grille; } @@ -129,6 +125,6 @@ int** ChargerMoyen() { cpt+=1; } grille=CreerGrille(tab,6,6); - CacherGrille(grille, 2); + CacherGrille(2); return grille; } diff --git a/Jeu.h b/Jeu.h index d0197b8..d16872d 100644 --- a/Jeu.h +++ b/Jeu.h @@ -9,6 +9,37 @@ int jeutourne=1; +int compteur(int seconde) { + char temps[4]; + unsigned long timer=Microsecondes()+delta; + if (Microsecondes()>=timer){ + timer=Microsecondes()+delta; + seconde++; + } + return seconde; +} + +int tricher(int** grille, int difficulte) { + int touche; + int tempsdetriche; + if (ToucheEnAttente()) { + touche= Touche(); + if (touche== 84 || 114) { + while (1) { + tempsdetriche=compteur(tempsdetriche); + CacherGrille(difficulte); + AfficherGrille(grille, difficulte); + touche=Touche(); + if (touche== 84 || 114){ + CacherGrille(difficulte); + printf("%i", tempsdetriche); + return tempsdetriche; + } + } + } + } +} + int GrilleComplete(int** grille, int l, int c) { int i, f; for (i=0; i=timer){ - timer=Microsecondes()+delta; - seconde++; - sprintf(temps,"%i",seconde); - ChoisirCouleurDessin(CouleurParNom("white")); - RemplirRectangle(1225,30,40,40); - ChoisirCouleurDessin(CouleurParNom("black")); - EcrireTexte(1230,70,temps, 2); - } - } -} - - -int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int difficulte) { +int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int difficulte, int tempsdepart) { int ligne, colonne; - int carte1=nomCarte; - int carte2; - int asec=1; + int carte1=nomCarte, carte2; + int asec=1, seconde=0, tempsdetriche; int deuxiemecarte=0; unsigned long suivant; + unsigned long timer=time(NULL)+1; char str[50], temps[4]; if (difficulte==1) { while (!deuxiemecarte) { + tempsdetriche=tricher(grille, difficulte); + if (time(NULL)>=timer){ + timer=time(NULL)+1; + seconde=time(NULL)-tempsdepart-tempsdetriche; + sprintf(temps,"%i",seconde); + ChoisirCouleurDessin(CouleurParNom("white")); + RemplirRectangle(1225,30,40,40); + ChoisirCouleurDessin(CouleurParNom("black")); + EcrireTexte(1230,70,temps, 2); + } + if (SourisCliquee()) { SourisPosition(); for (ligne=0; ligne<4; ligne++) { @@ -74,6 +98,16 @@ int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int dif suivant=Microsecondes()+delta; if (!ComparerCartes(carte1,carte2)){ while(asec){ + tempsdetriche=tricher(grille, difficulte); + if (time(NULL)>=timer){ + timer=time(NULL)+1; + seconde=time(NULL)-tempsdepart-tempsdetriche; + sprintf(temps,"%i",seconde); + ChoisirCouleurDessin(CouleurParNom("white")); + RemplirRectangle(1225,30,40,40); + ChoisirCouleurDessin(CouleurParNom("black")); + EcrireTexte(1230,70,temps, 2); + } if (Microsecondes()>=suivant) { carte=ChargerSprite("./images/wood2.png"); AfficherSprite(carte,422+(124*f),152+(124*i)); @@ -97,10 +131,22 @@ int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int dif } void * PremiereCarte(int** grille, int difficulte){ - int i, f, carte; - char str[50]; + int i, f, carte, tempsdetriche=0, seconde=0; + unsigned long tempsdepart=time(NULL); + unsigned long timer=time(NULL)+1; + char str[50], temps[4]; if (difficulte==1) { while (jeutourne) { + tempsdetriche=tricher(grille, difficulte); + if (time(NULL)>=timer){ + timer=time(NULL)+1; + seconde=time(NULL)-tempsdepart-tempsdetriche; + sprintf(temps,"%i",seconde); + ChoisirCouleurDessin(CouleurParNom("white")); + RemplirRectangle(1225,30,40,40); + ChoisirCouleurDessin(CouleurParNom("black")); + EcrireTexte(1230,70,temps, 2); + } if (SourisCliquee()) { SourisPosition(); for (i=0; i<4; i++) { @@ -112,7 +158,7 @@ void * PremiereCarte(int** grille, int difficulte){ sprintf(str,"./images/%i.png",grille[i][f]); carte=ChargerSprite(str); AfficherSprite(carte,432+(124*f),162+(124*i)); - grille=DeuxiemeCarte(grille, carte, grille[i][f], f, i, difficulte); + grille=DeuxiemeCarte(grille, carte, grille[i][f], f, i, difficulte, tempsdepart); f=3; i=3; }