我有一个用Java编写的象棋程序。目前我正在使用一个二维字符数组来表示棋盘,大写字母代表白色,小写字母代表黑色。我是否应该使用字节数组来减少内存使用?或者也许是枚举?谢谢。
8x8 二维数组: 速度较慢但易于维护
10x12 一维数组: 更快,但有点棘手
位棋盘: 它们是最快的方法,也被专业引擎如Stockfish或Rybka所使用。基本上,您需要一个64位无符号整数来表示每个棋子类型,其中每个比特代表单个格子。有关更多信息,我建议参考chessprogramming wiki或google=>bitboards。
ChessBoardCell[][]
。 - Alex Shesterov