Registriert seit: 18. Aug 2014
55 Beiträge
Delphi 10.2 Tokyo Starter
|
AW: Schach - Fehlerbeseitigung
23. Mär 2019, 13:25
Ja ich war noch nie ein großer Fan von Kommentaren, der Code ist ohnehin schon lange genug. Ich verstehe dass Kommentare zur Verständlichkeit beitragen mögen. Ich habe aber versucht, den Funktionen, Prozeduren und Variablen sprechende Namen zu geben, die eigentlich schon für sich sprechen. Also was die boolesche Funktion "IstSchach" macht oder was in vkoenigweisskoordinate vom Typ TPoint gespeichert ist, muss ich ja wohl nicht groß erläutern. Aber ich beantworte gerne jede unklare Frage.
Ich habe das Programm nochmal bearbeitet und bin auch schon viel weiter gekommen: Das Programm ist jetzt spielbar und die KI sollte keine Fehler mehr machen; Schach, Patt und Matt wird erkannt und en passant sollte ebenfalls funktionieren. Bauernumwandlung und Rochade muss ich immer noch implementieren. Mir ging es aber wie gesagt zunächst um die Fehlerbehebung, damit es überhaupt spielbar ist. Ob die KI auch als schwarz fehlerfrei arbeitet, habe ich noch nicht getestet.
Nun geht es mir nur noch um die Spielstärke und dann zuletzt noch um die Effizienz bzw. Schnelligkeit. Selbst bei acht vorausberechnenden Zügen (wo die KI hier schon (zu) lange rechnen muss) gewinnt man immer noch spielend leicht, was eigentlich gar nicht sein dürfte/sollte. Daraus schließe ich, dass in dem Quellcode, genauer gesagt im Alpha-Beta-Algorithmus (welcher für solche Spiele gängig ist) oder vielleicht auch in der Bewertungsfunktion, ein Fehler stecken muss. Und den zu finden, finde ich fast unmöglich in Anbetracht der Komplexität des Programms. Kann mir da irgendwer weiterhelfen?
Ansonsten macht es jetzt schon echt Spaß mit dem Programm rumzuspielen..
Danke.
Geändert von Danny92 (23. Mär 2019 um 13:31 Uhr)
|