Любой знает о хорошем.Net Chess Engine

Я не слишком тщательно изучил ваш код, но вот мое впечатление:

Ваш анализатор проверяет, что первая группа символов, которую он видит, образует правильную формулу, а затем останавливается. Если после этого появляется мусор, это не имеет значения, ваш парсер все еще счастлив, потому что нашел правильную формулу.

Я вижу два способа справиться с этим в вашей грамматике:

  • Требовать, чтобы формула заканчивалась каким-то метасимволом «конец потока»

  • [ 118] Добавить новое правило, соответствующее последовательности формул. Например,

<document> ::= <formula> |
               <formula> <document>

(Конечно, это левая рекурсия, но вы сможете решить ее без особых проблем.)

Также:

} else if (proposition(sym)) {
    nextSym();
}

Мне кажется подозрительным, что эта ветка ничего не возвращает.

10
задан Greg Dean 17 April 2009 в 09:05
поделиться

5 ответов

Не движок как таковой, но Valil.Chess - хорошая шахматная игра .NET (с доступным исходным кодом - так что вы можете добраться до «движка» игры) которая выиграла ноябрьскую премию за подачу заявок в Code Project.

Существует также SharpChess , который также является полной шахматной игрой, написанной на C #.

Что касается общих шахматных движков, которые могут быть конвертированы в .NET, их много, и в зависимости от задача, вы можете выбрать из множества двигателей для реализации в .NET. Хорошим списком отправной точки является здесь , а также показан рейтинг Elo каждого двигателя. Даже повторная реализация серверной части FICS , безусловно, представляет собой проблему! :)

Хорошим списком отправной точки является здесь , а также показан рейтинг Elo каждого двигателя. Даже повторная реализация серверной части FICS , безусловно, представляет собой проблему! :)

Хорошим списком отправной точки является здесь , а также показан рейтинг Elo каждого двигателя. Даже повторная реализация серверной части FICS , безусловно, представляет собой проблему! :)

11
ответ дан 3 December 2019 в 16:10
поделиться

Код двигателя SharpChess (C #) доступен здесь:

Исходный код поисковой системы

4
ответ дан 3 December 2019 в 16:10
поделиться

Я пишу «Компьютерный шахматный блог», в котором рассказывается обо всех этапах написания шахматного движка на C # с нуля, он включает в себя раздел ссылок на компьютерные шахматы и стартовый набор для игры в шахматы.

http://www.chessbin.com

Адам Берент

9
ответ дан 3 December 2019 в 16:10
поделиться

Код двигателя SharpChess (C #) доступен здесь:

1
ответ дан 3 December 2019 в 16:10
поделиться

Я также рекомендую SharpChess в качестве отправной точки для .Net. Когда я разрабатывал свои двигатели (в VB, Delphi, C #), я постоянно ссылался на Crafty профессора доктора Роберта Хаятта. (Глядя на прогрессивные версии Crafty - это восхищение.)

1
ответ дан 3 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: