5.4 Engine (Blackbox)
Zweck/Verantwortlichkeit
Dieses Subsystem beinhaltet die Ermittlung des nächsten Zuges ausgehend von einer Spielsituation. Diese Situation kann von außen vorgegeben werden. Die Engine ist zustandsbehaftet und spielt stets eine Partie zur gleichen Zeit. Die Default-Implementierung benötigt zum Arbeiten eine Implementierung der Spielregeln, die Eröffnungsbibliothek ist optional.
Schnittstelle
Das Subsystem stellt seine Funktionalität über das Java-Interface de.dokchess.engine.Engine bereit. Default-Implementierung ist die Klasse de.dokchess.engine.DefaultEngine.

Bild: Schnittstelle Engine, Implementierung
Tabelle: Methoden der Schnittstelle Engine
Methode
|
Kurzbeschreibung |
figurenAufbauen |
Setzt den Zustand der Engine auf die angegebene Stellung. Falls aktuell eine Zugermittlung läuft, wird diese abgebrochen. |
ermittleDeinenZug |
Startet die Ermittlung eines Zuges für die aktuelle Spielsituation. Liefert Zugkandidaten asynchron über ein Observable zurück (siehe Laufzeitsicht 6.1). Die Engine führt die Züge nicht aus. |
ziehen |
Führt den angegebenen Zug aus, d.h. ändert den Zustand der Engine. Falls aktuell eine Zugermittlung läuft, wird diese abgebrochen. |
schliessen |
Schließt die Engine. Die Methode erlaubt es Ressourcen frei zu geben. Im Anschluss sind keine Zugermittlungen mehr |
setSpielregeln |
Setzt eine Implementierung der Spielregeln, siehe 5.3 Spielregeln (Blackbox) |
setEroeffnungsbibliothek |
Setzt eine (optionale) Eröffnungsbibliothek, deren Züge gegenüber eigenen Überlegungen präferiert werden. siehe 5.5 Eröffnung (Blackbox). |
Abschnitt 8.2 („Schach-Domänenmodell“) beschreibt die in der Schnittstelle verwendeten Aufruf- und Rückgabeparameter (Zug, Stellung, Farbe). Details zum Engine-Subsystem finden Sie in der Whitebox-Sicht in
Abschnitt 5.6.
Tabelle: Methoden der Klasse DefaultEngine (zusätzlich zu Engine)
Methode
|
Kurzbeschreibung |
setEroeffnungsbibliothek |
Setzt eine (optionale) Eröffnungsbibliothek, deren Züge gegenüber eigenen Überlegungen präferiert werden. Siehe Abschnitt 5.5 "Eröffnung (Blackbox)". |
setSpielregeln |
Setzt eine Implementierung der Spielregeln, siehe Abschnitt 5.3 "Spielregeln (Blackbox)". |
Die in der Schnittstelle verwendeten Aufruf- und Rückgabeparameter (Zug, Stellung, Farbe) sind in
Abschnitt 8.2 beschrieben. Details zu diesem Subsystem finden Sie in der Whiteboxsicht in
Abschnitt 5.6.
Ablageort / Datei
Die Implementierung sowie Unit-Tests liegen unterhalb der Pakete de.dokchess.engine...