Java - 检查是否有4个点(形成一个矩形)"碰撞"另外还有4分

时间:2016-01-11 08:34:21

标签: java math

我正在创建一个Roguelike地下城生成器,其中一部分涉及检查一个房间(由x1,y1,x2,y2表示)和#34;是否发生碰撞"和另一个房间。如果是这种情况,房间将重新生成。我已经尝试了谷歌搜索,但我还没有发现任何有用的东西。这是基于我在网上发现的一些代码,但它似乎总是回归真实。

public static boolean isInside(int minX1, int minY1, int maxX1, int maxY1, int minX2, int minY2, int maxX2, int maxY2) {
    if(Math.abs(minX1 - minX2) < (minX1 + maxX1) + (minX2 + maxX2)) {
        if(Math.abs(minY1 - minY2) < (minY1 + maxY1) + (minY2 + maxY2)) {
            return true;
        }
    }
    return false;
}

感谢您阅读!

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

我检查矩形的顶点是否在另一个矩形的内部。

if ((minX1 <= minX2 <= maxX1 || minX1 <= maxX2 <= maxX1 ) && (minY1 <= minY2 <= maxY1 || minY1 <= maxY2 <= maxY1))
return true;
相关问题