임에 대해서는 확실히 확신 할 수 없지만 최선을 다할 것입니다.배열을 사용하여 봇을 생성 할 수 있습니다.
나는 이미지를 나열하는 몇 가지 관련 클래스를 가지고 있으며, 무엇을해야할 지 알려주는 봇의 또 다른 클래스와 화면에 그림을 그리기위한 또 다른 클래스가 있습니다. 내가 문제를 겪고있는 것은 로봇이 스스로를 복제 한 다음, 공간을 누를 때 원본과 동일한 코드를 사용하는 것이다.
Java는 여전히 나에게 매우 새로운 것입니다.
나는 국가 이미지에이를 사용하고 있습니다 :
Bot = new ImageIcon(getClass().getResource("/res/botDown.gif")).getImage();
코드는 물건을 할 수있는 로봇을 조작하는 것은 문 주위 botx
및 boty
을 변경하는 경우 단지 무리입니다. 공간을 눌렀을 때 더 많은 봇을 할당하기 위해 배열을 사용하여 이동하는 방법을 추측하고 있습니다. 그렇지 않으면, 내가하는 코드는 더 많은 봇 자신이 모든 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;
}
를 사용하여 개선 될 수 있다고 생각? – WilQu
흠. 그들은 로봇이 서로 너무 가까워지면 로봇이 멀리 떨어지라고 말하고 있습니다. 나는 새로운 봇을 수동으로 할당하기 위해 Bot1과 Bot2를 사용하고 있습니다. –
더 나은 설명을 위해 질문을 업데이트했습니다. 나는 보통 질문하지 않는다. 나는 나 자신을 그것을 해결하려고 노력하는 시간을 보낸다. 하하. –