Использование Stockfish Chess AI в Unity - PullRequest
0 голосов
/ 17 октября 2018

Доброе утро.Я пытаюсь внедрить Stockfish в шахматную игру Unity. Мне сказали, что лучше всего использовать Spawn.Process Кто-нибудь знает о существующем коде, на который я могу посмотреть и взять в качестве ссылки?

Являются ли разные Gamestates лучшимиспособ общения с ИИ?

Спасибо!

1 Ответ

0 голосов
/ 17 октября 2018

Если вы можете представить свое игровое состояние в Форсайт-Эдвардс Нотация и прочитать Алгебраическая Нотация , чтобы улучшить состояние вашей доски, это должно работать:

String GetBestMove(String forsythEdwardsNotationString){
    var p = new System.Diagnostics.Process();
    p.StartInfo.FileName = "stockfishExecutable";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.Start();  
    String setupString = "position fen "+forsythEdwardsNotationString;
    p.StandardInput.WriteLine(setupString);

    // Process for 5 seconds
    String processString = "go movetime 5000";

    // Process 20 deep
    // String processString = "go depth 20";

    p.StandardInput.WriteLine(processString);

    String bestMoveInAlgebraicNotation = p.StandardOutput.ReadLine();

    p.Close();

    return bestMoveInAlgebraicNotation;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...