cub3d/src/game/player.c
2025-06-11 20:26:19 +02:00

45 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* player.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */
/* Updated: 2025/06/11 19:27:27 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "cub3d.h"
int player_create(t_game **game)
{
t_player *player;
player = malloc(sizeof(t_player));
if (!player)
return (FAILURE);
ft_memset(player, 0, sizeof(t_player));
player->pos.x = -1;
player->pos.y = -1;
player->speed = 3.f;
player->battery = INITIAL_BATTERY;
player->battery_charger = 5.f;
player->hit_timer = 0.f;
(*game)->player = player;
return (SUCCESS);
}
void interact_door(t_game *game)
{
t_vec2_int pos;
pos = vec2_to_int(add(game->player->pos, game->player->dir));
if (game->map->grid[pos.y][pos.x] == TILE_DOOR)
{
game->audio->play_queue[SND_DOOR] = 1;
game->map->grid[pos.y][pos.x] = TILE_EMPTY;
game->scoreboard->tiles_visited++;
}
}