一次创建多个矩形对象(Java)

时间:2013-05-18 20:17:33

标签: java rectangles pacman

首先,感谢您点击这个:)我是一名业余学生编码器,我正在创建一个(可怕的)Pacman版本。我正试图在我的1000x650 applet屏幕上为每个点创建矩形,所以我可以在Packages命中框触摸它们时创建一个if语句,它们会消失。

我的问题是,我想创建一个类,这样我就可以轻松地创建矩形,只有1个if语句,而不是每个点矩形一个(试图学习效率:P)

如果我没有详细说明,我会谨慎根据您的回复进行编辑,谢谢!

(编辑1:修正了句子xD上的运行)

4 个答案:

答案 0 :(得分:0)

您可以使用for语句重复循环,直到满足条件。

这是一般结构:

for (counterInitialization; terminatingCondition; incrementLoopsCount) {
    statement(s);
}

这是一个循环继续与计数器i<n一样长的例子:

int n = 50;
for(int i = 0;i<n;i++){
//code for creating a rectangle
...
}

我建议您阅读this

答案 1 :(得分:0)

如果需要在X和Y(矩阵)上填充矩形,则很可能需要嵌套循环。 让我们考虑你想要宽度为每100个像素的5 * 5矩形,高度为50像素:

for(int x = 0;x<1000;x+= 100)
{
     for(int y=0;y<650; y+= 50)
     {
          drawRectangle(x, y, 5, 5); // Considering drawRectangle(x, y, width, height)
     }
}

答案 2 :(得分:0)

尝试使用此代码,它会在与点碰撞时返回true。

Object pacman = new Object();
pacman.xcoord = null;
pacman.ycoord = null;

final int dotsInStage = 50;
// add other properties

int xcoords[] = new int[dotsInStage];
int ycoords[] = new int[dotsInStage];

调用此布尔值:

public boolean dotCollison (int xcoords[], int ycoords[], Object pacman) {
       loop = 0;
       while (loop <= dotsInStage) {
            if (pacman.xcoord = xcoords[loop] && pacman.ycoord = ycoords[loop]) {
                return true;
                break;
            }
        }
}

要添加矩形,请尝试:

int loop = 0;
while (loop <= dotsInStage) {
   Graphics.drawRectangle (xcoord[loop] , ycoord[loop] , xcoord[loop] + 10 , ycoord[loop] + 10);
}

希望它有效且编码愉快!

答案 3 :(得分:0)

我不完全理解你的问题。但 难道你不能只使用嵌套for循环创建一个2 d数组

For( int I = 0; I<array.length;i++){
For (int j = 0; j <array[0].length;I++){
//fill w/ rectangles
array[I][j]= ;
}}