2013-04-15 3 views
0

임에 대해서는 확실히 확신 할 수 없지만 최선을 다할 것입니다.배열을 사용하여 봇을 생성 할 수 있습니다.

나는 이미지를 나열하는 몇 가지 관련 클래스를 가지고 있으며, 무엇을해야할 지 알려주는 봇의 또 다른 클래스와 화면에 그림을 그리기위한 또 다른 클래스가 있습니다. 내가 문제를 겪고있는 것은 로봇이 스스로를 복제 한 다음, 공간을 누를 때 원본과 동일한 코드를 사용하는 것이다.

Java는 여전히 나에게 매우 새로운 것입니다.

나는 국가 이미지에이를 사용하고 있습니다 :

Bot = new ImageIcon(getClass().getResource("/res/botDown.gif")).getImage(); 

코드는 물건을 할 수있는 로봇을 조작하는 것은 문 주위 botxboty을 변경하는 경우 단지 무리입니다. 공간을 눌렀을 때 더 많은 봇을 할당하기 위해 배열을 사용하여 이동하는 방법을 추측하고 있습니다. 그렇지 않으면, 내가하는 코드는 더 많은 봇 자신이 모든 IF를 복사하여 붙여 넣은 다음 값을 1 씩 증가시키고 그에 따라 각 봇을 할당하도록 공간을 설정합니다. 설명하는 데 도움이되기를 바랍니다.

감사의 말 감사합니다. 피하려고 노력하면서

for(Bot bot : botArray) { 
    for(Bot bot2 : botArray) { 
     if(!bot.equals(bot2) { 
      // Push bot around (not bot2 since it will be handled in another iteration) 
     } 
    } 
} 

그러나 조건에 따라, 봇 두 번째 로봇과 충돌 할 수 :

if (Botx < Botx2 + 50 && Botx > Botx2 && Boty > Boty2 - 50 
     && Boty < Boty2 + 50) { 
    Botx = Botx + 2; 
} 
if (Botx > Botx2 - 50 && Botx < Botx2 && Boty < Boty2 + 50 
     && Boty > Boty2 - 50) { 
    Botx = Botx - 2; 
} 
if (Boty > Boty2 && Boty < Boty2 + 50 && Botx < Botx2 + 50 
     && Botx > Botx2 - 50) { 
    Boty = Boty + 2; 
} 
if (Boty < Boty2 && Boty > Boty2 - 50 && Botx < Botx2 + 50 
     && Botx > Botx2 - 50) { 
    Boty = Boty - 2; 
} 
//Anti Collision push BOT2 
if (Botx2 < Botx + 50 && Botx2 > Botx && Boty2 > Boty - 50 
     && Boty2 < Boty + 50) { 
    Botx2 = Botx2 + 2; 
} 
if (Botx2 > Botx - 50 && Botx2 < Botx && Boty2 < Boty + 50 
     && Boty2 > Boty - 50) { 
    Botx2 = Botx2 - 2; 
} 
if (Boty2 > Boty && Boty2 < Boty + 50 && Botx2 < Botx + 50 
     && Botx2 > Botx - 50) { 
    Boty2 = Boty2 + 2; 
} 
if (Boty2 < Boty && Boty2 > Boty - 50 && Botx2 < Botx + 50 
     && Botx2 > Botx - 50) { 
    Boty2 = Boty2 - 2; 
} 
+0

를 사용하여 개선 될 수 있다고 생각? – WilQu

+0

흠. 그들은 로봇이 서로 너무 가까워지면 로봇이 멀리 떨어지라고 말하고 있습니다. 나는 새로운 봇을 수동으로 할당하기 위해 Bot1과 Bot2를 사용하고 있습니다. –

+0

더 나은 설명을 위해 질문을 업데이트했습니다. 나는 보통 질문하지 않는다. 나는 나 자신을 그것을 해결하려고 노력하는 시간을 보낸다. 하하. –

답변

0

봇의 수를 처리하려면 다음

는 봇 클래스 코드의 예에 추가 세 번째 로봇. 그런데

, 나는 코드가있는 경우 문장의 조건은 무엇인가 Math.abs(x - x2)

관련 문제