Es gibt drei allgemeine Ansätze, die Schach-Engines bei der Move-Generierung berücksichtigen. In Schachprogrammierung Jargon werden diese allgemein bekannt als:
1) Bitboards
2) Mailbox (Schachjargon für Arrays mit padding)
3) Stücklisten
Die gebräuchlichste Methode verwendet heute ist Bitboards, das leider nicht so einfach zu größeren Boards modifizierbar ist. Das sollte dir aber nicht zu schlecht sein. Der Grund, warum Bitboards der De-Facto-Standard sind, ist nicht, weil sie am einfachsten zu implementieren sind (sie sind tatsächlich die komplexesten), sondern weil sie viel schneller für die Bewegungserzeugung (und durch die Erweiterungsprüfung) sind. Dies ist jedoch nur relevant für die Verwendung in einer Suchfunktion, die Bewegungen millionenfach pro Sekunde validieren muss. Wenn Sie nur eine gute alte einfache Bewegungsvalidierung wünschen, sollte die Methode zwei mehr als ausreichend sein und sich leicht an größere Boards anpassen lassen. Wenn Sie Schach-Engines sehen möchten, die diese Methode verwenden, suchen Sie nach Engines, die eine Mailbox- oder oX88-Board-Repräsentation verwenden. Ich denke, dass die didaktische CPW-Engine Mailbox verwendet.
https://chessprogramming.wikispaces.com/CPW-Engine
und hier ist ein Artikel über Zug-Generation: https://chessprogramming.wikispaces.com/Move+Generation
Normale 8x8 Schach kann Dinge wie die Tatsache nutzen, dass es 8 Bits in einem Byte, und die 64-Bit-Prozessoren 64 verarbeiten Bits auf einmal. Ein glückliches Spiel! Sie werden wahrscheinlich etwas anderes tun müssen, nicht nur ein vorhandenes Schachprogramm zu patchern. –