2015-10-15 76 views
0

我在Java上是一個初學者,並根據我閱讀,觀看,在線收聽創建了一個簡單的遊戲。只是一個簡單的遊戲,可以幫助我鞏固技術和語法。如何搜索並返回多暗數組中的特定值?

它具有的功能之一是隨機(有點)地形生成。這是一個2D飛行遊戲,我所做的是創建一個int [] [],繪製一條線。它使用for循環遍歷數組,然後使用隨機數生成器來確定下一個「塊」是更高,更低還是處於相同級別的像素。

int a = lengthOfLand; 
    int b = startHeightOfLand; 
    int[][] land = new int[a][500]; 

    land[0][b] = 1; 
    int y = b; 
    for(x = 1; x < a; x++){ 
     switch(getRandomNumber(3)){ 
      case 0: land[x][y - 1] = 1; 
       y--; 
      case 1: land[x][y] = 1; 
      case 2: land[x][y + 1] = 1; 
       y++; 

(我敢肯定有隨機地形生成一百萬更好的辦法,但我剛開始交手的一切,學習新技術,所以這種方式對我的作品)。

以上都是在我的初始化類中調用的。在遊戲的渲染區域,我們取數組並說出值是否爲1,在提供的x,y值處繪製此圖像。顯然,數組中的所有其他值= 0,所以這些不會被渲染。所以我看到的是,每次我運行遊戲時,都會出現一些起伏不平,所有產生(半),隨機和(最重要)不同的線條。基本上,我使用這個多暗陣列來繪製屏幕上的每個像素。 = 1的值被渲染爲土地的頂部。完善。

但是,我想要做的是啓動一個單獨的陣列,將這塊土地留在這個地方。所以我需要能夠從地面陣列中抽取我們結束的高度(每次遊戲運行時都會因爲隨機元素而有所不同)。基本上,當y = 1和x = a時,我需要找出y的指數。因此,搜索並返回多dim數組的某個「列」中的特定值。

我該怎麼做?我假設我可以使用Array Class中的一個方法,但作爲初學者,我並不知道該在哪裏尋找以及如何處理它。

+0

數組是地獄。在大多數情況下,你想實現一個自定義類,它完全符合你的需求 –

回答

-2

使用嵌套了:)這樣

for (x = 0; x < a; x++) { 
     for (i = 0; i < 500; i++) { 
      land[x][i]; 
      if (your condition here){ 
      } 
     } 
    } 
+0

這應該是一個評論。 – Midnightas

相關問題