2015-04-23 61 views
-1

我正在做一個簡單的遊戲,一個數組中的一堆對象同時出現。按下鼠標將刪除類中的對象數組(下面的示例代碼)。當它命中0時,它希望它進入另一個遊戲狀態。我仍然很新的這...如何將數組放入「if」語句中?

void mousePressed() { 

if (gameState == RUN_GAME) { 
objects.remove(0); 
} 
} 

當它擊中0和孤單草圖沒有更多的對象,你按下鼠標,處理會自動凍結。我試過這樣的(下面),但它顯然不起作用。我怎麼能告訴if語句改變gameState一旦對象的數組列表命中0?我希望我有道理。

void runGame(){ 

if (objects.length == 0) { 
gameState == WINNER); 
} 
} 

回答

0

假設你使用的是Java,您可以通過下面的代碼做到這一點:

if (objects.isEmpty()) 
{ 
     gameState = WINNER; 
} 
1

它看起來像你混淆陣列,的ArrayList。

數組是固定長度的可通過索引訪問的變量「塊」。下面是一個創建的10個整數數組的例子:

int[] array = new int[10]; 
for(int i = 0; i < array.length; i++){ 
    array[i] = i; 
} 

注意使用array.length的,它給你的陣列可以載有沒有已經設置的值索引的數量索引的數量。

您不能增加數組的大小,並且數組沒有remove()函數。但Processing包含append()和shorten()方法,它們接受一個數組並返回包含相同項目的另一個數組,只能刪除或添加一個索引。

另一方面,ArrayLists是動態調整大小的對象,其中包含任意數量的索引。您可以將其他對象添加或刪除到ArrayList。下面是一個例子:

ArrayList<Integer> arrayList = new ArrayList<Integer>(); 
for(int i = 0; i < 10; i++){ 
    arrayList.add(i); 
} 

的ArrayLists不具有長度可變相反,它們有一個大小()方法。此方法確實會返回已添加到其中的對象的數量。

所以你的問題的答案是,你需要決定你是否使用數組或ArrayList,然後堅持適合該類型的方法。

更多信息可以在處理API中找到:https://www.processing.org/reference/

+0

感謝您的信息!對不起,我以前沒有提供這些信息。我正在使用一個ArrayList。現在我試圖在if語句中調用size(),但我認爲這也不行。我會繼續努力。 if(objects.size()<0)gameState = WINNER; } – dazz

+0

@dazz尺寸不會小於**零。不過,它可能**等於**零。你也可以使用ArrayList.isEmpty()函數。 –

+0

現在一切正常!你一直在幫助很大。非常感謝! – dazz

相關問題