我很不确定该怎么做,但我会尽力而为。
我有一些相关的类用于列出图像,另一个用于机器人,它告诉他们该做什么,另一个用于在屏幕上绘画。我遇到的问题是让机器人复制自己,然后在按下 ..say 空格时使用与原始代码相同的代码。
Java对我来说还是很新的。
我用它来说明图像:
Bot = new ImageIcon(getClass().getResource("/res/botDown.gif")).getImage();
操纵机器人做事的代码只是一堆不断变化的 ifbotx
语句boty
。我猜想通过使用数组在按下空间时分配更多机器人是可行的方法。否则,我会这样做的方式是编写更多机器人自己复制并粘贴所有 IF,然后设置空间以将值递增 1 并相应地分配每个机器人(不好的方式)。希望有助于解释。
任何建议表示赞赏谢谢!
添加了机器人类代码的示例:
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;
}