From 31e7c17e6387fe97a95db4e0204a842a0707d0ec Mon Sep 17 00:00:00 2001
From: maberet <marcbere@LAPTOP-CJC0G094.localdomain>
Date: Tue, 21 Jun 2022 09:05:31 +0200
Subject: [PATCH] Ajout des oiseaux et des nuages

---
 travail_individuel/Beret/snakes/main.c | 170 +++++++++++++++++--------
 1 file changed, 114 insertions(+), 56 deletions(-)

diff --git a/travail_individuel/Beret/snakes/main.c b/travail_individuel/Beret/snakes/main.c
index ecb1565..a04f55a 100644
--- a/travail_individuel/Beret/snakes/main.c
+++ b/travail_individuel/Beret/snakes/main.c
@@ -1,56 +1,114 @@
-#include <SDL2/SDL.h>
-#include <math.h>
-#include <stdio.h>
-#include <string.h>
-
-int main(int argc, char **argv) {
-    (void)argc;
-    (void)argv;
-
-    SDL_Window 
-       *window_1 = NULL;
-    SDL_Renderer
-        *renderer = NULL;
-
-    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
-    SDL_Log("Error : SDL initialisation - %s\n", 
-             SDL_GetError());                // l'initialisation de la SDL a échoué 
-    exit(EXIT_FAILURE);}
-
-    SDL_DisplayMode DM;
-    SDL_GetCurrentDisplayMode(0, &DM);
-
-    /* Création de la fenêtre de gauche */
-    window_1 = SDL_CreateWindow("Premier dessin",
-                            SDL_WINDOWPOS_CENTERED,
-                            SDL_WINDOWPOS_CENTERED, DM.w * 0.66,
-                            DM.h * 0.66,
-                            SDL_WINDOW_OPENGL);              
-
-    if (window_1 == NULL) {
-        SDL_Log("Error : SDL window 1 creation - %s\n", 
-                SDL_GetError());                 // échec de la création de la fenêtre
-        SDL_Quit();                              // On referme la SDL       
-        exit(EXIT_FAILURE);
-    }
-
-    renderer = SDL_CreateRenderer(window_1, -1,
-                                SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
-    if (renderer == NULL) {SDL_DestroyRenderer(renderer);                                  // Attention : on suppose que les NULL sont maintenus !!
-    renderer = NULL;
-
-    SDL_DestroyWindow(window_1);
-    window_1 = NULL;};
-
-    //draw(renderer);                                       
-    SDL_RenderPresent(renderer);
-    SDL_Delay(2000); 
-    SDL_DestroyRenderer(renderer);                                  // Attention : on suppose que les NULL sont maintenus !!
-    renderer = NULL;
-
-    SDL_DestroyWindow(window_1);
-    window_1 = NULL;
-    SDL_Quit();                                
-
-    return 0;
-}
+#include <SDL2/SDL.h>
+#include <math.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+
+
+void draw(SDL_Renderer* renderer, int temps) {                               
+  SDL_Rect rectangle = {0,0,300,200};   
+  SDL_Rect rectangle2 = {(temps)%(300),150,20,10};
+  int oiseauxx[17]={0,1,2,2,2,3,3,4,1,1,0,0,0,-1,-1,-2,-3};
+  int oiseauxy[17]={0,0,0,1,2,2,3,3,-1,-2,-1,-2,-3,0,1,1,2};
+
+  srand( time( NULL ) );
+  int saut= rand() % 5;
+  printf("saut%d\n",saut);
+  srand( time( NULL ) );
+  int signe= rand() % 2;
+  printf("signe%d\n",signe);
+
+  
+  SDL_SetRenderDrawColor(renderer,                                                
+                         128, 196, 255,                                  // mode Red, Green, Blue (tous dans 0..255)
+                         255);                                           // 0 = transparent ; 255 = opaque
+
+  SDL_RenderFillRect(renderer, &rectangle);
+
+
+  SDL_SetRenderDrawColor(renderer,                                                
+                         255, 255, 255,                                  // mode Red, Green, Blue (tous dans 0..255)
+                         150);                                           // 0 = transparent ; 255 = opaque
+
+  SDL_RenderFillRect(renderer, &rectangle2);
+
+
+  int pt = 0;
+  /* tracer un cercle n'est en fait pas trivial, voilà le résultat sans algo intelligent ... */
+  while ( pt<16) {      
+    SDL_SetRenderDrawColor(renderer,
+                           0,          // quantité de Rouge      
+                           0,          //          de vert 
+                           0,              //          de bleu
+                           255);
+                                                              // opacité = opaque
+    SDL_RenderDrawPoint(renderer,                                   
+                        (200+ temps/2 - oiseauxx[pt])%(300),                     // coordonnée en x
+                        100-oiseauxy[pt]);
+    
+    SDL_SetRenderDrawColor(renderer,
+                           0,          // quantité de Rouge      
+                           0,          //          de vert 
+                           0,              //          de bleu
+                           255);
+                                                              // opacité = opaque
+    SDL_RenderDrawPoint(renderer,                                   
+                        (180+ temps/2 - oiseauxx[pt])%(300),                     // coordonnée en x
+                        150-oiseauxy[pt]);
+    
+    pt=pt+1;}
+}
+
+int main(int argc, char **argv) {
+    (void)argc;
+    (void)argv;
+    int temps=0;
+
+
+    SDL_Window 
+       *window_1 = NULL;
+    SDL_Renderer
+        *renderer = NULL;
+
+    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
+    SDL_Log("Error : SDL initialisation - %s\n", 
+             SDL_GetError());                // l'initialisation de la SDL a échoué 
+    exit(EXIT_FAILURE);}
+
+    window_1 = SDL_CreateWindow("Premier dessin",
+                            SDL_WINDOWPOS_CENTERED,
+                            SDL_WINDOWPOS_CENTERED, 300,
+                            200,
+                            SDL_WINDOW_OPENGL);              
+
+    if (window_1 == NULL) {
+        SDL_Log("Error : SDL window 1 creation - %s\n", 
+                SDL_GetError());                 // échec de la création de la fenêtre
+        SDL_Quit();                              // On referme la SDL       
+        exit(EXIT_FAILURE);
+    }
+
+    renderer = SDL_CreateRenderer(window_1, -1,
+                                SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
+    if (renderer == NULL) {SDL_DestroyRenderer(renderer);                                  // Attention : on suppose que les NULL sont maintenus !!
+    renderer = NULL;
+
+    SDL_DestroyWindow(window_1);
+    window_1 = NULL;};
+    while (temps<1000){
+    //draw(renderer);  
+    draw (renderer,temps);                                     
+    SDL_RenderPresent(renderer);
+    SDL_Delay(20);
+    temps= temps +1;  }
+
+    SDL_DestroyRenderer(renderer);                                  // Attention : on suppose que les NULL sont maintenus !!
+    renderer = NULL;
+
+    SDL_DestroyWindow(window_1);
+    window_1 = NULL;
+    SDL_Quit();                                
+
+    return 0;
+}
-- 
GitLab