Java语言全局类实例



作为发展编程技能的一种方式(到目前为止我已经上了一门课),我给自己分配了一个项目。我正在努力打造一款可玩的国际象棋游戏。

方法:我想设计它,这样就会有一个用于位置(列和行)的类,一个用于类型(int表示,int值,String名称,Movement x)的类。

然后,有一个正方形类(位置、类型)。例如,每个方块都会有一个位置和一个类型(例如空的、典当的等)。我想初始化square或"play"类之外的每种类型,因为我希望这些类型是预定义的。因此,当我声明Square 1=new Square(P1,EMPTY)时,我可以使用预设的类型和位置初始化该正方形。问题是我需要将"Empty"声明为全局类型,我不知道该怎么做。有人看到我可以这样做吗?非常感谢你的帮助。如果有帮助的话,我正在使用oracle的一个版本。

我不会选择"type",因为正方形根据与之相关的棋子改变类型没有太大意义。如果你坚持这样做,那就顺其自然,并按照评论中的建议使用enum

public enum SquareType {
    KING, QUEEN, ... , EMPTY
}

如果我不想这样做,而且我不想,我会做两件事之一:

  1. 去掉工件的position,并用Square替换它,因为这也是位置
  2. Square中添加对棋子的引用;如果引用是null,则知道它是空的

因为一件作品不可能在棋盘上的某个位置,也不可能在正方形上,所以你可以通过这种方式减少冗余,不需要"全局"标识符。

当分配游戏板时,我会制作一个2D阵列(也建议),我会这样做:

// For a non-empty square
board[row][col] = new Square(new ChessPiece(...), ...);
// For an empty square
board[row][col] = new Square(null, ...);

相关内容

  • 没有找到相关文章

最新更新