From e2c309d1bec9fb18e39d453a1dfdccfa877f5633 Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Thu, 9 May 2024 18:21:30 +0200 Subject: [PATCH] Outsource drawing --- Makefile | 2 +- include/so_long.h | 3 ++- src/draw.c | 33 +++++++++++++++++++++++++++++++++ src/loop.c | 20 +++++++------------- 4 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 src/draw.c diff --git a/Makefile b/Makefile index 6315601..f220f29 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ LIBS = -Llibft -lft -lm -Lmlx -lmlx FRMWRKS = -framework OpenGL -framework AppKit VPATH := src -SRC = main.c init.c loop.c input.c +SRC = main.c init.c loop.c input.c draw.c OBJ_DIR := obj OBJ := $(addprefix $(OBJ_DIR)/, $(SRC:%.c=%.o)) diff --git a/include/so_long.h b/include/so_long.h index 11d9084..1661dbe 100644 --- a/include/so_long.h +++ b/include/so_long.h @@ -6,7 +6,7 @@ /* By: dkaiser input_direction & UP) + mlx_string_put(game->mlx, game->window, 150, 100, 0x00FFFFFF, "^"); + if (game->input_direction & DOWN) + mlx_string_put(game->mlx, game->window, 150, 200, 0x00FFFFFF, "v"); + if (game->input_direction & LEFT) + mlx_string_put(game->mlx, game->window, 100, 150, 0x00FFFFFF, "<"); + if (game->input_direction & RIGHT) + mlx_string_put(game->mlx, game->window, 200, 150, 0x00FFFFFF, ">"); + mlx_string_put(game->mlx, game->window, 500, 500, 0x00FFFFFF, + ft_itoa(game->player.direction.x)); + mlx_string_put(game->mlx, game->window, 550, 500, 0x00FFFFFF, + ft_itoa(game->player.direction.y)); + + mlx_pixel_put(game->mlx, game->window, game->player.position.x, game->player.position.y, 0x00FFFF00); + return (0); +} diff --git a/src/loop.c b/src/loop.c index a55360b..89eabba 100644 --- a/src/loop.c +++ b/src/loop.c @@ -6,7 +6,7 @@ /* By: dkaiser mlx, game->window); - if (game->input_direction & UP) - mlx_string_put(game->mlx, game->window, 150, 100, 0x00FFFFFF, "^"); - if (game->input_direction & DOWN) - mlx_string_put(game->mlx, game->window, 150, 200, 0x00FFFFFF, "v"); - if (game->input_direction & LEFT) - mlx_string_put(game->mlx, game->window, 100, 150, 0x00FFFFFF, "<"); - if (game->input_direction & RIGHT) - mlx_string_put(game->mlx, game->window, 200, 150, 0x00FFFFFF, ">"); + game->player.direction.x = ((game->input_direction & RIGHT) != 0) - ((game->input_direction & LEFT) != 0); game->player.direction.y = ((game->input_direction & DOWN) != 0) - ((game->input_direction & UP) != 0); - mlx_string_put(game->mlx, game->window, 500, 500, 0x00FFFFFF, - ft_itoa(game->player.direction.x)); - mlx_string_put(game->mlx, game->window, 550, 500, 0x00FFFFFF, - ft_itoa(game->player.direction.y)); + + game->player.position.x += game->player.direction.x; + game->player.position.y += game->player.direction.y; + + draw(game); return (0); } -- 2.47.2