int is_intersect(t_point *p, t_main *main) { int xg; int yg; xg = p->x / TILE_SIZE; yg = p->y / TILE_SIZE; if (in_bound(xg - 1, yg - 1, &main->map) && main->array[xg - 1][yg - 1] > 0) return (-1); if (in_bound(xg, yg - 1, &main->map) && main->array[xg][yg - 1] > 0) return (-1); if (in_bound(xg + 1, yg - 1, &main->map) && main->array[xg + 1][yg - 1] > 0) return (-1); if (in_bound(xg + 1, yg, &main->map) && main->array[xg + 1][yg] > 0) return (-1); if (in_bound(xg + 1, yg + 1, &main->map) && main->array[xg + 1][yg + 1] > 0) return (-1); if (in_bound(xg, yg + 1, &main->map) && main->array[xg][yg + 1] > 0) return (-1); if (in_bound(xg - 1, yg + 1, &main->map) && main->array[xg - 1][yg + 1] > 0) return (-1); if (in_bound(xg - 1, yg, &main->map) && main->array[xg - 1][yg] > 0) return (-1); return (0); }
bool in_bounds(v2<U> val, v2<U> pos, v2<U> end) { return in_bound(val[0], pos[0], end[0]) and in_bound(val[1], pos[1], end[1]); }