DEV/DEV1.1/SAé/menu_principal.c
2024-12-02 14:12:49 +01:00

72 lines
1.9 KiB
C

# include <stdio.h>
# include <stdlib.h>
# include <graph.h>
void affiche_boutons(void) {
/* Initialise le graphique et le ferme SEULEMENT si l'utilisateur ferme la
fenêtre ou appuie sur QUITTER */
couleur c;
InitialiserGraphique();
CreerFenetre(100,100,500,500);
c = CouleurParNom("white");
EffacerEcran(c);
DessinerRectangle(150,300,200,50);
DessinerRectangle(150,375,200,50);
c = CouleurParNom("blue");
ChoisirCouleurDessin(c);
EcrireTexte(188,412, "QUITTER", 2);
c = CouleurParNom("red");
ChoisirCouleurDessin(c);
EcrireTexte(200,337, "JOUER", 2);
/* printf("\n%d\n", TailleChaineEcran("QUITTER", 2)); */
}
int souris_clique_bouton(int bouton_x, int bouton_y, int largeur, int hauteur) {
/* Prend en argument les coordonnées x et y du point en haut
à gauche du bouton, sa largeur et sa hauteur puis renvoie un booléen si
la souris clique dans la zone du bouton (0 si oui, 1 sinon) */
int hitbox_largeur[500];
int hitbox_hauteur[500];
int i;
int j;
SourisCliquee();
/* Remplit le tableau hitbox_largeur avec toutes les coordonnées x qui correspondent
à celles du bouton */
for (i = 0; i != largeur; i++) {
hitbox_largeur[i] = i + bouton_x;
}
/* Remplit le tableau hitbox_hauteur avec toutes les coordonnées y qui correspondent
à celles du bouton */
for (i = 0; i != hauteur; i++) {
hitbox_hauteur[i] = i + bouton_y;
}
/* Vérifie si les coordonnées de la souris sont présentes dans les tableaux
qui définissent la hitbox du bouton */
for (i = 0; i != largeur; i++) {
for (j = 0; j != hauteur; j++) {
if ((hitbox_largeur[i] == _X) && (hitbox_hauteur[j] == _Y)) {
return 1;
}
}
}
return 0;
}
int main(void) {
int test = 1;
affiche_boutons();
while (1) {
if (souris_clique_bouton(150,375,200,50)) {
FermerGraphique();
return EXIT_SUCCESS;
}
if (souris_clique_bouton(150,375,200,50)) {
/* Lancer le code du jeu */
}
}
}