我很容易理解非滑动部件,但滑动部件一直有问题。
我目前有64个位板(每一个方块有1个位板,没有保存在数组中,还有8个位板用于屏蔽行,8个位板用于清除行,8个位板用于屏蔽列,8个位板用于清除列,当然,每种类型的块都有一个位板。
在为bishop和rook生成合法移动时,我听说您应该得到列/行上的第一个被占用的正方形。
我的问题是:
你怎么知道车要去哪里,它和合适的面具在一起。
你是怎么得到第一个在对角线上被占的正方形,以及主教。
如果你知道任何其他常见的bitboard,这将有助于我在后一点的任务,请让我知道他们。
目前,我有它没有分支,并希望保持我使用的分支数量减少,但我觉得有些将需要在这里,并好奇最有效的方式去解决这个问题。
最佳答案
关于Board representation和Bitboard的维基百科条目对这个主题提供了很好的解释。
此外,它们还包含一系列指向有价值参考文献的有趣链接。
我特别建议你研究一下Crafty的源代码。这是一个著名的权威写的:博士Robert Hyatt。