написание шахматного движка для арены GUI - PullRequest
1 голос
/ 21 марта 2011

Я заинтересован в реализации шахматного движка для GUI арены. http://www.playwitharena.com. Знаете ли вы какую-то информацию о конкретных рекомендациях, которым вы должны следовать, чтобы сделать движок пригодным для использования в Arena (то есть, чтобы выможет импортировать движок из Arena).

Как вы думаете, возможно ли реализовать шахматный движок Arena с использованием Java, или мне нужно будет использовать C ++

Также, если вы знаете какой-либо другой графический интерфейс платы?которые могут импортировать движки, особенно если движок может быть написан на Java, скажите, пожалуйста.

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

Вы можете написать свой движок на любом языке и заставить его работать с Arena, если он говорит по протоколу WinBoard или UCI. Оба из них предполагают, что ваш движок (который работает как отдельный процесс) вводит и выводит простой текст. Вы можете написать это на C ++, Java, Visual Basic, COBOL, Forth или как угодно. (Примечание: я не рекомендую пытаться написать шахматный движок на языке COBOL.)

То же самое верно для всех других графических интерфейсов шахматного движка, на которые вы можете выбрать таргетинг (их немало, и вы можете найти несколько, просто введя chess gui в Google): все они понимают WinBoard или UCI или оба и им все равно, на каком языке реализован движок.

3 голосов
/ 21 марта 2011

Создать движок, который можно использовать на арене, действительно легко.Вашему движку просто нужно читать и писать на стандартные входные и выходные потоки (stdin и stdout).Ваш движок должен говорить по определенному протоколу, и у вас есть выбор между протоколом UCI , который проще в реализации, но поддерживается только парой по интерфейсу, или протоколом xBoard , которыйподдерживается большим количеством интерфейсов как в Windows, так и в Linux.

Я бы предпочел протокол xboard, так как он более широко используется и позволяет движку лучше контролировать (например, он позволяет движку использовать собственную начальную книгу) .

...