Assuming the collision detection runs for all objects on the map (because it does; neither programmer has much of an idea how to optimize that).
Which of these solutions is more effective? Is there a better way to do it?
Code:
bool check_collision(int x1, int y1, int x2, int y2, int r1, int r2) {
float d_x=x1-x2, d_y=y1-y2;
if (sqrt(d_x*d_x+d_y*d_y)<r1+r2) return true;
else return false; }
Code:
bool check_collision(int x1, int y1, int x2, int y2, int r1, int r2){
int d_x=abs(x1-x2), r_t=r1+r2;
if (d_x<r_t) { int d_y=abs(y1-y2);
if (d_y<r_t) { if (d_x*d_x+d_y*d_y<r_t*r_t) return true;
else return false; }
else return false; }