Ich schreibe ein Spiel in Haskell, in dem der Spieler und die KI abwechselnd einige Aktionen ausführen. Bis jetzt arbeiteten die AIs durch Erzeugen von Aktionen unter Verwendung aller Informationen über das Spiel, d. H. Sie waren Funktionen der Form GameHistory -> GameState -> Action
.Agenten erlauben, ihren internen Zustand zu haben
Auf diese Weise generieren diese Funktionen einige Informationen, die sie bei jedem Aufruf aus der Historie benötigen. Es wäre viel einfacher, AIs zu schreiben, wenn sie einen "internen Zustand" haben könnten, der zwischen ihren Wendungen besteht (d.h. Aufrufe an die entsprechende Funktion). Wie könnte man so etwas umsetzen? (Übrigens sollte ich auch zu berücksichtigen, dass die internen Zustände der verschiedenen Arten von KIs verschiedene Arten haben könnte.)
Ich finde diese Frage zu weit, ich kann Ihnen keine spezifischere Antwort geben als "Verwenden Sie die Staatsmonade". Wenn Sie Ihre Frage bearbeiten könnten, um tatsächlich Code zur Verfügung zu stellen, könnten wir wahrscheinlich hilfreicher sein. –
@aclow Etwas verwandt: http://stackoverflow.com/questions/40698396/how-can-i-handle-user-plugins-in-my-types/ – danidiaz
@ danidiaz Danke, das sieht aus wie ich suche. Ich werde es ausprobieren. – aclow