rajout du bouton X + rejouer

This commit is contained in:
morinl 2022-12-10 16:29:19 +01:00
parent c22b052425
commit 92caac105f
9 changed files with 58 additions and 27 deletions

BIN
Images/X.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
Images/rejouer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -3,17 +3,19 @@ CFLAGS= -Wall -c -lgraph
LDFLAGS= -Wall -lgraph LDFLAGS= -Wall -lgraph
EXEC=menu EXEC=menu
jeu: main.o images.o menu.o jeu.o cheat.o jeu: main.o images.o menu.o jeu.o cheat.o rejouer.o
$(CC) -o jeu main.o images.o menu.o jeu.o cheat.o $(LDFLAGS) $(CC) -o jeu main.o images.o menu.o jeu.o cheat.o rejouer.o $(LDFLAGS)
main.o: main.c images.h menu.h main.h main.o: main.c images.h menu.h main.h
$(CC) main.c $(CFLAGS) $(CC) main.c $(CFLAGS)
images.o: images.c images.h jeu.h images.o: images.c images.h jeu.h
$(CC) images.c $(CFLAGS) $(CC) images.c $(CFLAGS)
menu.o: menu.c menu.h menu.o: menu.c menu.h
$(CC) menu.c $(CFLAGS) $(CC) menu.c $(CFLAGS)
jeu.o: jeu.c jeu.h images.h cheat.h jeu.o: jeu.c jeu.h images.h cheat.h rejouer.h
$(CC) jeu.c $(CFLAGS) $(CC) jeu.c $(CFLAGS)
cheat.o: cheat.c cheat.h cheat.o: cheat.c cheat.h
$(CC) cheat.c $(CFLAGS) $(CC) cheat.c $(CFLAGS)
rejouer.o: rejouer.c rejouer.h images.h menu.h
$(CC) rejouer.c $(CFLAGS)
run: run:
./jeu ./jeu

View File

@ -82,8 +82,4 @@ int tirage_aleatoire(int nb_paires){
}*/ }*/
score=jeu(positions, nb_paires,tab); score=jeu(positions, nb_paires,tab);
Touche();
FermerGraphique();
printf("\n");
return EXIT_SUCCESS;
} }

49
jeu.c
View File

