我试图创建一个C ++函数来控制N个矩形是否正在冲突。 N个矩形位于std :: vector中。我们的想法是将矢量的每个元素与其他元素(仅一次)进行比较,以验证是否存在碰撞。 我已经实现了代码来实现这一点,但我正在寻找一种更好,更清洁,更优雅的方式(我是一个C ++新手)。 我的代码是:
bool areCollisioningNRectangles(std::vector<Rectangle> rect) {
const unsigned long size = rect.size();
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (areCollisioningTwoRectangles(rect[i], rect[j])) {
return true;
}
}
}
return false;
}