cub3d/src/draw/map.c

62 lines
1.9 KiB
C
Raw Normal View History

2025-07-15 10:33:25 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* map.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tchampio <tchampio@student.42lehavre. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/07/15 10:28:39 by tchampio #+# #+# */
/* Updated: 2025/07/15 10:29:06 by tchampio ### ########.fr */
/* */
/* ************************************************************************** */
#include "../../includes/cub3d.h"
void draw_2d_wall(unsigned int color, t_mlx_data *data,
int x, int y)
{
int i;
int j;
static int size = 10;
i = 0;
while (i < size)
{
j = 0;
while (j < size)
{
my_mlx_pixel_put(data, x + i, y + j, color);
j++;
}
i++;
}
}
void draw_map(t_mapdata *map, t_player *player, t_mlx_data *data)
{
int i;
int j;
i = 0;
while (map->map[i])
{
j = 0;
while (map->map[i][j])
{
if (map->map[i][j] == '1')
draw_2d_wall(map->f_color, data, 10 * j, 10 * i);
else if (map->map[i][j] == 'Z' || map->map[i][j] == 'z')
draw_2d_wall(0x0008D9D6, data, 10 * j, 10 * i);
else if (map->map[i][j] == 'D' || map->map[i][j] == 'd')
draw_2d_wall(0x00FF2E63, data, 10 * j, 10 * i);
else if (map->map[i][j] == 's')
draw_2d_wall(0x00E84545, data, 10 * j, 10 * i);
else if (map->map[i][j] == 'M')
draw_2d_wall(0x00F4CE14, data, 10 * j, 10 * i);
j++;
}
i++;
}
draw_2d_wall(0x00FF0000, data, 10 * player->x, 10 * player->y);
}