Java 爪哇国际象棋记分员

Java 爪哇国际象棋记分员,java,Java,我是Java新手,如果有人能在以下方面提供帮助,我将不胜感激。我想为我的棋盘做一个记分员。现在,分数每次都会回到零。我如何保存以前的分数并在每次移动时添加它?谢谢 public static int scoreKeeper(Chessmen[][] chessboard, int X, int Y, int X1, int Y1, int currentNumber, int totalNumber){ AbstractPiece knight = new Knight();

我是Java新手,如果有人能在以下方面提供帮助,我将不胜感激。我想为我的棋盘做一个记分员。现在,分数每次都会回到零。我如何保存以前的分数并在每次移动时添加它?谢谢

public static int scoreKeeper(Chessmen[][] chessboard, int X, int Y, int X1, int Y1, int currentNumber, int totalNumber){

    AbstractPiece knight = new Knight();
    AbstractPiece bishop = new Bishop();
    AbstractPiece pawn = new Pawn();
    AbstractPiece king = new King();
    AbstractPiece queen = new Queen();
    AbstractPiece rook = new Rook();

    if ((chessboard[Y][X] == Chessmen.WHITE_KNIGHT) || 
            (chessboard[Y][X] == Chessmen.BLACK_KNIGHT)){
        currentNumber = currentNumber+totalNumber+knight.relativeValue();
        return currentNumber;
    }else return totalNumber;
}

最简单的解决方案是将分数存储为类数据成员:

class Game {
    static int score;

    public static int updateScore(... some inputs...) {
        if(some condition is true) {
            score = score + whatever you want to add;
        }
    }
}

类在方法调用之间保留“score”的值。

最简单的解决方案是将您的分数存储为类数据成员:

class Game {
    static int score;

    public static int updateScore(... some inputs...) {
        if(some condition is true) {
            score = score + whatever you want to add;
        }
    }
}

类在方法调用之间保留“score”的值。

最简单的解决方案是将您的分数存储为类数据成员:

class Game {
    static int score;

    public static int updateScore(... some inputs...) {
        if(some condition is true) {
            score = score + whatever you want to add;
        }
    }
}

类在方法调用之间保留“score”的值。

最简单的解决方案是将您的分数存储为类数据成员:

class Game {
    static int score;

    public static int updateScore(... some inputs...) {
        if(some condition is true) {
            score = score + whatever you want to add;
        }
    }
}

该类在方法调用之间保留“score”的值。

我怀疑您的抽象性不好。我想你需要一个
棋盘
来隐藏
棋子的2D数组
。让它作为数据成员保留当前分数。提供适当选择和移动工件的方法

我可以看到它的构造函数实例化了一个棋盘。它会将每个棋子设置在适当的起始位置。然后每个玩家轮流移动


这不是一个小问题。

我怀疑您的抽象性不好。我想你需要一个
棋盘
来隐藏
棋子的2D数组
。让它作为数据成员保留当前分数。提供适当选择和移动工件的方法

我可以看到它的构造函数实例化了一个棋盘。它会将每个棋子设置在适当的起始位置。然后每个玩家轮流移动


这不是一个小问题。

我怀疑您的抽象性不好。我想你需要一个
棋盘
来隐藏
棋子的2D数组
。让它作为数据成员保留当前分数。提供适当选择和移动工件的方法

我可以看到它的构造函数实例化了一个棋盘。它会将每个棋子设置在适当的起始位置。然后每个玩家轮流移动


这不是一个小问题。

我怀疑您的抽象性不好。我想你需要一个
棋盘
来隐藏
棋子的2D数组
。让它作为数据成员保留当前分数。提供适当选择和移动工件的方法

我可以看到它的构造函数实例化了一个棋盘。它会将每个棋子设置在适当的起始位置。然后每个玩家轮流移动


这不是一个小问题。

您遇到的主要问题是将currentNumber的值作为参数传递 这意味着在这种方法之外它不会改变 这个例子将说明我的观点

public class Test{

   public static void main (String[] args){
       int a = 0 ;
       changeValue(a);
       System.out.print(a);
   }
   public static  void changeValue(int a){
       a=20;
   }
}
输出将始终为0

您可以通过编写方法getValueOfCurrentNumber()getValueOfTotalNumbe()


获取值而不是将其作为参数。

您遇到的主要问题是将currentNumber的值作为参数传递 这意味着在这种方法之外它不会改变 这个例子将说明我的观点

public class Test{

   public static void main (String[] args){
       int a = 0 ;
       changeValue(a);
       System.out.print(a);
   }
   public static  void changeValue(int a){
       a=20;
   }
}
输出将始终为0

您可以通过编写方法getValueOfCurrentNumber()getValueOfTotalNumbe()


获取值而不是将其作为参数。

您遇到的主要问题是将currentNumber的值作为参数传递 这意味着在这种方法之外它不会改变 这个例子将说明我的观点

public class Test{

   public static void main (String[] args){
       int a = 0 ;
       changeValue(a);
       System.out.print(a);
   }
   public static  void changeValue(int a){
       a=20;
   }
}
输出将始终为0

您可以通过编写方法getValueOfCurrentNumber()getValueOfTotalNumbe()


获取值而不是将其作为参数。

您遇到的主要问题是将currentNumber的值作为参数传递 这意味着在这种方法之外它不会改变 这个例子将说明我的观点

public class Test{

   public static void main (String[] args){
       int a = 0 ;
       changeValue(a);
       System.out.print(a);
   }
   public static  void changeValue(int a){
       a=20;
   }
}
输出将始终为0

您可以通过编写方法getValueOfCurrentNumber()getValueOfTotalNumbe()


获取值,而不是将其作为参数。

什么变量代表以前的分数?“分数每次都会回到零。”你说的“每次”是什么意思?每次运行程序或每次在同一运行程序中调用
记分员时?哪个变量代表
以前的分数?“分数每次都会回到零。”你说的“每次”是什么意思?每次运行程序或每次在同一运行程序中调用
记分员时?哪个变量代表
以前的分数?“分数每次都会回到零。”你说的“每次”是什么意思?每次运行程序或每次在同一运行程序中调用
记分员时?哪个变量代表
以前的分数?“分数每次都会回到零。”你说的“每次”是什么意思?每次你运行程序或者每次在同一个运行程序中调用
记分员时?谢谢iShaalan,你能给我一些关于getValue方法的提示吗?我也需要类数据成员吗?非常感谢。另外,您可能应该更详细地描述这些变量名。获取…的总数?谢谢iShaalan,你能给我一些可以创建getValue方法的提示吗?我也需要类数据成员吗?非常感谢。另外,您可能应该更详细地描述这些变量名。获取的总数量。