RU64

игровая программа по русским шашкам

Формат Kallisto

Программа RU64 является интерфейсной оболочкой для игровых модулей, выполненных по спецификации Kallisto. Автором этого формата является белорусский программист Игорь Коршунов, его домашняя страница доступна по ссылке: http://igorkorshunov.narod.ru

Игровой модуль в формате Kallisto - это 32-битная динамически загружаемая библиотека для системы Windows. Состав экспортируемых функций такой библиотеки может до определенной степени варьироваться.

Функция Назначение
EI_GetName Вернуть название модуля
EI_Initialization Инициализировать модуль
EI_NewGame Начать новую партию
EI_SetupBoard Установить новую позицию на игровой доске
EI_MakeMove Сделать очередной ход на игровой доске
EI_SetTimeControl Установить игровой контроль времени
EI_SetTime Установить оставшееся для игры время
EI_Think Вычислить лучший ход
EI_Analyse Анализировать текущую позицию
EI_Stop Закончить все вычисления
EI_Exit или EI_OnExit Завершить работу модуля
#define ENGAPI __attribute__((stdcall,dllexport))
ENGAPI void EX_SetEasyLevel(int level);

Аргумент level этой функции - число в диапазоне от 0 до 9, где 0 означает отсутствие ограничения.

#define ENGAPI __attribute__((stdcall,dllexport))
#define GUIAPI __attribute__((stdcall))
ENGAPI void EX_EGDB(GUIAPI int (*proc)(char *pos));

Аргумент pos, передаваемый при вызове обработчика по указателю proc, должен указывать на ACIIZ-строку, определяющую позицию таким же образом как и аргумент функции EI_SetupBoard. Возвращаемые обработчиком значения обозначают точный результат игры в переданной позиции для стороны, имеющей в ней очередь хода:

  • ничья: 0
  • победа: 10000
  • поражение: -10000
  • результат неизвестен: 32000

Также параллельно программа RU64 поддерживает обращения к интерфейсу эндшпильных баз, передаваемому через вызов функции EI_EGDB, если такая функция экспортируется из игрового модуля.

Для того чтобы дать представление об устройстве игровых модулей формата Kallisto, в установочный комплект программы RU64 включен архив с исходным кодом игрового модуля текущей версии.

Архив с программой KallistoGUI и информацией о формате Kallisto доступен в разделе Загрузка