Google
 

Сайт Андрея Иванова

Андрей Иванов - все секреты шашек и шашистов

Login





 


 Забыли пароль?
 или новый пользователь? Зарегистрируйся!

Кто с нами

Пользователей:  На сайте
Пользователей:  Пользователей: 0
Гостей:  Гостей: 6
Всего:  Всего: 6
Пользователей:  Зарегистрированные
No members connected


Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
Автор Сообщение
Kallisto
Тема сообщения:   СообщениеОтправлено: Фев 03, 2008 - 04:46 PM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

Исходники библиотеки для доступа к ЭБ - www.igorkorshunov.narod.ru/EdAccess.rar

Пример использования - www.igorkorshunov.narod.ru/sidra_src.rar
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
MiG
Тема сообщения:   СообщениеОтправлено: Фев 03, 2008 - 12:17 PM



Зарегистрирован: Сен 12, 2002
Сообщений: 391

Kvadrat писал(а):
Если я правильно понимаю, каждая позиция уникальная и имеет свой индекс/ключ. Для позиции вычисляется индекс и по этому индексу она ищется в соответствующем файле и возвращается оценка позиции.

Отвечу вкратце вместо Игоря Smile

Да, Вы всё правильно поняли. Сейчас Вы должны разобраться в исходниках, в которых реализован доступ к ЭБ, и сделать то же самое для своего движка.

Еще один (более простой) вариант — подключить ЭБ через уже имеющийся интерфейс.
 
 Профиль пользователя отправить личное сообщение Послать e-mail  
Ответить с цитатой Наверх
Kvadrat
Тема сообщения:   СообщениеОтправлено: Фев 03, 2008 - 07:44 AM



Зарегистрирован: Дек 16, 2006
Сообщений: 405

Игорь, если это Вас не затруднит, объясните мне, чайнику, Sad как получить доступ в ЭБ.
Если я правильно понимаю, каждая позиция уникальная и имеет свой индекс/ключ. Для позиции вычисляется индекс и по этому индексу она ищется в соответствующем файле и возвращается оценка позиции. (Я говорю про файл, поскольку мне сейчас не надо грузить базы в память).
Объясните, пожалуйста, на примере этой позиции приведенной в соседней ветке

(ход черных, но полагаю в базе все описано относительно одного цвета)
как вычислить эту позицию и из какого файла по какому смещению вытащить оценку?
Или мне уже ничего не поможет? Cry Cry Cry

_________________
Пользуюсь всеми доступными программами
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Июнь 07, 2007 - 10:12 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Цитата:
Кстати, стоит ли делать поддержку ранговых баз? Или безранговых будет вполне достаточно? Между прочим, для движка, поддержку сделать достаточно просто.

Мне ранговые не нужны.
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Июнь 06, 2007 - 08:10 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

Нашел одну неточность в SiDra при использовании баз с потерей взятий.
В RootSearch() после генерации ходов должен быть такой код:
Код:

   if (!EdNocaptures || MoveBuffer[0].cap_sq[0]) EdRoot[stm] = EdProbe();
   else EdRoot[stm] = EdAccess::not_found;
   if (EdRoot[stm] == EdAccess::win) EdRoot[stm ^ CHANGE_COLOR] = EdAccess::lose;
   else if (EdRoot[stm] == EdAccess::lose) EdRoot[stm ^ CHANGE_COLOR] = EdAccess::win;
   else EdRoot[stm ^ CHANGE_COLOR] = EdRoot[stm];


Кстати, стоит ли делать поддержку ранговых баз? Или безранговых будет вполне достаточно? Между прочим, для движка, поддержку сделать достаточно просто.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 19, 2007 - 05:38 PM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

Letas, ничего распаковывать не надо. Эта ветка предназначена исключительно для обсуждения технических деталей между программистами. Я об этом говорил в первом посте.

NS, в загаловочном файле есть такие комментарии:

// загрузить базы
// пока такие типы игр:
// russian
// russianlosers
// brazil
// brazillosers
// pool
// poollosers
// checkers
// checkerslosers

Я думал, что будет понятно Smile[/b]
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
letas
Тема сообщения:   СообщениеОтправлено: Май 19, 2007 - 05:20 PM



Зарегистрирован: Фев 08, 2003
Сообщений: 1771