@ -6,36 +6,36 @@
#include "jeu.h" #include "jeu.h"
#include <unistd.h> #include <unistd.h>
#include "cheat.h" #include "cheat.h"
#include "rejouer.h"
int jeu(int position[20][4], int nb_paires,int tab[40]){ int jeu(int position[20][4], int nb_paires,int tab[40]){
int score=0,score2,repet,test=0; int score=0,score2,repet,test=0;
int pos_x,pos_y,oui; int pos_x,pos_y,oui;
int i,j,g,l=0,n=0,x=0,stock_g_1,stock_g_2,sauv_pos[80]; int i,j,g,l=0,n=0,x=0,stock_g_1,stock_g_2,sauv_pos[80];
int repet2, nb_images; int repet2, nb_images;
int clic_x,clic_y,im_y,im_x, im_x_1, im_x_2, im_y_1, im_y_2; int a;
int clic_x,clic_y,im_y,im_x, im_x_1, im_x_2, im_y_1, im_y_2,xpos,ypos;
unsigned long temps, temps2,temps3=1; unsigned long temps, temps2,temps3=1;
char tempstab[50],affichage[50],scoretab[50]; char tempstab[50],affichage[50],scoretab[50];
couleur c=CouleurParComposante(0,0,0); couleur c=CouleurParComposante(0,0,0);
temps2=Microsecondes(); temps2=Microsecondes();
ChargerImage("./Images/score.png",760,250,0,0,224,63); ChargerImage("./Images/score.png",760,200,0,0,224,63);
printf("Voici le nombre de paires: %d\n", nb_paires);
nb_images=nb_paires*2; nb_images=nb_paires*2;
score=0; score=0;
c=CouleurParComposante(255,255,255); c=CouleurParComposante(255,255,255);
ChoisirCouleurDessin(c); ChoisirCouleurDessin(c);
RemplirRectangle(850,320,50,50); RemplirRectangle(850,270,50,50);
snprintf(scoretab,50,"%d",score); snprintf(scoretab,50,"%d",score);
c=CouleurParComposante(0,0,0); c=CouleurParComposante(0,0,0);
ChoisirCouleurDessin(c); ChoisirCouleurDessin(c);
EcrireTexte(865,360,scoretab,2); EcrireTexte(865,310,scoretab,2);
ChargerImage("./Images/X.png",950,15,0,0,62,63);
for (i=0;i<80;i++){ for (i=0;i<80;i++){
sauv_pos[i]=0; sauv_pos[i]=0;
} }
while(score<nb_paires){ while(score<nb_paires){
temps=(Microsecondes()-temps2)/1000000; temps=(Microsecondes()-temps2)/1000000;
if(temps!=temps3){ if(temps!=temps3){
snprintf(tempstab,50,"%ld secondes ecoulees",temps); snprintf(tempstab,50,"%ld secondes ecoulees",temps);
@ -55,6 +55,8 @@ int jeu(int position[20][4], int nb_paires,int tab[40]){
im_y_1=0; im_y_1=0;
im_y_2=0; im_y_2=0;
while (repet<2){ while (repet<2){
xpos=0;
ypos=0;
temps=(Microsecondes()-temps2)/1000000; temps=(Microsecondes()-temps2)/1000000;
if(temps!=temps3){ if(temps!=temps3){
snprintf(tempstab,50,"%ld secondes ecoulees",temps); snprintf(tempstab,50,"%ld secondes ecoulees",temps);
@ -73,13 +75,19 @@ int jeu(int position[20][4], int nb_paires,int tab[40]){
} }
/*Clic de la souris*/ /*Clic de la souris*/
if (SourisCliquee()){ if (SourisCliquee()==1){
clic_x=_X; clic_x=_X;
clic_y=_Y; clic_y=_Y;
xpos=_X;
ypos=_Y;
im_x=0; im_x=0;
im_y=0; im_y=0;
/*Pour fermer le jeu avec le bouton X*/
if((xpos>=950 && xpos<=1002) && (ypos>=15 && ypos<=78)){
FermerGraphique();
return EXIT_SUCCESS;
}
/*Détection des coordonées x et y du clic de la souris*/ /*Détection des coordonées x et y du clic de la souris*/
for (pos_y=370;pos_y>=10;pos_y=pos_y-90){ for (pos_y=370;pos_y>=10;pos_y=pos_y-90){
if (clic_y>=pos_y){ if (clic_y>=pos_y){
@ -174,16 +182,25 @@ int jeu(int position[20][4], int nb_paires,int tab[40]){
if(score2!=score){ if(score2!=score){
c=CouleurParComposante(255,255,255); c=CouleurParComposante(255,255,255);
ChoisirCouleurDessin(c); ChoisirCouleurDessin(c);
RemplirRectangle(850,320,50,50); RemplirRectangle(850,270,50,50);
snprintf(scoretab,50,"%d",score); snprintf(scoretab,50,"%d",score);
c=CouleurParComposante(0,0,0); c=CouleurParComposante(0,0,0);
ChoisirCouleurDessin(c); ChoisirCouleurDessin(c);
EcrireTexte(865,360,scoretab,2); EcrireTexte(865,310,scoretab,2);
} }
score2=score; score2=score;
} }
ChargerImage("./Images/FIN.png",300,460,0,0,399,87); ChargerImage("./Images/FIN.png",250,460,0,0,399,87);
Touche(); ChargerImage("./Images/rejouer.png",760,460,0,0,226,44);
while(1){
if(SourisCliquee()==1){
xpos=_X;
ypos=_Y;
if((xpos>=760 && xpos<=986) && (ypos>=460 && ypos<=504)){
a=rejouer();
}
}
}
FermerGraphique(); FermerGraphique();
return 1; return EXIT_SUCCESS;
} }

4
main.c
View File

@ -8,9 +8,9 @@
int main(void){ int main(void){
InitialiserGraphique();
CreerFenetre(0,0,1024,576);
int temps,coucou; int temps,coucou;
int nb_paires=menu(); int nb_paires=menu();
char tableautemps[50];
tirage_aleatoire(nb_paires); tirage_aleatoire(nb_paires);
return EXIT_SUCCESS;
} }

2
menu.c
View File

@ -9,8 +9,6 @@ int menu(void){
int ypos; int ypos;
int i=10,j=3; int i=10,j=3;
char choix[50]; char choix[50];
InitialiserGraphique();
CreerFenetre(0,0,1024,576);
couleur c=CouleurParComposante(255,255,255); couleur c=CouleurParComposante(255,255,255);
ChoisirCouleurDessin(c); ChoisirCouleurDessin(c);
ChargerImage("Images/background.png",0,0,0,0,1024,576); ChargerImage("Images/background.png",0,0,0,0,1024,576);

12
rejouer.c Normal file
View File

@ -0,0 +1,12 @@
#include<stdio.h>
#include<stdlib.h>
#include<graph.h>
#include "images.h"
#include "menu.h"
#include "rejouer.h"
int rejouer(void){
int temps,coucou;
int nb_paires=menu();
tirage_aleatoire(nb_paires);
}

6
rejouer.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef REJOUER_H
#define REJOUER_H
int rejouer(void);
#endif