Affichage de temps, avancement mode tricheur

This commit is contained in:
nguyenh 2022-12-01 13:35:57 +01:00
parent 586a50cc6e
commit 96c655e0b0
2 changed files with 74 additions and 32 deletions

View File

@ -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;
}

96
Jeu.h
View File

@ -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<l; i++) {
@ -30,34 +61,27 @@ int ComparerCartes(int carte1, int carte2) {
}
}
void *timer() {
char temps[4];
int seconde=0;
unsigned long timer=Microsecondes()+delta;
while(jeutourne) {
if (Microsecondes()>=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;
}