diff --git a/Makefile b/Makefile index 3d6637b..75df256 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: adjoly +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/01 11:03:22 by adjoly #+# #+# # -# Updated: 2024/01/09 15:54:39 by adjoly ### ########.fr # +# Updated: 2024/01/10 15:08:43 by adjoly ### ########.fr # # # # **************************************************************************** # @@ -16,6 +16,7 @@ CC = cc SRCS = main.c \ get_map.c \ + ft_move_character.c \ print_map.c OBJS = $(SRCS:.c=.o) diff --git a/ft_move_character.c b/ft_move_character.c index 3cc42cc..0688330 100644 --- a/ft_move_character.c +++ b/ft_move_character.c @@ -6,30 +6,42 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/07 19:13:01 by adjoly #+# #+# */ -/* Updated: 2024/01/08 13:24:49 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 15:10:58 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "so_long.h" -int ft_move_up(void *param) +void ft_move_up(void *param) { - + t_window *win; + + win = (t_window *)param; + ft_putimg(*win->player_x, *win->player_y - 1, win, "assets/player.png"); } -int ft_move_down(void *param) +void ft_move_down(void *param) { - + t_window *win; + + win = (t_window *)param; + ft_putimg(*win->player_x, *win->player_y + 1, win, "assets/player.png"); } -int ft_move_left(void *param) +void ft_move_left(void *param) { - + t_window *win; + + win = (t_window *)param; + ft_putimg(*win->player_x - 1, *win->player_y, win, "assets/player.png"); } -int ft_move_right(void *param) +void ft_move_right(void *param) { - + t_window *win; + + win = (t_window *)param; + ft_putimg(*win->player_x + 1, *win->player_y, win, "assets/player.png"); } int ft_move_character(int key, void *param) diff --git a/ft_move_character.o b/ft_move_character.o new file mode 100644 index 0000000..e1fa113 Binary files /dev/null and b/ft_move_character.o differ diff --git a/get_next_line/Makefile b/get_next_line/Makefile index b6d6d89..267ea62 100644 --- a/get_next_line/Makefile +++ b/get_next_line/Makefile @@ -6,7 +6,7 @@ # By: adjoly +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/01 11:03:22 by adjoly #+# #+# # -# Updated: 2024/01/08 14:31:46 by adjoly ### ########.fr # +# Updated: 2024/01/10 14:58:45 by adjoly ### ########.fr # # # # **************************************************************************** # diff --git a/get_next_line/get_next_line.a b/get_next_line/get_next_line.a new file mode 100644 index 0000000..cd22091 Binary files /dev/null and b/get_next_line/get_next_line.a differ diff --git a/get_next_line/get_next_line.h b/get_next_line/get_next_line.h index 4b29599..c3220c2 100644 --- a/get_next_line/get_next_line.h +++ b/get_next_line/get_next_line.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */ -/* Updated: 2024/01/08 21:47:06 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 15:03:00 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ char *get_next_line(int fd); char *ft_strjoin_gnl(char *s1, char *s2); -size_t ft_strlen_gnl(char *s); +size_t ft_strl_g(char *s); void *ft_calloc_gnl(size_t nmemb, size_t size); #endif \ No newline at end of file diff --git a/get_next_line/get_next_line.o b/get_next_line/get_next_line.o new file mode 100644 index 0000000..f93ff55 Binary files /dev/null and b/get_next_line/get_next_line.o differ diff --git a/get_next_line/get_next_line_utils.c b/get_next_line/get_next_line_utils.c index fbc774e..8092e51 100644 --- a/get_next_line/get_next_line_utils.c +++ b/get_next_line/get_next_line_utils.c @@ -6,13 +6,13 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */ -/* Updated: 2024/01/08 21:48:30 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 15:03:07 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "get_next_line.h" -size_t ft_strlen_gnl(char *s) +size_t ft_strl_g(char *s) { size_t i; @@ -32,7 +32,7 @@ char *ft_strjoin_gnl(char *s1, char *s2) j = 0; if (!s2) return (NULL); - result = ft_calloc_gnl((ft_strlen_gnl(s1) + ft_strlen_gnl(s2) + 1), sizeof(char)); + result = ft_calloc_gnl((ft_strl_g(s1) + ft_strl_g(s2) + 1), sizeof(char)); if (result == NULL) return (NULL); while (s1[i]) diff --git a/get_next_line/get_next_line_utils.o b/get_next_line/get_next_line_utils.o new file mode 100644 index 0000000..c8c7179 Binary files /dev/null and b/get_next_line/get_next_line_utils.o differ diff --git a/main.c b/main.c index 1d5ca65..d9f1264 100644 --- a/main.c +++ b/main.c @@ -6,12 +6,11 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/06 16:18:56 by adjoly #+# #+# */ -/* Updated: 2024/01/09 16:13:17 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 15:08:11 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "MacroLibX/includes/mlx.h" -#include "libft/libft.h" #include "so_long.h" int key_close(int key, void *param) @@ -35,6 +34,7 @@ int win_close(int event, void *param) int x; win = (t_window *)param; + ft_move_character(key, void *param) return (0); }*/ @@ -51,7 +51,7 @@ int main(int ac, char **av) 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_on_event(win->mlx, win->win, MLX_KEYDOWN, ft_move_character, win); // mlx_loop_hook(win->mlx, win_update, win); ft_printmap(map, win); mlx_loop(win->mlx); diff --git a/main.o b/main.o index 97b3f65..bf37fa1 100644 Binary files a/main.o and b/main.o differ diff --git a/print_map.c b/print_map.c index 083864c..612eb4b 100644 --- a/print_map.c +++ b/print_map.c @@ -6,13 +6,14 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/09 15:30:06 by adjoly #+# #+# */ -/* Updated: 2024/01/10 10:40:19 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 14:57:51 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "MacroLibX/includes/mlx.h" #include "libft/libft.h" #include "so_long.h" +#include void ft_putimg(int x, int y, t_window *win, char *file_path) { @@ -21,20 +22,25 @@ void ft_putimg(int x, int y, t_window *win, char *file_path) img_x = 0; img_y = 0; + if (file_path[7] == 'p') + { + win->player_y = ft_calloc(sizeof(int), 1); + win->player_y = &y; + win->player_x = ft_calloc(sizeof(int), 1); + win->player_x = &x; + } ft_putstr_fd(file_path, 1); ft_putchar_fd('\n', 1); win->img = mlx_png_file_to_image(win->mlx, file_path, &img_x, &img_y); mlx_put_image_to_window(win->mlx, win->win, win->img, x * img_x, y * img_y); } -int ft_printmap(char **map, void *param) +void ft_printmap(char **map, t_window *win) { size_t x; size_t y; - t_window *win; y = 0; - win = (t_window *)param; while (map[y]) { x = 0; @@ -48,11 +54,10 @@ int ft_printmap(char **map, void *param) ft_putimg(x, y, win, "assets/obj.png"); else if (map[y][x] == 'E') ft_putimg(x, y, win, "assets/exit.png"); - else if (map[y][x] == 'P') + else if (map[y][x] == 'P') ft_putimg(x, y, win, "assets/player.png"); x++; } y++; } - return (0); } diff --git a/print_map.o b/print_map.o index 5586358..2061b43 100644 Binary files a/print_map.o and b/print_map.o differ diff --git a/so_long b/so_long index 93b7454..9d14b38 100755 Binary files a/so_long and b/so_long differ diff --git a/so_long.h b/so_long.h index 72f9bf9..dfe9bc6 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/09 16:17:27 by adjoly ### ########.fr */ +/* Updated: 2024/01/10 14:50:43 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,6 +16,7 @@ # include "MacroLibX/includes/mlx.h" # include "libft/libft.h" # include "get_next_line/get_next_line.h" +# include # include # include # include @@ -27,7 +28,9 @@ typedef struct s_window void *mlx; void *win; void *img; -} t_window; + int *player_x; + int *player_y; +} t_window; int ft_move_character(int key, void *param); int key_close(int key, void *param); @@ -35,6 +38,7 @@ int key_close(int key, void *param); int ft_countline_fd(int fd); char **ft_read_map(char *file_name); -int ft_printmap(char **map, void *param); +void ft_printmap(char **map, t_window *win); +void ft_putimg(int x, int y, t_window *win, char *file_path); #endif \ No newline at end of file