Bug Fixes

This commit is contained in:
nguyenh 2022-12-02 18:53:02 +01:00
parent 72d851ff3b
commit 85417a6731
2 changed files with 73 additions and 56 deletions

View File

@ -36,32 +36,32 @@ int** CreerGrille(int* tab, int nbligne, int nbcolonne) {
return grille; return grille;
} }
void CacherGrille(int difficulte) { void CacherGrille(int** grille, int difficulte) {
/*Fonction qui dessine une grille de cartes de dos*/ /*Fonction qui dessine une grille de cartes de dos*/
int ligne; int ligne;
int colonne; int colonne;
int sprite; int sprite;
if (difficulte==1) { if (difficulte==1) {
sprite=ChargerSprite("./images/wood3.png");
AfficherSprite(sprite,380,110);
sprite=ChargerSprite("./images/wood2.png"); sprite=ChargerSprite("./images/wood2.png");
for (ligne=0;ligne<4;ligne++) { for (ligne=0;ligne<4;ligne++) {
for (colonne=0;colonne<4;colonne++) { for (colonne=0;colonne<4;colonne++) {
if (grille[ligne][colonne]!=0) {
AfficherSprite(sprite,422+(124*colonne),152+(124*ligne)); AfficherSprite(sprite,422+(124*colonne),152+(124*ligne));
} }
} }
} }
}
else if (difficulte==2) { else if (difficulte==2) {
sprite=ChargerSprite("./images/wood4.png");
AfficherSprite(sprite,265,10);
sprite=ChargerSprite("./images/wood2.png"); sprite=ChargerSprite("./images/wood2.png");
for (ligne=0;ligne<6;ligne++) { for (ligne=0;ligne<6;ligne++) {
for (colonne=0;colonne<6;colonne++) { for (colonne=0;colonne<6;colonne++) {
if (grille[ligne][colonne]!=0) {
AfficherSprite(sprite,308+(114*colonne),38+(114*ligne)); AfficherSprite(sprite,308+(114*colonne),38+(114*ligne));
} }
} }
} }
} }
}
void AfficherGrille(int** grille, int difficulte) { void AfficherGrille(int** grille, int difficulte) {
/*Fonction qui dévoile tous les cartes, utile en mode tricheur*/ /*Fonction qui dévoile tous les cartes, utile en mode tricheur*/
@ -74,18 +74,24 @@ void AfficherGrille(int** grille, int difficulte) {
if (difficulte==1) { if (difficulte==1) {
for (ligne=0;ligne<4;ligne++) { for (ligne=0;ligne<4;ligne++) {
for (colonne=0;colonne<4;colonne++) { for (colonne=0;colonne<4;colonne++) {
if (grille[ligne][colonne]!=0){
sprintf(str,"./images/%i.png", grille[ligne][colonne]); sprintf(str,"./images/%i.png", grille[ligne][colonne]);
sprite=ChargerSprite(str); sprite=ChargerSprite(str);
AfficherSprite(sprite,432+(124*colonne),162+(124*ligne)); AfficherSprite(sprite,432+(124*colonne),162+(124*ligne));
LibererSprite(sprite);
}
} }
} }
} }
else if (difficulte==2) { else if (difficulte==2) {
for (ligne=0;ligne<6;ligne++) { for (ligne=0;ligne<6;ligne++) {
for (colonne=0;colonne<6;colonne++) { for (colonne=0;colonne<6;colonne++) {
if (grille[ligne][colonne]!=0) {
sprintf(str,"./images/%i.png", grille[ligne][colonne]); sprintf(str,"./images/%i.png", grille[ligne][colonne]);
sprite=ChargerSprite(str); sprite=ChargerSprite(str);
AfficherSprite(sprite,308+(114*colonne),38+(114*ligne)); AfficherSprite(sprite,308+(114*colonne),38+(114*ligne));
LibererSprite(sprite);
}
} }
} }
} }
@ -93,7 +99,11 @@ void AfficherGrille(int** grille, int difficulte) {
int** ChargerFacile() { int** ChargerFacile() {
/*Afficher la fenêtre de jeu facile*/ /*Afficher la fenêtre de jeu facile*/
int sprite;
ChargerImageFond("./images/japanbg.png"); ChargerImageFond("./images/japanbg.png");
sprite=ChargerSprite("./images/wood3.png");
AfficherSprite(sprite,380,110);
LibererSprite(sprite);
int i; int i;
int f; int f;
int cpt=1; int cpt=1;
@ -106,13 +116,17 @@ int** ChargerFacile() {
cpt+=1; cpt+=1;
} }
grille=CreerGrille(tab,4,4); grille=CreerGrille(tab,4,4);
CacherGrille(1); CacherGrille(grille, 1);
return grille; return grille;
} }
int** ChargerMoyen() { int** ChargerMoyen() {
/*Afficher la fenêtre de jeu moyen*/ /*Afficher la fenêtre de jeu moyen*/
int sprite;
ChargerImageFond("./images/japanbg3.png"); ChargerImageFond("./images/japanbg3.png");
sprite=ChargerSprite("./images/wood4.png");
AfficherSprite(sprite,265,10);
LibererSprite(sprite);
int i; int i;
int f; int f;
int cpt=1; int cpt=1;
@ -125,6 +139,6 @@ int** ChargerMoyen() {
cpt+=1; cpt+=1;
} }
grille=CreerGrille(tab,6,6); grille=CreerGrille(tab,6,6);
CacherGrille(2); CacherGrille(grille, 2);
return grille; return grille;
} }

55
Jeu.h
View File

@ -9,6 +9,18 @@
int jeutourne=1; int jeutourne=1;
int ToucheT() {
int touche;
if (ToucheEnAttente()) {
touche= Touche();
if (touche== 84 || 114){
return 1;
}
}
else {
return 0;
}
}
int compteur(int seconde) { int compteur(int seconde) {
char temps[4]; char temps[4];
unsigned long timer=Microsecondes()+delta; unsigned long timer=Microsecondes()+delta;
@ -25,10 +37,6 @@ int tricher(int** grille, int difficulte) {
int triche; int triche;
char temps[4]; char temps[4];
unsigned long timer=Microsecondes()+delta; unsigned long timer=Microsecondes()+delta;
if (ToucheEnAttente()) {
touche= Touche();
if (touche== 84 || 114) {
CacherGrille(difficulte);
AfficherGrille(grille, difficulte); AfficherGrille(grille, difficulte);
while (triche) { while (triche) {
if (Microsecondes()>=timer){ if (Microsecondes()>=timer){
@ -38,7 +46,7 @@ int tricher(int** grille, int difficulte) {
if (ToucheEnAttente()) { if (ToucheEnAttente()) {
touche= Touche(); touche= Touche();
if (touche== 84 || 114){ if (touche== 84 || 114){
CacherGrille(difficulte); CacherGrille(grille, difficulte);
triche=0; triche=0;
return tempsdetriche; return tempsdetriche;
} }
@ -46,12 +54,7 @@ int tricher(int** grille, int difficulte) {
} }
return tempsdetriche; return tempsdetriche;
} }
else {
return tempsdetriche;
}
}
return tempsdetriche;
}
int GrilleComplete(int** grille, int l, int c) { int GrilleComplete(int** grille, int l, int c) {
int i, f; int i, f;
@ -84,17 +87,19 @@ int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int dif
char str[50], temps[4]; char str[50], temps[4];
if (difficulte==1) { if (difficulte==1) {
while (!deuxiemecarte) { while (!deuxiemecarte) {
if (ToucheT()) {
tempsdetriche=tricher(grille, difficulte); tempsdetriche=tricher(grille, difficulte);
tempsdepart+=tempsdetriche;
}
if (time(NULL)>=timer){ if (time(NULL)>=timer){
timer=time(NULL)+1; timer=time(NULL)+1;
seconde=time(NULL)-tempsdepart-tempsdetriche; seconde=time(NULL)-tempsdepart;
sprintf(temps,"%i",seconde); sprintf(temps,"%i",seconde);
ChoisirCouleurDessin(CouleurParNom("white")); ChoisirCouleurDessin(CouleurParNom("white"));
RemplirRectangle(1225,30,40,40); RemplirRectangle(1225,30,40,40);
ChoisirCouleurDessin(CouleurParNom("black")); ChoisirCouleurDessin(CouleurParNom("black"));
EcrireTexte(1230,70,temps, 2); EcrireTexte(1230,70,temps, 2);
} }
if (SourisCliquee()) { if (SourisCliquee()) {
SourisPosition(); SourisPosition();
for (ligne=0; ligne<4; ligne++) { for (ligne=0; ligne<4; ligne++) {
@ -108,25 +113,18 @@ int** DeuxiemeCarte(int ** grille, int carte,int nomCarte, int f, int i, int dif
sprintf(str,"./images/%i.png",grille[ligne][colonne]); sprintf(str,"./images/%i.png",grille[ligne][colonne]);
carte=ChargerSprite(str); carte=ChargerSprite(str);
AfficherSprite(carte,432+(124*colonne),162+(124*ligne)); AfficherSprite(carte,432+(124*colonne),162+(124*ligne));
suivant=Microsecondes()+delta; LibererSprite(carte);
if (!ComparerCartes(carte1,carte2)){ if (!ComparerCartes(carte1,carte2)){
suivant=Microsecondes()+delta;
while(asec){ 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){ if (Microsecondes()>=suivant){
carte=ChargerSprite("./images/wood2.png"); carte=ChargerSprite("./images/wood2.png");
AfficherSprite(carte,422+(124*f),152+(124*i)); AfficherSprite(carte,422+(124*f),152+(124*i));
AfficherSprite(carte,422+(124*colonne),152+(124*ligne)); AfficherSprite(carte,422+(124*colonne),152+(124*ligne));
LibererSprite(carte);
asec=0; asec=0;
} }
} }
} }
else { else {
@ -150,8 +148,10 @@ void * PremiereCarte(int** grille, int difficulte){
char str[50], temps[4]; char str[50], temps[4];
if (difficulte==1) { if (difficulte==1) {
while (jeutourne) { while (jeutourne) {
if (ToucheT()) {
tempsdetriche=tricher(grille, difficulte); tempsdetriche=tricher(grille, difficulte);
tempsdepart+=tempsdetriche; tempsdepart+=tempsdetriche;
}
if (time(NULL)>=timer){ if (time(NULL)>=timer){
timer=time(NULL)+1; timer=time(NULL)+1;
seconde=time(NULL)-tempsdepart; seconde=time(NULL)-tempsdepart;
@ -172,6 +172,7 @@ void * PremiereCarte(int** grille, int difficulte){
sprintf(str,"./images/%i.png",grille[i][f]); sprintf(str,"./images/%i.png",grille[i][f]);
carte=ChargerSprite(str); carte=ChargerSprite(str);
AfficherSprite(carte,432+(124*f),162+(124*i)); AfficherSprite(carte,432+(124*f),162+(124*i));
LibererSprite(carte);
grille=DeuxiemeCarte(grille, carte, grille[i][f], f, i, difficulte, tempsdepart); grille=DeuxiemeCarte(grille, carte, grille[i][f], f, i, difficulte, tempsdepart);
f=3; f=3;
i=3; i=3;
@ -193,9 +194,11 @@ void jeu(int** grille, int difficulte) {
void ChargerDifficulte(int difficulte) { void ChargerDifficulte(int difficulte) {
/*Charge la difficulté choisi au menu principal*/ /*Charge la difficulté choisi au menu principal*/
if (difficulte==1) { if (difficulte==1) {
jeu(ChargerFacile(), 1); int** grille=ChargerFacile();
jeu(grille, 1);
} }
else if (difficulte=2) { else if (difficulte=2) {
jeu(ChargerMoyen(), 2); int** grille=ChargerMoyen();
jeu(grille, 2);
} }
} }