Forum.iFiction.Ru

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

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

Вы не зашли.

   #1
12.12.2002 01:41

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

ЯРИЛ 2.0

Язык Разметки Интерактивной Литературы (ЯРИЛ) версии 2.0 проходит стадию формирования и развития. На данный момент существует некий вариант #001 как первая предварительная реализация языка. Приведу пример:
------------------------------------------------------------------

//Пример №1 редакция 2
ярил 2.0

//И. Р. Д. В. Т. П.
//ж-женский род, с-средний, <пусто>-мужской
локация Камера "Одиночная камера" ("одиночн"+"ая","ой",р,"ую",р,р) ("камер"+"а","ы","е","у","ой",д) ж:
      "Мокрая, холодная камера. Стены в полумраке кажутся серыми. В одной из них виднеется тяжёлая металлическая дверь."
/локация

//*-множественное число
предмет Стены "Стены" ("") ("стен"+"ы",,"е","у","ой",д) * - Камера:
      "Серые сырые стены. Полуотваливающаяся штукатурка имеет мерзкий вид. На одной из стен проступает какая-то надпись."
      (неподвижен)
/предмет

предмет Надпись "Надпись на стене" ("") ("надпис"+"ь",и,"и",и,"ью",д) ж - Камера:
      "С трудом можно прочесть: 'Проба пера... Привет от Соника! smile'"
      (неподвижен)
      (читаем)
/предмет

локация Выход "Выход из тюрьмы" ("") ("выход"+,"а","у",,"ом","е"):
      "Узкий серый коридор упирается в каменную стену. Массивные металлические ворота приоткрыты..."
/локация

//сказать_з - сказать_заглавная
функция Взять
      если неподвижен тогда
            сказать_з ип+" неподвиж"+(выбор пол=м:"ен",ж:"на",с:"но",*:"ны")
      иначе
            переместить сам в инв
            сказать_з "Вы взяли "+вп
      /если
/функция

функция Читать
      если читаем тогда
            Описать
      иначе
            сказать_з ип+" нечитаем"+(выбор пол=ж:"а",с:"о",*:"ы")
      /если
/функция

функция Описать
      сказать "  "+ип
      сказать " "+Описание
/функция

функция ПоказатьИнвентарь
      сказать "У вас с собой:"
      если инв.колво=0 тогда
            сказать "  (пусто)"
      иначе
            для а=1 до колво(инв)
                  сказать "  "+инв(а).ип
            /для
      /если
/функция

//и,р,д,в,т,п - предметы в падежах; "" - неизменяемая часть
команда "взять", "возьми", "забрать", "забери"
      * в: Взять
/команда

команда "читать", "читай", "прочесть", "прочти"
      * в: Читать
/команда

команда "осмотреться", "осмотрись", "оглядеться", "оглядись"
      Описать(ТекЛок)
/команда

команда "осмотреть", "осмотри", "исследовать", "исследуй"
      * в: Описать
/команда

команда "осм"
      * в: Описать
      Описать(ТекЛок)
/команда

команда "инвентарь", "инвентарий", "инв", "и"
      ПоказатьИнвентарь
/команда

функция Среда.Нераспознаваема
      сказать "Простите, я не понимаю эту фразу."
/функция

функция Среда.Предначало
      сказать "Это тестовая история на 'ЯРИЛ 2.0. Релиз #001.'"
/функция

------------------------------------------------------------------

Мне интересно, насколько данный пример понятен IF-писателям - непрограммистам?

Неактивен

   #2
12.12.2002 02:56

FighteR
Участник
Откуда: Долгопрудный
Зарегистрирован: 12.12.2002
Сообщений: 33

Re: ЯРИЛ 2.0

Тот-же Inform, только синтаксис другой...

Я, например, разрабатываю нечто похожее, но не надеюсь на понимание непрограммистами (это кусок из 'кода' парсера):

