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