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))
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/08 14:14:02 by dkaiser #+# #+# */
-/* Updated: 2024/05/09 17:38:18 by dkaiser ### ########.fr */
+/* Updated: 2024/05/09 17:59:42 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
int init(t_game *game);
int loop(t_game *game);
+int draw(t_game *game);
int on_key_down(int key, t_game *game);
int on_key_up(int keycode, t_game *game);
--- /dev/null
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* draw.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/05/09 17:58:23 by dkaiser #+# #+# */
+/* Updated: 2024/05/09 18:05:58 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "mlx.h"
+#include "so_long.h"
+
+int draw(t_game *game)
+{
+ 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, ">");
+ 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);
+}
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/09 15:09:24 by dkaiser #+# #+# */
-/* Updated: 2024/05/09 17:48:13 by dkaiser ### ########.fr */
+/* Updated: 2024/05/09 18:03:03 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
int loop(t_game *game)
{
mlx_clear_window(game->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);
}