;  Команда "Осмотреться"
((Осмотреться)
   (Находится Игрок _L)
   (Имя _L _Name)(WRITE *_Name*)
   (ВывестиОписание _L)
   (ДляКаждогоОбъекта _X (УпомянутьЕслиВиден _X)))

  ((УпомянутьЕслиВиден _X)(Виден _X)(Упомянуть _X))

  ((Виден _X)(ИмеетСвойство скрытый   _X)(CUT)(FAIL))
  ((Виден _X)(ИмеетСвойство декорация _X)(CUT)(FAIL))
  ((Виден _X)(Находится _X _A)(Находится Игрок _L)
     (РавенИлиПринадлежит _L _A))

  ((Упомянуть _X)(Имя _X _Y)("Здесь есть " _Y "."))
  ((Упомянуть _ )("Здесь есть предмет без имени!"))

Неактивен

   #3
13.12.2002 00:30

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

Да, я и делаю его как некий русский вариант Inform. Вернее, я его взял за основу. Просто он мне кажется почти идеальной системой.

Видимо, твой язык LISP-подобный? Если честно, тяжеловато для понимания, но, думаю, с документацией разобраться можно. Или нет?  smile

Неактивен

   #4
13.12.2002 01:51

FighteR
Участник
Откуда: Долгопрудный
Зарегистрирован: 12.12.2002
Сообщений: 33

Re: ЯРИЛ 2.0

Вообще-то мой язык Пролого-подобный но невелика разница smile
Собственно моя проблема в том, что это мое творение и есть интерпретатор пролога, а не специнструмент создания IF. Тяга к универсализации, блин...
Я стараюсь все (парсер, генератор падежей и т п) создавать на прологе, и минимум функций выносить как встроенные. Проблема со словами - хорошая игра должна понимать 2000-4000 слов, тут нужен базовый словарь и генератор, иначе задолбаешься создавать словарь к каждой игре

Да, чего хочу сказать - нельзя рассчитывать на ПОНИМАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ НЕПРОГРАММИСТОМ, просто по определению.
можно только делать его проще в освоении. так что на это и делай упор. Четкий синтаксис и хорошая документация @:<)

Неактивен

   #5
13.12.2002 16:33

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

FighteR написал:

Я стараюсь все (парсер, генератор падежей и т п) создавать на прологе, и минимум функций выносить как встроенные.

Тогда выйдет, что каждому IF-писателю придётся эти функции писать самому?

FighteR написал:

Проблема со словами - хорошая игра должна понимать 2000-4000 слов, тут нужен базовый словарь и генератор, иначе задолбаешься создавать словарь к каждой игре.

Базовый - это, конечно, удобно, но тогда реакцию на них тоже придётся писать автору. Хорошо было бы, чтобы автор смог отключать какие-то словари, или подключать новые.

FighteR написал:

Да, чего хочу сказать - нельзя рассчитывать на ПОНИМАНИЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ НЕПРОГРАММИСТОМ, просто по определению.
можно только делать его проще в освоении. так что на это и делай упор. Четкий синтаксис и хорошая документация @:<)

Да, документация - пол дела, а вот хороший синтаксис...  :-/ Как бы его сделать таким?

Неактивен

   #6
14.12.2002 02:00

FighteR
Участник
Откуда: Долгопрудный
Зарегистрирован: 12.12.2002
Сообщений: 33

Re: ЯРИЛ 2.0

>Тогда выйдет, что каждому IF-писателю придётся эти
>функции писать самому?

Нет, просто продвинутый писатель сможет их изменить по своему усмотрению. Я не хочу 'зашивать' парсер в коды. Кроме того, сила моего языка (версия пролога) прежде всего в парсинге. возможно, я даже сделаю dll-вариант, чтоб можно было вставить парсер в любую платформу. Потому как в ООП мой язык не очень того...

>Базовый - это, конечно, удобно, но тогда реакцию на них
>тоже придётся писать автору. Хорошо было бы, чтобы
>автор смог отключать какие-то словари, или подключать
>новые.

Я имею в виду словарь падежей и т.п. В идеале, автор пишет в программе названия предметов, а компилятор сам создает словарь игры, подгужая падежные формы из базового словаря. про незнакомые слова спрашивает в диалоговом режиме (пытается сгенерировать падежные формы, с возможностью ручной корректировки), и с разрешения пользователя вносит их в базовый словарь. Т. о. базовый словарь - это не 'словарь-минимум', а 'словарь-максимум' , как-бы библиотека, откуда берутся только необходимые куски

Неактивен

   #7
14.12.2002 18:24

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

FighteR написал:

