Dem Programm zeigt auf, ob und wie aus einem beliebigen Spielstand Schachmatt erreicht werden kann. Die Ausgangslage wird als String in der FEN Notation gespeichert. Das Resultat wird in einem Markdown File gespeichert.
Der Algorithmus läuft folgendermassen ab:
- Der Algorithmus nutzt die Ausgangslage (
initialStellung) und führt eine Iteration über alle erlaubten Züge der Ausgangslage aus (moeglicheZuege). - Jeder mögliche Zug wird ausgeführt (
teilzug1) und es werden wiederum für jede neue Stellung alle möglichen Züge (stellungNachTeilzug1) ermittelt. - Die neuen möglichen Züge (
moeglicheZuegeNachTeilzug1) werden dann wiederum alle ausgeführt etc. - Dieser Prozess wird bis zum Teilzug 4 wiederholt.
- Nach dem Teilzug 4 wird überprüft, ob Matt möglich ist und falls ja, werden alle vergangenen Teilzüge in eine Liste gespeichert.
Für die Repräsentation des Spielstandes, Ermittlung und Durchführung der Züge und das Überprüfen auf Matt,
haben wir die Packages de.dokchess.allgemein und de.dokchess.regeln; genutzt. Weitere Informationen zu Dokchess sind hier zu finden: https://www.dokchess.de/
Die Forsyth-Edwards-Notation (FEN) ist eine Kurznotation, mit der jede beliebige Brettstellung im Schach niedergeschrieben werden kann.
Hier ist eine Liste der Buchstaben und der Figuren, die sie darstellen:
P: Weisser BauerN: Weisser SpringerB: Weisser LäuferR: Weisser TurmQ: Weisse KöniginK: Weisser Königp: Schwarzer Bauern: Schwarzer Springerb: Schwarzer Läuferr: Schwarzer Turmq: Schwarze Königink: Schwarzer König
