collisions happen properly now

This commit is contained in:
Priec
2025-11-18 01:02:13 +01:00
parent 967b377e76
commit dd410c6f6c
6 changed files with 74 additions and 54 deletions

View File

@@ -71,27 +71,8 @@ private:
int spawn_index_;
static void draw_clipped_obstacle(const MovingObstacle &obs,
const char **frame,
int frame_height) {
int x = obs.data.x;
int y = obs.data.y;
int w = obs.data.width;
for (int r = 0; r < frame_height; ++r) {
int left = x;
int right = x + w;
if (right <= 0 || left >= VIEW_WIDTH)
continue;
int vis_left = clamp_min(left, 0);
int vis_right = clamp_max(right, VIEW_WIDTH);
int start = vis_left - left;
int count = vis_right - vis_left;
if (count <= 0)
continue;
const char *row = frame[r] + start;
printf("\033[%d;%dH%.*s", y + r + 1, vis_left + 1, count, row);
}
const char ** /*frame*/,
int /*frame_height*/) {
draw_obstacle(obs.data.x, obs.data.y, obs.type);
}
};