/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* player.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/12/29 18:06:32 by erey-bet #+# #+# */ /* Updated: 2023/01/09 13:42:08 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "../so_long_bonus.h" int get_new_element(t_data *data, int x, int y) { return (data->map[data->y_ply + y][data->x_ply + x]); } void set_new_element(t_data *data, int x, int y) { data->map[data->y_ply + y][data->x_ply + x] = '0'; if (!has_element(data->map, 'C')) data->map[data->y_ply + y][data->x_ply + x] = '3'; } void *set_position_player(t_data *data, t_xy *xy) { data->x_ply = xy->x; data->y_ply = xy->y; free(xy); return (data); } void move(t_data *data, int x, int y) { if (get_new_element(data, x, y) == '1') return ; if (get_new_element(data, x, y) == 'C') set_new_element(data, x, y); if (get_new_element(data, x, y) == 'E') if (end(data)) return ; if (get_new_element(data, x, y) == 'e') finish(data); data->x_ply += x; data->y_ply += y; ft_putnbr_fd(++data->move, 1); ft_putchar_fd('\r', 1); }