2012-12-09 3 views
-1

그래프가있는 작은 게임을하고 있습니다. 아이디어는 대상 위치 (상한선과 하한선으로 지정)가 충족되지 않았을 때 액션을 수행한다는 것입니다 (0.5 이내). 예를 들어, I target (7,7)을 지정하면 x와 y가 (이 경우 두 경우 모두) 6.5에서 7.5 사이 일 때 루프가 중지되어야합니다.양수 및 음수가있는 RangeCheck

그러나, 무언가를 갖는 다음과 같은 조건이 문제 나 제시하고 음수되게 때

while ((X < tarX-0.5 || X > tarX+0.5) && (Y < tarY-0.5 || Y > tarY+0.5)) 

예 : I 대상이 있으면 (-7, -3)을 루프 x 또는 y 값 중 하나가 범위 내에 있으면 중지됩니다.

기본적으로 x 또는 y가 양수인지 여부에 따라 네 가지 루프가 있다고 생각했습니다. 그러나 쉬운 방법이 있는지 궁금합니다. (나는, -3) 여전히 다음) 3,3 (에서 막을 수 일 만 향하는 것이 (-3 음수를 방해하는 Math.abs()를 사용하려고했다)

+0

후기 X 동등 편집 실제로 다른 변수였다 Y이다. – mino

답변

0

루프는 중지해야 x와 y가 (이 경우 두 경우 모두) 6.5와 7.5 사이 일 때. De Morgan's Law 적용

while (!(x >= 6.5 && x <= 7.5 && y >= 6.5 && y <= 7.5)) { 
    ... 
} 

은 위가

while (x < 6.5 || x > 7.5 || y < 6.5 || y > 7.5) { 
    ... 
} 
+0

x 및 y 값이 음수 일 때 항상이 작업을 수행 할 것입니까? (대상 x 및 y 사용)? – mino

+0

@mino : 물론 그렇습니다. 왜 그럴까? – NPE

+0

x 또는 y가 가까울 때 중지됩니다. 둘 다 필요해. – mino

관련 문제