Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
15.06.2009 23:10

aash29
Участник (+3)
Зарегистрирован: 28.08.2007
Сообщений: 46

z-машина в составе другой программы

Есть мысль использовать модель мира из IF в другой программе (искусственный интеллект). Как бы это лучше было сделать? Скомпилировать интерпретатор как длл?

Неактивен

0    0    #2
21.06.2009 18:58

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: z-машина в составе другой программы

Врядли это сработает.
Модели мира в ИФ весьма упрощены и специализированы именно под игры.
Но если есть желание повозиться с длл попробуй подключить tom.dll
На все вопросы отвечу.

Отредактировано ASBer (21.06.2009 19:00)

Неактивен

0    0    #3
22.06.2009 21:05

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: z-машина в составе другой программы

На Вике есть исходник консольного интерфейса
http://ifwiki.ru/files/ConTOM_s.rar
можно делать по аналогии.

здесь зачатки документации.

Передачу интерпретатору команд делать можно и нужно smile

Отредактировано ASBer (22.06.2009 21:08)

Неактивен

0    0    #4
23.06.2009 10:31

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: z-машина в составе другой программы

Вообще все что нужно, это:

- Подключить tom.dll и его функции:
  char* RunFile(char*FileName);
  char* RunText(char*Statement);
  char* Command(char*Input);

- далее юзать эти функции:
  RunFile()
  - Выполняет скрипт из указанного файла.
  - Возвращает текст, сгенерированный при выполненнии скрипта.
  RunText() 
  - Вычисляет выражение или выполняет скрипт переданный в строке.
  - Возвращает результат вычисления. Текст сгенерированный при выполненнии скрипта пишется в лог.
  Command()
  - Выполняет команды на русском языке.
  - Возвращает текст, сгенерированный при выполненнии команды.

Неактивен

0    0    #5
24.06.2009 19:40

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: z-машина в составе другой программы

в Лиспе не силен, но может быть нужно указывать имя функции точно так как указано в dll ?

def-foreign-call (RunFile "@RunFile$qpc" :object)

Неактивен

0    0    #6
23.10.2009 11:24

ASBer
Модератор (+160, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: z-машина в составе другой программы

aash29, а чем все закончилось? есть ли какие результаты?

Неактивен

Powered by PunBB
© copyright 2001–2022 iFiction.Ru