collisions happen properly now
This commit is contained in:
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user