大于 8x8 棋盘的国际象棋移动验证?

Chess move validation in larger than 8x8 board?

我正在创建国际象棋变体。规则和棋子与经典国际象棋相同。唯一不同的是电路板的尺寸(12x12 而不是 8x8)。

我的目标是仅验证和应用动作。除了从头开始编写所有内容之外,我还有哪些选择?

最流行的格式似乎仅限于 8x8 板。

我可以使用任何流行的编程语言。

国际象棋引擎在移动生成中采用三种通用方法。在国际象棋编程术语中,这些通常被称为:

1)位板

2)邮箱(带填充数组的国际象棋术语)

3)曲目列表

今天最常用的方法是位板,不幸的是,它不容易修改为更大的板。但是,这对您来说应该不会太糟糕。位板成为事实上的标准的原因不是因为它们最容易实现(它们实际上是最复杂的),而是因为它们的移动生成速度更快(并且通过扩展验证)。但是,这仅适用于需要每秒验证数千万次移动的搜索功能。如果您只是想要简单的旧式验证,方法二应该绰绰有余,并且很容易适应更大的棋盘。如果您想查看使用此方法的国际象棋引擎,请查找使用邮箱或 oX88 棋盘表示的引擎。我认为教学 CPW 引擎使用邮箱。

https://chessprogramming.wikispaces.com/CPW-Engine

这是一篇关于移动生成的文章: https://chessprogramming.wikispaces.com/Move+Generation