From e2c309d1bec9fb18e39d453a1dfdccfa877f5633 Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Thu, 9 May 2024 18:21:30 +0200 Subject: Outsource drawing --- src/draw.c | 33 +++++++++++++++++++++++++++++++++ src/loop.c | 20 +++++++------------- 2 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 src/draw.c (limited to 'src') diff --git a/src/draw.c b/src/draw.c new file mode 100644 index 0000000..759f03f --- /dev/null +++ b/src/draw.c @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* draw.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* 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); } -- cgit v1.2.3