diff --git a/include/fin.h b/include/fin.h index 0c8dcfd..a99ff70 100644 --- a/include/fin.h +++ b/include/fin.h @@ -1,6 +1,6 @@ #ifndef FIN_H #define FIN_H -void fin(unsigned long int timer); +int fin(unsigned long int timer); #endif diff --git a/include/game.h b/include/game.h index 6711c31..9ec5053 100644 --- a/include/game.h +++ b/include/game.h @@ -1,6 +1,6 @@ #ifndef GAME_H #define GAME_H -void game(int colonnes, int lignes); +int game(int colonnes, int lignes); -#endif \ No newline at end of file +#endif diff --git a/src/fin.c b/src/fin.c index daacc96..a2cee61 100644 --- a/src/fin.c +++ b/src/fin.c @@ -4,8 +4,7 @@ #include"../include/main.h" #include"../include/timer.h" -void fin(unsigned long int timer) { - +int fin(unsigned long int timer) { zone recommencer = {375, 665, 150, 35}; zone quitter_fin = {735, 665, 100, 35}; @@ -28,13 +27,20 @@ void fin(unsigned long int timer) { dessiner_bouton(recommencer, "Recommencer", CouleurParNom("black"), CouleurParNom("dark green"), CouleurParNom("dark green"), 1); dessiner_bouton(quitter_fin, "QUITTER", CouleurParNom("red"), CouleurParNom("red"), CouleurParNom("white"), 1); - - SourisPosition(); + + int boucle = 1; + while (boucle) { + SourisPosition(); if(SourisCliquee()) { - - if(check_zone(quitter_fin, _X, _Y)) - Touche(); - + if (check_zone(recommencer, _X, _Y)) { + boucle = 0; + return 1; + } + if (check_zone(quitter_fin, _X, _Y)) { + boucle = 0; + return 0; + } } + } } diff --git a/src/game.c b/src/game.c index d3f30ae..c726f61 100644 --- a/src/game.c +++ b/src/game.c @@ -2,6 +2,8 @@ #include #include #include"../include/main.h" +#include"../include/timer.h" +#include"../include/fin.h" #define GAME_MARGIN_RIGHT 20 #define GAME_MARGIN_LEFT 20 @@ -19,7 +21,7 @@ card create_card(int x, int y, int L, int H, char *file) { return carte; } -void game(int colonnes, int lignes) { +int game(int colonnes, int lignes) { EffacerEcran(CouleurParComposante(54, 57, 63)); ChoisirCouleurDessin(CouleurParNom("white")); @@ -41,6 +43,12 @@ void game(int colonnes, int lignes) { cards[l][c] = create_card(GAME_MARGIN_RIGHT + (c * case_max_dimensions), GAME_MARGIN_TOP + (l * case_max_dimensions), case_max_dimensions - (2 * case_margin), case_max_dimensions - (2 * case_margin)); } } + unsigned long int timer = start_timer(0); + + int boucle = 1; + while (boucle) { + update_timer(timer); + } - Touche(); + return fin(timer); } diff --git a/src/menu.c b/src/menu.c index cca6e4a..e8100a7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -2,6 +2,17 @@ #include #include #include"../include/main.h" +#include"../include/game.h" + +void afficher_menu(zone titre, zone selection, zone facile, zone moyen, zone difficile, zone quitter) { + ChargerImageFond("./img/backgrounds/menu.png"); + dessiner_bouton(titre, "JEU DE PAIRES !", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 2); + dessiner_bouton(selection, "Selectionnez un niveau :", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 1); + dessiner_bouton(facile, "Facile", CouleurParNom("black"), CouleurParNom("dark green"), CouleurParNom("dark green"), 1); + dessiner_bouton(moyen, "Moyen", CouleurParNom("black"), CouleurParNom("orange"), CouleurParNom("orange"), 1); + dessiner_bouton(difficile, "Difficile", CouleurParNom("black"), CouleurParNom("red"), CouleurParNom("red"), 1); + dessiner_bouton(quitter, "QUITTER", CouleurParNom("red"), CouleurParNom("red"), CouleurParNom("white"), 1); +} void menu(void) { zone titre = {490, 60, 260, 55}; @@ -11,26 +22,34 @@ void menu(void) { zone difficile = {42, 525, 85, 35}; zone quitter = {42, 605, 100, 35}; - ChargerImageFond("./img/backgrounds/menu.png"); - - dessiner_bouton(titre, "JEU DE PAIRES !", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 2); - - dessiner_bouton(selection, "Selectionnez un niveau :", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 1); - - dessiner_bouton(facile, "Facile", CouleurParNom("black"), CouleurParNom("dark green"), CouleurParNom("dark green"), 1); - - dessiner_bouton(moyen, "Moyen", CouleurParNom("black"), CouleurParNom("orange"), CouleurParNom("orange"), 1); - - dessiner_bouton(difficile, "Difficile", CouleurParNom("black"), CouleurParNom("red"), CouleurParNom("red"), 1); - - dessiner_bouton(quitter, "QUITTER", CouleurParNom("red"), CouleurParNom("red"), CouleurParNom("white"), 1); - + afficher_menu(titre, selection, facile, moyen, difficile, quitter); int boucle = 1; while (boucle) { SourisPosition(); if (SourisCliquee()) { + if (check_zone(facile, _X, _Y)) { + if(game(2, 2)) { + afficher_menu(titre, selection, facile, moyen, difficile, quitter); + } else { + boucle = 0; + } + } + if (check_zone(moyen, _X, _Y)) { + if (game(4, 4)) { + afficher_menu(titre, selection, facile, moyen, difficile, quitter); + } else { + boucle = 0; + } + } + if (check_zone(difficile, _X, _Y)) { + if (game(8, 8)) { + afficher_menu(titre, selection, facile, moyen, difficile, quitter); + } else { + boucle = 0; + } + } if (check_zone(quitter, _X, _Y)) boucle = 0; } }