Language agnostic 在大于8x8的棋盘上进行棋步验证?

Language agnostic 在大于8x8的棋盘上进行棋步验证?,language-agnostic,chess,Language Agnostic,Chess,我正在创建一个国际象棋变体。规则和棋子与经典国际象棋相同。唯一不同的是电路板的尺寸(12x12而不是8x8) 我的目标是只验证和应用移动。除了从头开始写东西,我还有什么选择 大多数流行的格式似乎仅限于8x8板 我对任何流行的编程语言都很在行。在移动生成中,国际象棋引擎通常采用三种方法。在国际象棋编程术语中,这些术语通常被称为: 1) 比特板 2) 邮箱(用于带填充的数组的国际象棋术语) 3) 单件清单 今天使用的最常用的方法是比特板,不幸的是,比特板不容易修改为更大的板。然而,这对你来说应该不会

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

我的目标是只验证和应用移动。除了从头开始写东西,我还有什么选择

大多数流行的格式似乎仅限于8x8板


我对任何流行的编程语言都很在行。

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

1) 比特板

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

3) 单件清单

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

下面是一篇关于移动生成的文章:

普通8x8国际象棋可以使用这样的事实,即一个字节中有8位,64位处理器一次可以处理64位。一场幸运的比赛!您可能需要做其他事情,而不仅仅是修补现有的国际象棋程序。