Java-检查是否有4个点(形成一个矩形)";“碰撞”;再加4分

Java-检查是否有4个点(形成一个矩形)";“碰撞”;再加4分,java,math,Java,Math,我正在创建一个类似盗贼的地下城生成器,其中一部分涉及检查一个房间(由x1、y1、x2、y2表示)是否与另一个房间“碰撞”。如果是这种情况,将重新生成房间。我试过用谷歌搜索一下,但还没有找到任何有效的方法。下面是一些基于我在网上发现的代码,但它似乎总是返回真的 public static boolean isInside(int minX1, int minY1, int maxX1, int maxY1, int minX2, int minY2, int maxX2, int maxY2) {

我正在创建一个类似盗贼的地下城生成器,其中一部分涉及检查一个房间(由x1、y1、x2、y2表示)是否与另一个房间“碰撞”。如果是这种情况,将重新生成房间。我试过用谷歌搜索一下,但还没有找到任何有效的方法。下面是一些基于我在网上发现的代码,但它似乎总是返回真的

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;
}
publicstaticbooleaninside(int-minX1,int-minY1,int-max1,int-max1,int-minX2,int-minY2,int-max2,int-maxY2){
if(Math.abs(minX1-minX2)<(minX1+max1)+(minX2+max2)){
if(数学abs(minY1-minY2)<(minY1+maxY1)+(minY2+maxY2)){
返回true;
}
}
返回false;
}

谢谢你的阅读

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

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

if((minX1您可以在
矩形
类中使用
intersects()
方法:


房间在xy网格上是方形的吗?@TungstenX房间是矩形的,我的意思是,房间的墙壁是沿着xy网格的,例如[]还是可以是对角线\\?@TungstenX啊,所有房间都沿着x,y网格。没有对角线:)可能是