@Override
    public boolean arePointsNear(int x1, int y1, int x2, int y2) {
        int dx = Math.abs(x1 - x2);
        int dy = Math.abs(y1 - y2);
        if (dx * dy == 0 && (dx == 1 || dy == 1)) { return true; }
        if (dx  > 1 || dy > 1) { 
            return false; 
        }
        
        //Top-Left & Bottom-Right are also near
        return (x1 - x2) * (y1 - y2) < 0;
    }