refactor to sprite type

This commit is contained in:
Quinten Mennen 2025-05-28 17:15:22 +02:00
parent e3ae7b1092
commit 20b0c461b0
6 changed files with 18 additions and 20 deletions

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
/* Updated: 2025/05/28 17:04:35 by qmennen ### ########.fr */
/* Updated: 2025/05/28 17:14:28 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -73,8 +73,6 @@ typedef struct s_sprite
double dist;
double cam_frac;
int alpha;
int visible;
int collectible;
mlx_texture_t *texture;
t_sprite_type type;
t_vec2 pos;

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* collision.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* ::: :::::::: */
/* collision.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/22 14:40:59 by qmennen #+# #+# */
/* Updated: 2025/05/23 17:29:23 by whaffman ######## odam.nl */
/* Updated: 2025/05/28 17:13:24 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -28,12 +28,13 @@ int collision_sprite(t_map *map, t_player *player, double xa, double ya)
i = 0;
while (i < map->n_sprites)
{
if (sprites[i].visible && sprites[i].collectible)
if (sprites[i].type == SPRITE_TYPE_COLLECTIBLE)
{
if (fabs(player->pos.x + xa - sprites[i].pos.x) < 0.5
&& fabs(player->pos.y + ya - sprites[i].pos.y) < 0.5)
{
sprites[i].visible = 0;
sprites[i].type = SPRITE_TYPE_COLLECTED;
collect(player);
return (1);
}

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */
/* Updated: 2025/05/28 17:04:39 by qmennen ### ########.fr */
/* Updated: 2025/05/28 17:13:29 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */
/* Updated: 2025/05/28 16:45:20 by qmennen ### ########.fr */
/* Updated: 2025/05/28 17:13:59 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -100,7 +100,7 @@ void render_sprites(t_render *render, t_game *game)
i = 0;
while (i < game->map->n_sprites)
{
if (!game->map->sprites[i].visible)
if (game->map->sprites[i].type == SPRITE_TYPE_COLLECTED)
{
i++;
continue ;

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */
/* Updated: 2025/05/28 17:07:26 by qmennen ### ########.fr */
/* Updated: 2025/05/28 17:15:03 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -32,8 +32,7 @@ t_sprite make_sprite(t_sprite_lib *def, double x, double y)
sprite.animation_speed = 10;
sprite.pos.x = x;
sprite.pos.y = y;
sprite.visible = 1;
sprite.collectible = def->type == SPRITE_TYPE_COLLECTIBLE;
sprite.type = def->type;
return (sprite);
}

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/25 20:54:23 by whaffman #+# #+# */
/* Updated: 2025/05/28 15:03:53 by qmennen ### ########.fr */
/* Updated: 2025/05/28 17:14:53 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -43,7 +43,7 @@ int count_collected(t_game *game)
collected = 0;
while (i < game->map->n_sprites)
{
if (game->map->sprites[i].collectible && !game->map->sprites[i].visible)
if (game->map->sprites[i].type == SPRITE_TYPE_COLLECTED)
collected++;
i++;
}