io — Соедините Chess Engine с программой C ++ GUI

Я хочу соединить мою программу C ++ с шахматным движком, чтобы иметь ИИ для врага.
В моей программе на С ++ -> Пользователь сделает ход (например, A2A3) -> Я передам эту строку шахматному движку -> Движок обновит доску -> Движок запустит ИИ для расчета хода врага -> Движок передаст движение врага в виде строки (например, A7A6) моей программе на C ++ -> и т. д.

Я прочитал, что для того, чтобы моя программа взаимодействовала с шахматным движком, мне нужно запустить файл chess_engine.exe и обмениваться с ним командами через стандартный ввод / вывод.

Можете ли вы сказать мне, как именно мой программный код Visual Studio может запускать exe-файл и обмениваться с ним командами ?? Любой пример?

Заранее спасибо.

-3

Решение

Для этого вам нужно запустить новый поток или процесс с движком. Как правило, вы делаете это, запуская новый процесс, где основной функцией двигателя будет отправная точка нового процесса.

Теперь в вашем приложении будет два процесса. Ваше GUI-приложение является родительским процессом, тогда как сам движок будет дочерним процессом. Вам нужно будет связаться с движком по стандартному шахматному протоколу UCI. Вы можете передавать входные и выходные данные в / из дочернего процесса (который является движком).

Допустим, вы хотите начать новую игру. Вы выполните следующие команды UCI:

isready
ucinewgame

Пожалуйста, внимательно прочитайте спецификацию UCI. Вы можете получить его в Google.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector