2015-05-17 73 views
1

對於我正在製作的遊戲,我需要在10x10遊戲板上放置類似俄羅斯方塊的棋子。找不到符號方法get(int)

如果玩家試圖將棋子放在棋盤上的佔用正方形上,我想返回「佔用」。

爲此,我做了一個初始方法,如果廣場被佔用,則返回true。

//Return true if the cell is occupied 
    public boolean isOccupied(int x, int y){ 
     if (board.get(x).get(y) != null){ 
// The problem seems to be in the line directly above 
      return true; 
     } 
     return false; 
    } 

但是當我嘗試編譯,它給了我一個編譯錯誤說 - 無法找到符號 - GET方法(INT)

我不知道爲什麼我得到這個錯誤,或者如何修理它。 任何幫助將不勝感激。

+1

'board.get(x)'返回什麼? – Timo

+0

board.get(x).get(y)返回棋盤上我正試圖確定的方格的座標是否被佔用或未被佔用。 我的板子基本上是一個10x10二維數組 – csci001

+0

是不是'x'和'y'你的座標? – Timo

回答

0

你的board類沒有定義get(int x)方法。因此,你一定要試試這樣的..

if (board[x][y] !=null) { // since its a 2d array (x row , y column) 

return true; 
} 
+0

感謝這似乎工作 – csci001

0

沒有一些周圍的其他代碼,這是一個有點難以看到正在做什麼,但它可能應該是這樣的......

//Return true if the cell is occupied 
    public boolean isOccupied(int x, int y){ 
     if (board.get(x,y) != null){ 
      return true; 
     } 
     return false; 
    } 

你想要做的是檢查單元格x,y是否被填充。你需要同時檢查X和Y,否則它是沒有意義的。你的get(x,y)方法會同時檢查x,y中的單元格。

你的代碼中的錯誤是,你打電話get(x),我猜測返回一個列的對象,然後你試圖在列上調用get(y)。但是,列對象沒有在其上創建的方法get()

相關問題