2

我必须创建一个跳棋棋盘游戏,我有 4 个课程:

  1. 单元格(用于表示一个空单元格,它返回一个 toString ".")
  2. White(代表一个白色单元格,它返回 toString "W")
  3. Black(代表一个黑色单元格,它返回 toString "B")
  4. 跳棋(设置棋盘(Cell[8][8])并对其进行初始化。

我在调用由字母表示的空白、白色和黑色单元格时遇到问题.,W,B。我在代码上还有更多工作要做,但我只需要帮助来调用这些方法

单元格、Black 和 WHite 类如下所示:

  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;
 }
}

在 Checkers 类中,我有这些方法:我只是不知道如何从其他类中调用它们,所以我只是创建了一个 Another 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*******/
4

1 回答 1

0

在里面getEmptyWhite,它看起来不是这一行:

if(a.equals(empty)){

你应该使用这个:

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

请注意,在您发布的代码中,是一个值为 的empty类型变量。因此,将永远是。此外,您实际上并不需要局部变量、和.Cellnulla.equals(empty)falseemptyblackwhite

于 2013-07-31T21:14:31.583 回答