First version of the house

This commit is contained in:
2025-03-26 09:34:52 +01:00
parent a39fd44d3a
commit c4adaa2cf6

114
maison.c
View File

@@ -20,7 +20,7 @@
*------------------------------------------------------------------------------ *------------------------------------------------------------------------------
* MLV_draw_circle: Dessine un cercle à une position et un rayon spécifiés en * MLV_draw_circle: Dessine un cercle à une position et un rayon spécifiés en
* paramètres. * paramètres.
* *
* void MLV_draw_circle( * void MLV_draw_circle(
* int x, Coordonnée en X du centre du cercle * int x, Coordonnée en X du centre du cercle
* int y, Coordonnée en Y du centre du cercle * int y, Coordonnée en Y du centre du cercle
@@ -42,7 +42,7 @@
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_ellipse : Dessine une ellipse dont la position, les rayons et la * MLV_draw_ellipse : Dessine une ellipse dont la position, les rayons et la
* couleur sont passés en paramètres. * couleur sont passés en paramètres.
* *
* MLV_draw_ellipse( * MLV_draw_ellipse(
* int x, Coordonnée en X du centre de l'ellipse * int x, Coordonnée en X du centre de l'ellipse
* int y, Coordonnée en Y du centre de l'ellipse * int y, Coordonnée en Y du centre de l'ellipse
@@ -52,7 +52,7 @@
* ); * );
* *
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_filled_ellipse : Dessine une ellipse pleine dont la position, les * MLV_draw_filled_ellipse : Dessine une ellipse pleine dont la position, les
* rayons et la couleur sont passés en paramètres. * rayons et la couleur sont passés en paramètres.
* *
* void MLV_draw_filled_ellipse( * void MLV_draw_filled_ellipse(
@@ -65,7 +65,7 @@
* *
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_rectangle : Dessine un rectangle dont la taille, la couleur et la * MLV_draw_rectangle : Dessine un rectangle dont la taille, la couleur et la
* position du sommet Nord-Ouest sont données en * position du sommet Nord-Ouest sont données en
* paramètres. * paramètres.
* *
* void MLV_draw_rectangle( * void MLV_draw_rectangle(
@@ -77,7 +77,7 @@
* ); * );
* *
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_filled_rectangle : Dessine un rectangle dont la taille, la couleur * MLV_draw_filled_rectangle : Dessine un rectangle dont la taille, la couleur
* et la position du sommet Nord-Ouest sont données * et la position du sommet Nord-Ouest sont données
* en paramètres. * en paramètres.
* void MLV_draw_filled_rectangle( * void MLV_draw_filled_rectangle(
@@ -90,7 +90,7 @@
* *
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_line : Dessine une ligne dont les coordonnées des deux extrémités * MLV_draw_line : Dessine une ligne dont les coordonnées des deux extrémités
* sont passées en paramètres. * sont passées en paramètres.
* void MLV_draw_line( * void MLV_draw_line(
* int x1, Coordonnée en X de la première extrémité de la ligne * int x1, Coordonnée en X de la première extrémité de la ligne
* int y1, Coordonnée en Y de la première extrémité de la ligne * int y1, Coordonnée en Y de la première extrémité de la ligne
@@ -113,8 +113,8 @@
* MLV_draw_bezier_curve: Dessine une courbe de Bézier à partir d'une liste de * MLV_draw_bezier_curve: Dessine une courbe de Bézier à partir d'une liste de
* sommets. * sommets.
* *
* void MLV_draw_bezier_curve( * void MLV_draw_bezier_curve(
* const int* vx, La liste des coordonnées en X des différents * const int* vx, La liste des coordonnées en X des différents
* sommets de la courbe. * sommets de la courbe.
* const int* vy, La liste des coordonnées en Y des différents * const int* vy, La liste des coordonnées en Y des différents
* sommets de la courbe. * sommets de la courbe.
@@ -125,7 +125,7 @@
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_polygon: Dessine un polygone à partir d'une liste de sommets. * MLV_draw_polygon: Dessine un polygone à partir d'une liste de sommets.
* *
* void MLV_draw_polygon( * void MLV_draw_polygon(
* const int* vx, La liste des coordonnées en X des différents * const int* vx, La liste des coordonnées en X des différents
* sommets du polygone. * sommets du polygone.
* const int* vy, La liste des coordonnées en Y des différents * const int* vy, La liste des coordonnées en Y des différents
@@ -137,7 +137,7 @@
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* MLV_draw_polygon: Dessine un polygone plein à partir d'une liste de sommets. * MLV_draw_polygon: Dessine un polygone plein à partir d'une liste de sommets.
* *
* void MLV_draw_filled_polygon( * void MLV_draw_filled_polygon(
* const int* vx, La liste des coordonnées en X des différents * const int* vx, La liste des coordonnées en X des différents
* sommets du polygone. * sommets du polygone.
* const int* vy, La liste des coordonnées en Y des différents * const int* vy, La liste des coordonnées en Y des différents
@@ -148,65 +148,47 @@
* *
* ----------------------------------------------------------------------------- * -----------------------------------------------------------------------------
* *
* Il existe d'autres fonctions de dessin. Vous les trouverez en consultant * Il existe d'autres fonctions de dessin. Vous les trouverez en consultant
* le fichier MLV_shape.h ou en tapant dans le terminal la commande : * le fichier MLV_shape.h ou en tapant dans le terminal la commande :
* *
* man MLV_shape.h * man MLV_shape.h
*/ */
#include <MLV/MLV_all.h> #include <MLV/MLV_all.h>
int main(int argc, char *argv[]) { int main(int argc, char *argv[])
/* Créé et affiche la fenêtre */ {
MLV_create_window("beginner - 2 - shapes", "shapes", 640, 480); /* Créé et affiche la fenêtre */
MLV_create_window("House Drawing", "House", 640, 480);
/* Dessine des cercles, ellipses, rectangles, lignes et points */
MLV_draw_circle(20, 20, 10, MLV_COLOR_PURPLE); /* Dessine le mur principal (carré rouge) */
MLV_draw_filled_circle(50, 20, 10, MLV_COLOR_BROWN); MLV_draw_filled_rectangle(200, 200, 200, 200, MLV_COLOR_RED);
MLV_draw_ellipse(100, 20, 30, 10, MLV_COLOR_CYAN);
MLV_draw_filled_ellipse(170, 20, 30, 10, MLV_COLOR_PINK); /* Dessine le toit (triangle bleu) */
MLV_draw_rectangle(10, 50, 40, 20, MLV_COLOR_BLUE); int roof_x[3] = {200, 400, 300};
MLV_draw_filled_rectangle(70, 50, 40, 20, MLV_COLOR_GREEN); int roof_y[3] = {200, 200, 100};
MLV_draw_line(120, 50, 160, 90, MLV_COLOR_WHITE); MLV_draw_filled_polygon(roof_x, roof_y, 3, MLV_COLOR_BLUE);
MLV_draw_point(10, 110, MLV_COLOR_RED);
/* Dessine les fenêtres (rectangles de couleur) */
/* Déclare les coordonnées pour la courbe de Bézier */ MLV_draw_filled_rectangle(220, 220, 50, 50, MLV_COLOR_DODGER_BLUE);
int coordonnee_x[4] = {10, 50, 90, 130}; MLV_draw_filled_rectangle(330, 220, 50, 50, MLV_COLOR_DODGER_BLUE);
int coordonnee_y[4] = {150, 190, 150, 190};
/* Dessine la porte (rectangle de couleur) */
/* Dessine une courbe de Bézier avec ses sommets */ MLV_draw_filled_rectangle(275, 300, 50, 100, MLV_COLOR_BROWN);
MLV_draw_bezier_curve(coordonnee_x, coordonnee_y, 4, MLV_COLOR_RED);
MLV_draw_circle(coordonnee_x[0], coordonnee_y[0], 3, MLV_COLOR_GREEN); /* Dessine le soleil (cercle jaune) */
MLV_draw_circle(coordonnee_x[1], coordonnee_y[1], 3, MLV_COLOR_GREEN); MLV_draw_filled_circle(500, 100, 50, MLV_COLOR_YELLOW);
MLV_draw_circle(coordonnee_x[2], coordonnee_y[2], 3, MLV_COLOR_GREEN);
MLV_draw_circle(coordonnee_x[3], coordonnee_y[3], 3, MLV_COLOR_GREEN); /* Dessine l'herbe (rectangle vert) */
MLV_draw_filled_rectangle(0, 400, 640, 80, MLV_COLOR_GREEN);
/* Déclare les coordonnées pour le polygone */
int coordonnee1_x[4] = {200, 240, 320, 280}; /* Met à jour l'affichage */
int coordonnee1_y[4] = {150, 190, 190, 150}; MLV_actualise_window();
/* Dessine un polygone avec ses sommets */ /* Attend 10 secondes avant la fin du programme */
MLV_draw_filled_polygon(coordonnee1_x, coordonnee1_y, 4, MLV_COLOR_BLUE); MLV_wait_seconds(20);
MLV_draw_polygon(coordonnee1_x, coordonnee1_y, 4, MLV_COLOR_RED);
MLV_draw_circle(coordonnee1_x[0], coordonnee1_y[0], 3, MLV_COLOR_GREEN); /* Fermer la fenêtre */
MLV_draw_circle(coordonnee1_x[1], coordonnee1_y[1], 3, MLV_COLOR_GREEN); MLV_free_window();
MLV_draw_circle(coordonnee1_x[2], coordonnee1_y[2], 3, MLV_COLOR_GREEN); return 0;
MLV_draw_circle(coordonnee1_x[3], coordonnee1_y[3], 3, MLV_COLOR_GREEN); }
/* Affiche du texte */
MLV_draw_text(
10, 120,
"Juste au dessus de cette ligne, il y a un pixel rouge.",
MLV_COLOR_MAGENTA
);
/* Met à jour l'affichage */
MLV_actualise_window();
/* Attend 10 secondes avant la fin du programme */
MLV_wait_seconds(10);
/* Fermer la fenêtre */
MLV_free_window();
return 0;
}