2013-05-18 28 views
1

首先,感謝您只需點擊此:)我是一個業餘學生編碼器,我創建了一個(可怕的)版本的Pacman。我試圖在我的1000x650小應用程序屏幕上爲每個點創建矩形,因此我可以在包命中框觸及它們時創建if語句,它們消失。一次創建多個矩形對象(Java)

我的問題是,我想創建一個類,所以我可以輕鬆地創建矩形,並只有1個if語句,而不是一個對每個點的矩形(努力學習是有效的:P)

如果我沒有詳細說明,我會警惕根據您的回覆進行修改,謝謝!

(編輯1:修復了句子的xD運行)

+0

你的問題是非常含糊。當您需要特定答案時,請認真表明您已經擁有什麼,並提出具體問題。 – BlacKow

回答

0

您可以使用for聲明,repeadly循環,直到滿足條件。

這是一般結構:

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

,這是一個例子,其中循環繼續只要計數器i<n):

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

我建議你給this讀。

0

如果您需要在X和Y(矩陣)上填充矩形,則很可能需要嵌套循環。 讓你想一個5 * 5的矩形每100個像素寬度有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) 
    } 
} 
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); 
} 

希望工程快樂編碼!

0

我不完全理解你的問題。但是 難道你只是創建一個2維數組使用嵌套for循環

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