slm..
9
简单的方法是使用8x8整数数组.将0用于空方块并为各个部分指定值:
1 white pawns
2 white knights
3 white bishops
4 white rooks
5 white queens
6 white king
Black pieces use negative values
-1 black pawn
-2 black knight
etc
8| -4 -2 -3 -5 -6 -3 -2 -4
7| -1 -1 -1 -1 -1 -1 -1 -1
6| 0 0 0 0 0 0 0 0
5| 0 0 0 0 0 0 0 0
4| 0 0 0 0 0 0 0 0
3| 0 0 0 0 0 0 0 0
2| 1 1 1 1 1 1 1 1
1| 4 2 3 5 6 3 2 4
-------------------------
1 2 3 4 5 6 7 8
可以使用数组索引计算片段移动.例如,白色棋子通过将行索引增加1来移动,或者如果它是棋子的第一个移动则移动2.所以[2] [1]上的白棋子可以移动到[3] [1]或[4] [1].
然而,这个具有棋盘的简单8x8阵列表示有几个问题.最值得注意的是,当你像车,主教和女王一样移动'滑动'时,你需要经常检查指数,看看这件作品是否已经从板上移开.
今天的大多数国际象棋程序,特别是那些在64位CPU上运行的国际象棋程序,使用位图方法来表示棋盘并生成移动.x88是没有64位CPU的机器的备用板模型.