C++, Comandline, Stockfish Chess Engine
-
Hallo zusammen. Ich suche einen Weg um mit der Stockfish Chess Engine zu kommunizieren, sie wird per Konsole gesteuert (Befehle gemäß UCI Protokoll).
Meine Idee ist nun ein sehr simples C++ Programm zu schreiben, das folgendes tun soll:
- Befehle in das Konsolefenster von Stockfish schreiben
- Ausgaben von Stockfish aus dem Konsolefenster auslesen
Allerdings habe ich keine Idee wie ich auf das Konsolefenster von Stockfish zugreifen kann. Wie geht das?
-
Hmm habe das was gefunden, das werde ich jetzt mal näher anschauen müssen:
https://www.c-plusplus.net/forum/topic/248213/system-befehl-ausgabe-umleiten/10
Falls es mittlerweile neue Wege gibt, gerne her damit
-
@sirEgbert Ich weiß nicht, ob C++ mein mittel der Wahl währe, dafür. Aber die Stockfish Doku empfiehlt boost.process, daher würde ich mir das vlt mal anschauen.
Ansonsten scheint mit dir Stockfish Doku ganz gut zu sein https://official-stockfish.github.io/docs/stockfish-wiki/Developers.html#using-stockfish-in-your-own-project
-
Nimm doch Python, Java oder Net dafür. Habe ich auch schon gemacht und damit ein Klacks: FEN berechnen, Stockfish übergeben, Zug berechnen lassen und in deine Anwendung einfügen.
Das Ganze dann noch ein wenig durch Überlegzeiten und suboptimale Züge tarnen und fertig...
Das Schwierige ist, die aktuelle Ausgangssituation richtig zu erkennen und Animationen und so zu ignorieren.
-
@sirEgbert Ich bin sonst gerade noch über die kleine Library gestolpert: https://github.com/eidheim/tiny-process-library