>Тогда выйдет, что каждому IF-писателю придётся эти
>функции писать самому?
Нет, просто продвинутый писатель сможет их изменить по своему усмотрению. Я не хочу 'зашивать' парсер в коды. Кроме того, сила моего языка (версия пролога) прежде всего в парсинге. возможно, я даже сделаю dll-вариант, чтоб можно было вставить парсер в любую платформу. Потому как в ООП мой язык не очень того...

О! Это было бы хорошо!

FighteR написал:

>Базовый - это, конечно, удобно, но тогда реакцию на них
>тоже придётся писать автору. Хорошо было бы, чтобы
>автор смог отключать какие-то словари, или подключать
>новые.
Я имею в виду словарь падежей и т.п. В идеале, автор пишет в программе названия предметов, а компилятор сам создает словарь игры, подгужая падежные формы из базового словаря. про незнакомые слова спрашивает в диалоговом режиме (пытается сгенерировать падежные формы, с возможностью ручной корректировки), и с разрешения пользователя вносит их в базовый словарь. Т. о. базовый словарь - это не 'словарь-минимум', а 'словарь-максимум' , как-бы библиотека, откуда берутся только необходимые куски

Т.е. он будет идти с проигрывателем? Или же с игрой?

Неактивен

   #8
15.12.2002 01:55

FighteR
Участник
Откуда: Долгопрудный
Зарегистрирован: 12.12.2002
Сообщений: 33

Re: ЯРИЛ 2.0

>Т.е. он будет идти с проигрывателем? Или же с игрой?
Нет и нет! С платформой! А с игрой будет часть словаря, нужная для этой именно игры. Круто, только пока всё руки не доходят...

Неактивен

   #9
15.12.2002 23:10

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

О! Просто замечательно. smile Ждём. (Думаю, многие согласятся, что такой вариант - оптимальный.)

Неактивен

   #10
22.12.2002 23:08

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

Последние новости:
Пока компилятор отложен. Думаю написать маленький графический редактор, а там посмотрим. Но если быть точным, то сейчас пишу "Парсер фраз" - программу-парсер, основанную на методах языка ЯРИЛ (бОльшая часть взята с Inform).

Неактивен

   #11
28.01.2003 00:32

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

RealSonic написал:

Но если быть точным, то сейчас пишу "Парсер фраз" - программу-парсер, основанную на методах языка ЯРИЛ (бОльшая часть взята с Inform).

Наконец-то я дописал "Парсер фраз"! Анализирует введённую фразу методом шаблонов, смотрите: http://toysoft.narod.ru/phpars_0.1ap2.zip

Неактивен

   #12
31.01.2003 00:17

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

Архив битый? Тогда тут: http://toysoft.narod.ru/phpars_0.1ap2.rar (245кб, RAR 3.0)

Неактивен

   #13
31.01.2003 13:50

Olegus t.Gl.
Участник (+629, -83)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2731
Вебсайт

Re: ЯРИЛ 2.0

А если файла по этому адресу нет, то что делать?..

Ты можешь прислать файл почтой (мне или на ТяпЛяп), а я выложу его на нашем сайте?

Неактивен

   #14
31.01.2003 17:35

GrAndrey
папа RTADS и Бяка (+37, -2)
Откуда: Москва
Зарегистрирован: 15.09.2002
Сообщений: 1200
Вебсайт

меньше слов

Re: ЯРИЛ 2.0

Как всегда, Rar3.  sad
Неужели из-зи выигрыша в 3% качать новые версии?
Лень...

Неактивен

   #15
01.02.2003 01:25

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

Olegus t.Gl. написал:

А если файла по этому адресу нет, то что делать?..
Ты можешь прислать файл почтой (мне или на ТяпЛяп), а я выложу его на нашем сайте?

Шлю на твой...

Неактивен

   #16
01.02.2003 01:29

Соник
Участник
Откуда: Россия, г. Тольятти
Зарегистрирован: 21.04.2002
Сообщений: 90
Вебсайт

Re: ЯРИЛ 2.0

GrAndrey написал:

Как всегда, Rar3.  sad
Неужели из-зи выигрыша в 3% качать новые версии?
Лень...

Но я же не могу уже ставить старый РАР...

Неактивен

Powered by PunBB
© copyright 2001–2018 iFiction.Ru