diff --git a/so_long.c b/so_long.c index b525877..067dc1f 100644 --- a/so_long.c +++ b/so_long.c @@ -130,29 +130,32 @@ void draw(t_data *data) int y; int range; - range = 4; + range = 3; x = data->x_player - range; while (x < data->x_player + range) { - while (x < 0) + while (x < -1) x++; y = data->y_player - range; while (y < data->y_player + range) { - while (y < 0) + while (y < -1) y++; if (x == data->x_player && y == data->y_player) { data->mlx_img = mlx_xpm_file_to_image(data->mlx, "assets/player.xpm", &data->size, &data->size); mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, data->w_screen / 2, data->h_screen / 2); } - else if (x >= 0 && y >= 0 && y < data->h_map && data->map[y] != NULL) + else if (y < 0 || x < 0 || y >= data->h_map || data->map[y][x] == '\n' || data->map[y][x] == '\0') + { + data->mlx_img = mlx_xpm_file_to_image(data->mlx, "assets/background.xpm", &data->size, &data->size); + mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size)); + } + else { - if (data->map[y][x] == '\n' || data->map[y][x] == '\0') - break; data->mlx_img = mlx_xpm_file_to_image(data->mlx, assets(data->map[y][x]), &data->size, &data->size); - if (!data->mlx_img) - data->mlx_img = mlx_xpm_file_to_image(data->mlx, assets('0'), &data->size, &data->size); + //if (!data->mlx_img) + //data->mlx_img = mlx_xpm_file_to_image(data->mlx, assets('0'), &data->size, &data->size); mlx_put_image_to_window(data->mlx, data->mlx_win, data->mlx_img, (data->w_screen / 2) + ((x - data->x_player) * data->size), (data->h_screen / 2) + ((y - data->y_player) * data->size)); } y++;