2016-09-14 2 views
-1

제목이 다소 혼란 스럽지만 내 문제를 설명하고 싶습니다.그룹으로 분할 된 전체 영역

위치가 (3943, 2456)이고 다른 위치 (4954, 3245)가 있습니다.

플레이어가 영역 내에 있는지 감지하는 방법이 있습니다. 진정한 경우, 그것은 만들 것 모양이, 북쪽 동쪽,

public boolean Area(final int x1, final int x2, final int y1, final int y2) { 
    return (absX >= x1 && absX <= x2 && absY >= y1 && absY <= y2); 
} 

내가 뭘 원하는 것은 광장의 영역을 얻을 수있다, 그 Y2 X2 것, 사우스 웨스트는 X1 및 Y2 것 사각형이다 방법은 내가 말할 수있는 영역을 10으로 나누는 수 있습니다. 즉, 정의 된 영역 내에서 10 개의 영역을 가질 수 있습니다. 내가 어떻게 가서 그 일을 할 수 있니?

+0

이 질문은 의미있는 대답을 얻기에는 너무 광범위합니다. 질문을 향상 시키려면 이전에 시도한 내용과 예상했던대로 작동하지 않는 이유를 알려주십시오. http://stackoverflow.com/help/on-topic –

답변

0

이 질문을 올바르게 이해하고 있으면 2 점 (x1, y1)과 (x2, y2) (검은 색으로 표시)가 있습니다. Example 그리고 노란색 선과 같은 사각형을 만들려고합니다.

만약 그렇다면 x1 & x2 사이의 거리가 사각형의 한면이되고 y1 & y2 사이의 거리가 다른 것입니다. 따라서 (3943, 2456) & (4954, 3245)의 경우 x 거리는 4954 - 3943이고 y 거리는 3245 - 2456이됩니다. 1011 x 거리와 789 y 거리를 줄 것입니다. 이것이 직사각형의 두면입니다. 당신은 함께 시간을 재어 지역을 얻습니다.

그리드를 만들기 위해 x 거리를 열 수로 나누면 하나의 그리드 섹션의 x 거리가 나올 것이고 y 거리는 원하는 거리의 수로 나눌 것입니다 y 그리드 섹션 하나의 거리. 바라기를 당신이 묻고있는 것이 었습니다.

관련 문제