diff --git a/Makefile b/Makefile index 5d15f40..6d7fe2c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: adjoly +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/01 11:03:22 by adjoly #+# #+# # -# Updated: 2024/01/06 17:13:23 by adjoly ### ########.fr # +# Updated: 2024/01/07 19:32:37 by adjoly ### ########.fr # # # # **************************************************************************** # @@ -15,14 +15,16 @@ NAME = so_long CC = cc SRCS = main.c \ + ft_move_character.c OBJS = $(SRCS:.c=.o) -FLAGS = -Werror -Wall -Wextra +FLAGS = -Werror -Wall -Wextra -g HEADER = so_long.h -MLX_OBJ = MacroLibX/libmlx.so +MLX_OBJ = MacroLibX/libmlx.so \ + libft/libft.a MLX_FLAGS = -lSDL2 @@ -30,6 +32,7 @@ $(NAME): $(OBJS) $(CC) $(FLAGS) $(MLX_FLAGS) $(OBJS) $(MLX_OBJ) -o $(NAME) %.o: %.c + make -C libft $(CC) $(FLAGS) -I $(HEADER) $< -c -o $@ all: $(NAME) diff --git a/ft_move_character.c b/ft_move_character.c new file mode 100644 index 0000000..3073b73 --- /dev/null +++ b/ft_move_character.c @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_move_character.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/01/07 19:13:01 by adjoly #+# #+# */ +/* Updated: 2024/01/07 22:37:53 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "so_long.h" + +int ft_move_up(void *param) +{ + +} + +int ft_move_down(void *param) +{ + +} + +int ft_move_left(void *param) +{ + +} + +int ft_move_right(void *param) +{ + +} + +int ft_move_character(int key, void *param) +{ + if (key == 26) + ft_move_up(param); + else if (key == 22) + ft_move_down(param); + else if (key == 4) + ft_move_right(param); + else if (key == 7) + ft_move_left(param); + ft_putnbr_fd(key, 1); + return (0); +} diff --git a/libft b/libft new file mode 160000 index 0000000..e391b9b --- /dev/null +++ b/libft @@ -0,0 +1 @@ +Subproject commit e391b9b0f745d775ca6cc48de602e1aab1f2866c diff --git a/main.c b/main.c index dddba5e..222ddc5 100644 --- a/main.c +++ b/main.c @@ -6,10 +6,11 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/06 16:18:56 by adjoly #+# #+# */ -/* Updated: 2024/01/06 17:10:58 by adjoly ### ########.fr */ +/* Updated: 2024/01/07 19:12:34 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ +#include "MacroLibX/includes/mlx.h" #include "so_long.h" int key_close(int key, void *param) @@ -26,22 +27,32 @@ int win_close(int event, void *param) return (0); } +int win_update(void *param) +{ + t_window *win; + + win = (t_window *)param; + mlx_pixel_put(win->mlx, win->win, 100, 100, 0xFFFFFF); + mlx_clear_window(win->mlx, win->win); + return (0); +} + int main(int ac, char **av) { - t_window win; + t_window *win; (void) ac; (void) av; - win.mlx = mlx_init(); - win.win = mlx_new_window(win.mlx, 1600, 900, "so_fluffy"); - - mlx_on_event(win.mlx, win.win, MLX_KEYDOWN, key_close, win.mlx); - mlx_on_event(win.mlx, win.win, MLX_WINDOW_EVENT, win_close, win.mlx); - - mlx_loop(win.mlx); - - mlx_destroy_window(win.mlx, win.win); - mlx_destroy_display(win.mlx); + win = ft_calloc(sizeof(t_window), 1); + win->mlx = mlx_init(); + win->win = mlx_new_window(win->mlx, 1600, 900, "so_fluffy"); + mlx_on_event(win->mlx, win->win, MLX_KEYDOWN, key_close, win->mlx); + mlx_on_event(win->mlx, win->win, MLX_WINDOW_EVENT, win_close, win->mlx); + mlx_on_event(win->mlx, win->win, MLX_KEYDOWN, ft_move_character, win->mlx); + mlx_loop_hook(win->mlx, win_update, win); + mlx_loop(win->mlx); + mlx_destroy_window(win->mlx, win->win); + mlx_destroy_display(win->mlx); return (0); } diff --git a/so_long.h b/so_long.h index 4f46800..b43a93c 100644 --- a/so_long.h +++ b/so_long.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/06 16:19:42 by adjoly #+# #+# */ -/* Updated: 2024/01/06 17:07:29 by adjoly ### ########.fr */ +/* Updated: 2024/01/07 19:24:27 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,13 +14,15 @@ # define SO_LONG_H # include "MacroLibX/includes/mlx.h" +# include "libft/libft.h" typedef struct s_window { void *mlx; void *win; - void *img_win; } t_window; +int ft_move_character(int key, void *param); +int key_close(int key, void *param); #endif \ No newline at end of file