From 217cf05fffe3275f11cba19782f00a4521987f7c Mon Sep 17 00:00:00 2001
From: belkhiritaha <belkhiri.taha53@gmail.com>
Date: Mon, 20 Jun 2022 14:09:10 +0200
Subject: [PATCH] ajout x_fenetre

---
 .../Belkhiri/x_fenetre/Makefile               |  21 ++++
 travail_individuel/Belkhiri/x_fenetre/X.c     | 100 ++++++++++++++++++
 travail_individuel/Belkhiri/x_fenetre/run     | Bin 0 -> 17016 bytes
 3 files changed, 121 insertions(+)
 create mode 100644 travail_individuel/Belkhiri/x_fenetre/Makefile
 create mode 100644 travail_individuel/Belkhiri/x_fenetre/X.c
 create mode 100755 travail_individuel/Belkhiri/x_fenetre/run

diff --git a/travail_individuel/Belkhiri/x_fenetre/Makefile b/travail_individuel/Belkhiri/x_fenetre/Makefile
new file mode 100644
index 0000000..e76de77
--- /dev/null
+++ b/travail_individuel/Belkhiri/x_fenetre/Makefile
@@ -0,0 +1,21 @@
+CC=gcc
+
+LDFLAG=$(shell sdl2-config --cflags --libs) -lm -lSDL2_ttf -D_REENTRANT -lSDL2_image -pthread
+CFLAG=-Wall $(shell sdl2-config --cflags --libs)
+
+EXEC=run
+SRC=$(wildcard *.c)
+OBJ=$(SRC:.c=.o)
+
+all:$(EXEC)
+
+$(EXEC):$(OBJ)
+	$(CC) -o $@ $^ $(LDFLAG)
+
+%.o:%.c
+	$(CC) -o $@ -c $< $(CFLAG)
+
+.PHONY:clean 
+
+clean:
+	rm -rf $(EXEC)
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/x_fenetre/X.c b/travail_individuel/Belkhiri/x_fenetre/X.c
new file mode 100644
index 0000000..2d5a68f
--- /dev/null
+++ b/travail_individuel/Belkhiri/x_fenetre/X.c
@@ -0,0 +1,100 @@
+#include <SDL2/SDL.h>
+#include <stdio.h>
+
+
+int main(int argc, char **argv) {
+    (void)argc;
+    (void)argv;
+
+    int screen_width = 1079;
+    int screen_height = 1920;
+
+    SDL_Window * windows[20];
+
+    int bounce_count = 0;
+    int amplitude_bounce = 200;
+    int left_most_position = 0;
+    int top_most_position = 0;
+
+    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
+    SDL_Log("Error : SDL initialisation - %s\n", 
+             SDL_GetError());
+    exit(EXIT_FAILURE);
+    }
+        int pas_y = (screen_height)/20;
+        int pas_x = (screen_width)/20;
+        int last_drawy = 0;
+
+    for  (int i = 0; i < 10; i++) {
+        int draw_x = top_most_position + i * pas_x;
+        int draw_y = left_most_position + i * pas_y;
+        last_drawy = draw_y;
+        windows[i] = SDL_CreateWindow("Window",
+                                        draw_y , draw_x,  
+                                        400, 300,
+                                        SDL_WINDOW_SHOWN);
+        if (windows[i] == NULL) {
+                SDL_Log("Error : SDL window creation - %s\n", 
+                        SDL_GetError());
+                exit(EXIT_FAILURE);
+        }
+        SDL_Delay(50);
+    }
+
+    for  (int i = 10; i < 20; i++) {
+        int draw_x = top_most_position + (i-10) * pas_x;
+        int draw_y = last_drawy - (i-10) * pas_y;
+        windows[i] = SDL_CreateWindow("Window",
+                                    draw_y , draw_x,  
+                                    400, 300,
+                                    SDL_WINDOW_SHOWN);
+        if (windows[i] == NULL) {
+            SDL_Log("Error : SDL window creation - %s\n", 
+                    SDL_GetError());
+            exit(EXIT_FAILURE);
+        }
+        SDL_Delay(50);
+    }
+
+    SDL_Delay(100);
+
+    while (bounce_count < 50) {
+
+    
+        for  (int i = 0; i < 10; i++) {
+            int draw_x = top_most_position + i * pas_x;
+            int draw_y = left_most_position + i * pas_y;
+            last_drawy = draw_y;
+            SDL_SetWindowPosition(windows[i],
+                                draw_y , draw_x);
+
+            //SDL_Delay(50);
+        }
+
+        for  (int i = 10; i < 20; i++) {
+            int draw_x = top_most_position + (i-10) * pas_x;
+            int draw_y = last_drawy - (i-10) * pas_y;
+            SDL_SetWindowPosition(windows[i],
+                                        draw_y , draw_x);
+            //SDL_Delay(50);
+        }
+
+        SDL_Delay(100);
+
+
+        bounce_count+=1;
+        int signe = (bounce_count % 2 == 0) ? (1) : (-1);
+        left_most_position = left_most_position + amplitude_bounce;
+        amplitude_bounce = 200 * sin(bounce_count);
+    }
+    for (int i = 0; i < 20; i++) {
+        SDL_DestroyWindow(windows[i]);
+    }
+
+
+    SDL_Delay(2000);
+
+    SDL_Quit();
+
+      return 0;
+}
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/x_fenetre/run b/travail_individuel/Belkhiri/x_fenetre/run
new file mode 100755
index 0000000000000000000000000000000000000000..64084e4825d6614c016394579ef63b7ad36a1453
GIT binary patch
literal 17016
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

literal 0
HcmV?d00001

-- 
GitLab