|
||
В Ифрите можно выделить следующие составные части: 1 UCI протокол. 2 Генератор избыточных ходов. Принимает позицию и выдает список всевозможных ходов из данной позиции. Не учитывает шахи. 3 Реализатор ходов. Принимает ход и реализует его на доске. Он делает как прямые ходы, так и возврат хода. 4 Детектор шахов проверяет позицию, выданную реализатором ходов. Если позиция не корректна, то об этом сообщается и реализатор возвращает ход. На данный момент детектор состоит из нескольких функций и смотрит отдельно атаку на короля ,и битые поля при рокировке. 5 Генератор вариантов. В данный момент это полный перебор с альфа-бета отсечением. В нем же реализуем вывод главной линии переменной длины. 6 Оценщик позиции. Получаем позицию и выдаем ее оценку. |