refactor to sprite type
This commit is contained in:
parent
e3ae7b1092
commit
20b0c461b0
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */
|
/* 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 dist;
|
||||||
double cam_frac;
|
double cam_frac;
|
||||||
int alpha;
|
int alpha;
|
||||||
int visible;
|
|
||||||
int collectible;
|
|
||||||
mlx_texture_t *texture;
|
mlx_texture_t *texture;
|
||||||
t_sprite_type type;
|
t_sprite_type type;
|
||||||
t_vec2 pos;
|
t_vec2 pos;
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* */
|
/* */
|
||||||
/* :::::::: */
|
/* ::: :::::::: */
|
||||||
/* collision.c :+: :+: */
|
/* collision.c :+: :+: :+: */
|
||||||
/* +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/22 14:40:59 by qmennen #+# #+# */
|
/* 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;
|
i = 0;
|
||||||
while (i < map->n_sprites)
|
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
|
if (fabs(player->pos.x + xa - sprites[i].pos.x) < 0.5
|
||||||
&& fabs(player->pos.y + ya - sprites[i].pos.y) < 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);
|
collect(player);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */
|
/* 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 */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */
|
/* 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;
|
i = 0;
|
||||||
while (i < game->map->n_sprites)
|
while (i < game->map->n_sprites)
|
||||||
{
|
{
|
||||||
if (!game->map->sprites[i].visible)
|
if (game->map->sprites[i].type == SPRITE_TYPE_COLLECTED)
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
continue ;
|
continue ;
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */
|
/* 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.animation_speed = 10;
|
||||||
sprite.pos.x = x;
|
sprite.pos.x = x;
|
||||||
sprite.pos.y = y;
|
sprite.pos.y = y;
|
||||||
sprite.visible = 1;
|
sprite.type = def->type;
|
||||||
sprite.collectible = def->type == SPRITE_TYPE_COLLECTIBLE;
|
|
||||||
return (sprite);
|
return (sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/05/25 20:54:23 by whaffman #+# #+# */
|
/* 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;
|
collected = 0;
|
||||||
while (i < game->map->n_sprites)
|
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++;
|
collected++;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user