前端之家收集整理的这篇文章主要介绍了
java – 表示棋盘的最有效方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
502_0@
我有一个用Java编写的国际象棋程序.目前我正在使用2d char数组来表示棋盘.大写字母表示白色和小写表示黑色.我应该使用字节数组来减少内存使用量吗?或者也许是枚举?谢谢.
简而言之:最有效和最专业的
方法是使用Bitboards.
基本上,有三种表示经常使用的棋盘的方法:
> 8×8二维数组:
缓慢但易于维护
> 10×12 1维阵列:
更快,有点棘手
>位板:
它们是最快的方法,也用于专业引擎,如Stockfish或Rybka.基本上,每个数字类型都需要64位uint,其中每个位代表一个字段.有关更多信息,我建议使用chessprogramming wiki或google =>位板.