>>427
二つの矩形を与えて当たってるかどうか返す関数でいいよ

unsigned int HitCheck(RECTANGLE &a, RECTANGLE &b) {
 int left = a->x - (b->x + b->w);
 int right = b->x - (a->x + a->w);
 int up = a->y - (b->y + b->h);
 int down = b->y - (b->y + b->h);

 return ((unsigned int)(left & right & up & down) >> 31);
}

円はしらね