Лично я продолжаю разработки в области URQ и URQ_DOS (например, сделал свой Windows-интерфейс для URQ_DOS - с нормальными окнами, поддающимися масштабированию и настройке), но нужны ли они кому-либо еще ?
Чтобы там ни говорили противники этой платформы, но несколько хороших квестов под URQ уже создано и кроме того на мой взгляд она может быть очень полезной для начинающих авторов в качестве стартовой точки. Если проводить аналогию с языками программирования, то все ведь когда-то начинали с Бейсика и существование гораздо более мощных языков и по сей день не вытеснило его из своей ниши.
В общем, все-таки хотелось бы узнать мнение постоянных обитателей о целесообразности выпуска новых версий.
abcdef написал:
Недавно попался под руку неплохой urq-квест... под настроение решил сделать свою версию URQ-интерпретатора.
Поиски исходников привели к интерпретатору RipOS, но используемый алгоритм парсинга не понравился... я взял за основу стандартный последовательный парсер что привело к некоторым ограничениям языка URQL: имена переменных не должны содержать служебных символов и команд языка.
Интерпретатор имеет большой потенциал в дополнени и расширении, включены практически все стандартные команды, находится на стадии тестирования, выполнен в Turbo Pascal 7.1 и легко может быть перенесен на другой язык.
Кого-нить заинтересовал проект, остались ли поклонники URQ-среды?
Поклонники URQ-среды в (условно) массовых количествах живут здесь: http://urq.borda.ru.
А на сайте http://urq.plut.info/soft есть возможность посмотреть (почти все) последние достижения urq-интерпретаторостроения.
Если же Вас интересует одно отдельно взятое ИМХО одного отдельно взятого поклонника URQ-среды - если у Вас интерпретатор с ДОС-интерфейсом, ему тяжеловато будет вытеснить из занятой ниши заслуженного ветерана - Досурку (URQ_DOS). Хороший стабильный интерпретатор с графическими возможностями - вопрос актуальный, но и в этом направлении разработки уже активно ведутся (обсуждение разработок см. здесь, вот тут можно скачать их текущий результат).
Неактивен
abcdef написал:
___
недели 2-3 знаком с URQ, но хоть убей, не знаю: зачем нужно было делать тип переменных не целочисленными?
p.s. сможет ли кто-нить помочь с особенностями языка, синтаксиса (если таковые имеются)? а то запускать квесты или искать крупицы информации в инете времени не хватает...
abcdef, см. ссылку на форум URQ выше в этой теме. Если Вам помогут, то именно там. Документация по ним по идее на сайте должна лежать, но сейчас проверил - видимо, вследствие переезда на новый хостинг ссылки пропали или побились. В любом случае, на форуме URQ Вам помогут. В принципе, у меня описание URQL'я лежит где-то на компе, но мне сначала надо у автора разрешение на выкладывание/рассылку спросить, а это может произойти не ранее, чем завтра.
Неактивен
С разрешения автора выкладываю наиболее полное на сегодняшний день описание языка URQL (версия для URQ_DOS).
Неактивен
abcdef написал:
прочитал документацию Korwin'а - для полноценной версии нужно...
Не совсем понятно, полноценная версия чего имеется в виду - языка urql или интерпретатора aurq.
abcdef написал:
в примерах показано так:
if Дубина then btn шмяк,Ударить зеленого гоблина дубиной по башке! else btn драп,Драпать!
так что получается что кроме символов: # & <crlf> в строках нельзя использовать слово <ELSE>?
Else можно использовать в строках (точнее, в операторах вывода) - например, pln else
- вполне допустимый оператор. Проблема возникает только при выводе символа комментария - pln Ничего не вышло; наверное, надо попробовать что-то еще.
выведет
Ничего не вышло
Это обходится путем использования подстановки: pln Ничего не вышло##59$ наверное, надо попробовать что-то еще.
(В доке это, кстати, не описано).
Впрочем, если заниматься выводом на экран else в пределах оператора if, такая проблема действительно может возникнуть. Обходится аналогичным образом.
Вообще, самый простой путь проверить, что можно в языке делать, а что нет (по крайней мере, в таких сравнительно простых случаях) - это самому составлять коротенькие тестовые примеры и прогонять их на URQ_DOS.
abcdef написал:
интересны также часто встречающиеся конструкции вида: if i<max then goto loop1 else pln Конец цикла
в которых можно вообще обойтись без ELSE, т.е. примерно так:
if i<max then goto loop1
pln Конец цикла
Ну, просто каждый пишет код так, как ему удобнее;).
abcdef написал:
осталось несколько вопросов:
в доке: - Выражение #переменная_x$ заменяется на значение числовой переменной 'переменная_x'
вопрос: - понятно если это встраивается в строку, но если это просто оператор по тексту программы, кто мешает просто писать ...переменная_x... без #...$?
__
в доке: - Возможно вложение, то есть такая строка считается допустимой: #var#x$$
вопрос: - а нужно ли вложение? т.к. это аналогично операции вида: #var$#x$
_Заранее спасибо!
Отвечаю на оба вопроса сразу следующим примером:
m1=1 m2=2 m3=3 selector=rnd3 if m#selector$=2 then pln Переменная m#selector$ равна двум! else pln Переменная m#selector$ равна #m#selector$$!
См. также в документации раздел "Массивы".
Предупреждаю - я не urq-гуру и не смогу привести примеры задач, которые в URQ можно решить только таким способом и никак иначе. В то же время много людей пользуются данной возможностью, из чего можно сделать вывод, что она если и не безальтернативная, то как минимум достаточно удобна.
abcdef написал:
p.s.: у кого какие предложения/пожелания для усовершенствования предложенного AURQ?
Ну, я уже говорил об этом раньше (в самом первом своем посте в этой ветке), повторяться не хочется;).
Неактивен
Пример квеста в DOS-кодировке, который не проигрывается в AURQ, см. в приложенном файле.
Неактивен
Для версии AURQ 008.2 всегда запускается только файл с названием tetris.qst. Конечно, можно переименовывать квест, но как-то задалбывает;).
Неактивен
APROMIX написал:
А нельзя ли запихнуть все в, например, urq.dll? Тогда желающие могли бы делать свои версии urq, но сама совместимость оставалась, так как все берется из одной dll, а то несовместимостей в разных версиях полно. Также легко можно было бы обновлять программы: заменил dll на версию поновей и все изменения работают. А исходник самой dll сделать открытым и разрабатывать сообществом. Например, на том же sourceforge.net?
Категоричность ответа Nex'а не вполне обоснована.
По этому поводу лучше писать вот здесь: http://urq.borda.ru/?1-0-20-00000285-000-0-0.
На урочном форуме оно продуктивнее будет.
Отредактировано uux (02.10.2009 05:47)
Неактивен
"Гарантировано запустятся на любой урке" - это перебор. Слишком много людей делали либо пытались делать URQ-интерпретаторы - с собственными подходами, глюками и т. п. Учесть все - практически невозможно.
Скажем так - де-факто стандартом на данный момент является URQ_DOS, описание которого можно найти здесь: http://urq.plut.info/texts.
Негласно хорошим тоном считается, чтобы новые интерпретаторы были с ним совместимы.
Фурка этот базовый функционал поддерживает. Новые ее фичи кратко описаны в файле, идущем в составе дистрибутива.
АкУрка 1.28 теоретически тоже должна поддерживать. На деле, к сожалению, не обошлось без глюков. Из наиболее распространенных на данный момент версий pre 1 и pre 6 первая считается более отлаженной.
Отредактировано uux (07.10.2009 05:45)
Неактивен
noname написал:
"Гарантировано запустятся на любой урке"
таким квестом является, например Дом, который построил URQ, или операция "С Новым Годом!!!". под Новый Год несколько авторов независимо друг от друга написали по кусочку игры. с требованиями к этим кусочкам можно ознакомиться здесь: Операция Новый Год
noname, ну на любой урке она НЕ запустится;). У меня даже на Акурке 1.28 pre 1 были глюки (я не помню, где именно, но были). Во второй Акурке (Квотерой) как минимум недоработана реализация инвентаря, кажется. Про AURQ (интерпретатор, описанный в этой ветке) сразу могу сказать, что по крайней мере pln в куске Этена совершенно точно пришлось бы разбивать на отрезки по 255 символов... А ты тестировал игру на URQ 1.4? На SURQ? На MURQ? На Оверурке?..
В общем, даже "Самый Наглый Квест" не запустится на любой урке - под AURQ придется переделывать;).
Неактивен
Евг написал:
Ну неплохо, только я бы советовал все эти [[E-mail]] посадить на переменные #%email$ и объявлять вначале игры instr email="_kril_@mail.ru"
Евг имел в виду instr email="_kril_ шавка bk.ru"
Отредактировано uux (13.11.2009 16:31)
Неактивен
Евг написал:
Хм. Так вот почему ни одну мою игру не приняли на крил....
Два вопроса.
1) И сколько ты их послал?
2) И сколько ты их послал на КРИЛ-09?
Неактивен