2013-07-31 69 views
2

我要創建一個跳棋棋盤遊戲和我有4類:(「」來表示它返回一個toString空單元)接收來自其它類的特定值,其不連接

  1. 細胞
  2. 白色(表示白細胞,並將其返回的toString「W」)
  3. 黑色(表示一個黑色細胞並將其返回的toString「B」)
  4. 跳棋(其中設置了電路板(細胞[8] [8 ])並初始化它

我在調用由字母.,W,B代表的空白色和黑色單元格時出現問題。我有更多的工作要做的代碼,但我只需要幫助調用這些方法

細胞,黑白類看起來像這些:

public class Cell { 
public static final String EMPTY="."; 

int i; 
int j; 
String value; 

public Cell(int i, int j){ 
    this.i = i; 
    this.j = j; 
    value = EMPTY; 
} 

public String toString(){ 
    return value; 
} 
} 

而在跳棋I類有這些方法:我只是不知道如何從其他類中調用這些類,所以我只是創建了另一個char數組並將這些值放入。我知道我必須在這方面做更多工作。

/*********initialization******/ 
public void init(){ 
    board = new Cell[8][8]; 


    char[][] a = 
     { 
      getEmptyWhite("EW"), 
      getEmptyWhite("WE"), 
      getEmptyWhite("EW"), 
      getEmptyWhite("EE"), 
      getEmptyWhite("EE"), 
      getEmptyWhite("BE"), 
      getEmptyWhite("EB"), 
      getEmptyWhite("BE") 

     }; 
    for(int i = 0; i<8; i++){ 
     for(int j=0; j<8; j++){ 
      System.out.print(a[i][j]); 
     } 
     System.out.println(); 
    } 
} 


    public char[] getEmptyWhite(String a){ 
     Cell empty; 
     Black black; 
     White white;  
     if(a.equals(empty)){ 
      char[] emptyWhite = {'E','E','E','E','E','E','E','E'}; 
      return emptyWhite; 
     } 
     else if(a.equals("EW")){ 
      char[] emptyWhite = {'E','W','E','W','E','W','E','W'}; 
      return emptyWhite; 
     } 
     else if(a.equals("EB")){ 
      char[] emptyWhite = {'E','B','E','B','E','B','E','B'}; 
      return emptyWhite; 
     } else if(a.equals("WE")){ 
      char[] emptyWhite = {'W','E','W','E','W','E','W','E'}; 
      return emptyWhite;   
     } else if(a.equals("BE")){ 
      char[] emptyWhite = {'B','E','B','E','B','E','B','E'}; 
      return emptyWhite;   
     } 
     return null; 
    } 



/*********initialization ended*******/ 
+0

你的問題是什麼? – tuckermi

+0

白色和黑色類是Cell類的擴展嗎?如果白色和黑色類從單元格延伸,則操作遊戲更爲容易 – danRod

+0

是白色和黑色延伸單元格 –

回答

0

裏面getEmptyWhite,它看起來像,而不是這一行:

if(a.equals(empty)){ 

你應該使用這樣的:

if(a.equals("EE")){ 

注意,在你發佈的代碼,empty是變量類型爲Cell,值爲null。因此,a.equals(empty)將始終爲false。此外,您並不需要本地變量empty,blackwhite

+1

如果我沒有這些,那麼我將如何打印這樣的棋盤。 –

+0

@SyedMudabbir - 您正在打印由'getEmptyWhite'返回的內容構建的二維'char [] []'數組。我沒有看到代碼中的任何地方使用變量'empty','white'或'black'。 –

+1

謝謝我必須找出一種方法來調用這些值,這是我不知道如何確切地調用。 謝謝你的幫助。 –

相關問題