Kallisto писал(а):
Новые исходники SiDra: www.igorkorshunov.narod.ru/sidra_src.rar

- поддержка ЭБ, сжатых с потерей информации
- константы из интерфейсного класса переделаны в перечисления (enum), т.к. не все компиляторы поддерживают константы внутри класса
- добавлен проект для VC++ 6.0
- немного подправлена консольная версия

В какую директорию все это нужно распаковать?
 
 Профиль пользователя отправить личное сообщение WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 19, 2007 - 04:35 PM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Для русских ключевое слово "russian", а какие будут ключевые слова для бразильских и пула?
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 19, 2007 - 06:36 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

Новые исходники SiDra: www.igorkorshunov.narod.ru/sidra_src.rar

- поддержка ЭБ, сжатых с потерей информации
- константы из интерфейсного класса переделаны в перечисления (enum), т.к. не все компиляторы поддерживают константы внутри класса
- добавлен проект для VC++ 6.0
- немного подправлена консольная версия
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 18, 2007 - 08:11 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

NS писал(а):
Но если обратиться то ответит что такой позиции нет? Или даст неверный ответ?

Можно считать, что ответом будет случайное число.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
NS
Тема сообщения:   СообщениеОтправлено: Май 18, 2007 - 06:41 AM



Зарегистрирован: Авг 22, 2006
Сообщений: 671
Откуда : Санкт-Петербург
Но если обратиться то ответит что такой позиции нет? Или даст неверный ответ?
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 18, 2007 - 06:00 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

Вспомнил еще одну важную вещь. Бывают базы, сжатые с потерей информации о позициях, в которых возможны взятия.

Пусть для таких баз функция virtual char *GetBaseType(); возвращает строку в которой будет слово "nocaptures".

Например, для сжатых с потерей информации баз Каллисто эта строка будет:
"Kallisto nocaptures".

Если движок увидел слово "nocaptures" в типе базы он не должен обращаться к базе в позициях, где есть взятия, т.к. получит неправильный ответ.

Завтра добавлю корректную работу со сжатыми базами к SiDra.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
Kallisto
Тема сообщения:   СообщениеОтправлено: Май 14, 2007 - 05:55 AM



Зарегистрирован: Авг 18, 2003
Сообщений: 747

nikvo писал(а):
В русской или бразильской версии?И как исправить?Вытереть и заново записать?

Вы прочитайте еще раз. Это ни к русской ни к бразильской никакого отношения не имеет.
Табличка "base not found" означает, что не хватает каких-то кусков базы.
 
 Профиль пользователя отправить личное сообщение Послать e-mail WWW  
Ответить с цитатой Наверх
letas
Тема сообщения:   СообщениеОтправлено: Май 14, 2007 - 03:52 AM



Зарегистрирован: Фев 08, 2003
Сообщений: 1771

nikvo писал(а):
base not found

Выскакивает табличка такая.Хотя я сгенерировал ЭБ(в бразил)

Вы писали - исправлена идиотская ошибка, из-за которой, иногда, ходы (в корне дерева!) просто выбрасывались из рассмотрения;

В русской или бразильской версии?И как исправить?Вытереть и заново записать?

Такая табличка выскакивает,когда база сгенерирована не до конца.
Проверьте это.
 
 Профиль пользователя отправить личное сообщение WWW  
Ответить с цитатой Наверх
nikvo
Тема сообщения:   СообщениеОтправлено: Май 14, 2007 - 12:13 AM



Зарегистрирован: Фев 08, 2003
Сообщений: 1251

base not found

Выскакивает табличка такая.Хотя я сгенерировал ЭБ(в бразил)

Вы писали - исправлена идиотская ошибка, из-за которой, иногда, ходы (в корне дерева!) просто выбрасывались из рассмотрения;

В русской или бразильской версии?И как исправить?Вытереть и заново записать?
 
 Профиль пользователя отправить личное сообщение  
Ответить с цитатой Наверх
Показать:     
Перейти к:  
Время в формате GMT + 3
Новая тема   Ответить
Предыдущая тема Версия для печати Войти и проверить личные сообщения Следующая тема
PNphpBB2 © 2003-2007 
 
Page created in 0.63397097587585 seconds.