所以我在解决一个问题时遇到了一些麻烦。我目前正在用 Java 编写一个基于位板的国际象棋引擎(它是一个解决一切问题的过程)。到目前为止,所有的典当/国王/骑士动作都按预期工作并且没有错误。
我需要帮助理解的是滑动块移动生成。我已经为每个方格/棋子生成了空棋盘移动数组。根据我目前的理解,我还需要开发一个数组,该数组还包含每个正方形上的每个可能占用率——然后以某种方式基于各种方法查找该数组。
这种思考方式正确吗?是否需要从 0 到 2^63 中选择每个数字,然后用移动位板对那个正方形进行异或运算,然后用某种方法(魔法/旋转位板)存储它以初始化数组并以相同的方式访问它运行?
非常感谢伪代码和解释。(顺便说一下,我正在使用>>>)。