私はチェスの変形を作成しています。ルールとピースは古典的なチェスと同じです。唯一の違いはボードのサイズです(8x8の代わりに12x12)。チェスは8x8より大きいボードで検証を移動しますか?
私の目標は、動きの検証と適用のみです。私が最初からすべてを書くことを除いて、どのようなオプションがありますか?
最も一般的なフォーマットは、8x8ボードに限られているようです。
私は普及しているプログラミング言語で問題ありません。
私はチェスの変形を作成しています。ルールとピースは古典的なチェスと同じです。唯一の違いはボードのサイズです(8x8の代わりに12x12)。チェスは8x8より大きいボードで検証を移動しますか?
私の目標は、動きの検証と適用のみです。私が最初からすべてを書くことを除いて、どのようなオプションがありますか?
最も一般的なフォーマットは、8x8ボードに限られているようです。
私は普及しているプログラミング言語で問題ありません。
チェスエンジンがムーブジェネレーションで取る3つの一般的なアプローチがあります。チェスプログラミングの専門用語では、これらは一般として知られている:
1)Bitboards
2)メールボックス(パディングを持つアレイのチェス用語)
3)ピースは、今日使用される最も一般的な方法
を示していますBitboardsですが、残念ながら大きなボードには簡単に変更できません。しかし、これはあまりにもあなたにとって悪いはずはありません。なぜなら、実際の標準は実際には最も複雑であるからですが、移動の生成(および拡張の検証)の方がずっと速いからです。しかし、これは、毎秒数千万回の動きを検証する必要がある検索機能での使用にのみ関係します。古い単純な移動確認だけをしたいのであれば、方法2は十分なものでなければならず、より大きなボードに簡単に適応できるはずです。この方法を使用するチェスエンジンを見たい場合は、メールボックスまたはoX88ボード表現を使用するエンジンを調べます。私は教訓のCPWエンジンがメールボックスを使用すると思います。
https://chessprogramming.wikispaces.com/CPW-Engine
、ここで移動生成についての記事です: https://chessprogramming.wikispaces.com/Move+Generation
通常の8×8のチェスは、1バイトは8ビットであるという事実のようなものを使用することができ、その64ビットプロセッサは、64を処理することができます1ビットずつ。幸運な試合!既存のチェスプログラムにパッチを当てるだけでなく、何か他のことをしなければならない可能性が高くなります。 –