From 6450a8ff55066bbffbf31a8987b645b834ba4dce Mon Sep 17 00:00:00 2001 From: Tom Moguljak Date: Tue, 22 Nov 2022 14:12:03 +0100 Subject: [PATCH] Ajout d'une fonction permettant la creation de bouton, ajout d'un bouton quitter --- menu.c | 88 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 29 deletions(-) diff --git a/menu.c b/menu.c index 49b074a..86454d1 100644 --- a/menu.c +++ b/menu.c @@ -1,46 +1,76 @@ +#include #include #include + + +typedef struct { + int x,y,L,H; +} Zone; + /*Check si une position (x,y) se trouve dans la zone; retourne 1 si dedans, sinon 0.*/ +int checkzone(Zone z, int x, int y) { + return x >= z.x && x <= z.x + z.L && y >= z.y && y <= z.y + z.H; +} + +void dessinerbouton(Zone z, char* texte, couleur arriereplan, couleur bordure, couleur couleurtexte, int tailletexte) { + ChoisirCouleurDessin(arriereplan); + RemplirRectangle(z.x, z.y, z.L, z.H); + + ChoisirCouleurDessin(bordure); + DessinerRectangle(z.x, z.y, z.L, z.H); + + ChoisirCouleurDessin(couleurtexte); + EcrireTexte(z.x + z.L / 2 - TailleChaineEcran(texte, tailletexte) / 2, + z.y + z.H / 2 + TailleSupPolice(tailletexte) / 2, + texte, tailletexte); +} + +void dessinerzone(Zone z) { + + RemplirRectangle(z.x, z.y, z.L, z.H); +} + + int main() { + int boucle = 1; + + Zone Titre = {490, 60, 260, 55}; + Zone Selection = {42, 300, 230, 35}; + Zone Facile = {42, 375, 85, 35}; + Zone Moyen = {42, 450, 85, 35}; + Zone Difficile = {42, 525, 85, 35}; + Zone Quitter = {42, 605, 100, 35}; + InitialiserGraphique(); CreerFenetre(375,175,1250,750); + ChargerImageFond("./img/backgrounds/menu.png"); - couleur c; - c=CouleurParNom("black"); - ChoisirCouleurDessin(c); - RemplirRectangle(440, 60, 260, 55); - RemplirRectangle(42, 350, 230, 35); - RemplirRectangle(42, 425, 85, 35); - RemplirRectangle(42, 500, 85, 35); - RemplirRectangle(42, 575, 85, 35); - c=CouleurParNom("white"); - ChoisirCouleurDessin(c); - EcrireTexte(450, 100, "JEU DE PAIRES !", 2); - DessinerRectangle (440, 60, 260, 55); + dessinerbouton(Titre, "JEU DE PAIRES !", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 2); - c=CouleurParNom("white"); - ChoisirCouleurDessin(c); - EcrireTexte(50, 375, "Selectionnez un niveau :", 1); - DessinerRectangle(42, 350, 230, 35); + dessinerbouton(Selection, "Selectionnez un niveau :", CouleurParNom("black"), CouleurParNom("white"), CouleurParNom("white"), 1); - c=CouleurParNom("dark green"); - ChoisirCouleurDessin(c); - EcrireTexte(50, 450, "Facile", 1); - DessinerRectangle(42, 425, 85, 35); + dessinerbouton(Facile, "Facile", CouleurParNom("black"), CouleurParNom("dark green"), CouleurParNom("dark green"), 1); - c=CouleurParNom("orange"); - ChoisirCouleurDessin(c); - EcrireTexte(50, 525, "Moyen", 1); - DessinerRectangle(42, 500, 85, 35); + dessinerbouton(Moyen, "Moyen", CouleurParNom("black"), CouleurParNom("orange"), CouleurParNom("orange"), 1); - c=CouleurParNom("red"); - ChoisirCouleurDessin(c); - EcrireTexte(50, 600, "Difficile", 1); - DessinerRectangle(42, 575, 85, 35); + dessinerbouton(Difficile, "Difficile", CouleurParNom("black"), CouleurParNom("red"), CouleurParNom("red"), 1); + + dessinerbouton(Quitter, "QUITTER", CouleurParNom("red"), CouleurParNom("red"), CouleurParNom("white"), 1); + + + while(boucle) { + SourisPosition(); + + if(SourisCliquee()){ + + if(checkzone(Quitter, _X, _Y)) + boucle = 0; + + } + } - Touche(); FermerGraphique(); return EXIT_SUCCESS; } \ No newline at end of file