Лично я продолжаю разработки в области URQ и URQ_DOS (например, сделал свой Windows-интерфейс для URQ_DOS - с нормальными окнами, поддающимися масштабированию и настройке), но нужны ли они кому-либо еще ?
Чтобы там ни говорили противники этой платформы, но несколько хороших квестов под URQ уже создано и кроме того на мой взгляд она может быть очень полезной для начинающих авторов в качестве стартовой точки. Если проводить аналогию с языками программирования, то все ведь когда-то начинали с Бейсика и существование гораздо более мощных языков и по сей день не вытеснило его из своей ниши.
В общем, все-таки хотелось бы узнать мнение постоянных обитателей о целесообразности выпуска новых версий.
Ты уже сам ответил на свой вопрос. Если люди пользуются твоей программой, то почему не выпускать новые версии?
Неактивен
Вещь представляет ценность, когда она востребована. Если под URQ людьми создаются игры, значит она нужна. Развитие этой платформы может привести к повышению качества написанных с ее помощью игр.
P.S. К тому же до появления платформы, позволяющей создавать что-либо с текстовым вводом команд, еще, видимо, далеко.
Неактивен
А у меня где-то недоделанный URQ-Online валяется
На перле писал. Нужно будет дописать как-нибудь...
Неактивен
Сейчас URQ-и (хоть под ДОС хоть нет) - единственная русская система в которой люди более-менее стаютльно пишут что-то хоть отдаленно напоминающее адвентюры. Так что скорее всего - да, новые версии было бы неплохо... А вообще сделали бы текстовый ввод, если уж по-хорошему.
Неактивен
Согласен со всеми уже ответившими Подозрительно только, что никто пока не высказался против продолжения разработок - вроде бы получается, что все понимают "временный" характер URQ, но реальных контраргументов не выдвигают
Ну и если хотите знать мое мнение, то вообще на самом деле не важно, на чем пишется текстовая игра. В текстовой игре самое главное - это диалоги, сюжет и описание локаций. Если все это есть и на должном уровне, то пиши хоть на бумаге - все равно получится здорово (взять хотя бы книги Браславского).
Ну а по поводу URQ(_DOS) - разработки я, конечно, продолжаю, только вот не знаю - стоит ли заводить отдельную ветку "Что нового должно появиться в URQ ?".
Я тебе могу сказать ,что надо!Надо программу для создавния квестов!
Неактивен
Да, мы с РипОсом уже несколько раз обсуждали этот вопрос. Сделать среду разработчика - это немного сложней, чем сделать сам движок, но в принципе - реально ...
А что еще ?
Еще нужно:
масштабируемые окна (уже упоминалось)
HTML (почему бы и нет???)
Неактивен
2WildWizard:
масштабируемые окна - уже есть (см. выше)
HTML - в смысле что ? В смысле чтобы .qst файл можно было на HTML'е писать ? Идея, конечно, неплохая, только вот это ж свой off-line броузер делать надо ! Хотя, с другой стороны, почему бы не сделать свой off-line броузер ? В любом случае есть еще один гораздо более простой вариант - чтобы .qst файлы можно было писать в формате rtf. Технически реализуется довольно просто, средств оформления - достаточно. Конечно, для создания rtf-файлов нужен Word, но он, по-моему, и так почти на каждой машине стоит ...
HTML в смысле языка для разметки выводимого на экран текста. Чтобы всякие шрифты/форматирование, картинки и звуки можно было вставлять. Удобно.
Неактивен
Ну так я ж и говорю. При обработке команд движок их форматирование игнорирует, а при выводе текста - пожалуйста - используй все богатство HTML. Таким образом, qst-файл можно было бы готовить прямо в HTML-редакторе. Удобно, конечно, но реализовать все-таки сложно. Но если учесть, что такие умения могут пригодиться практически любой платформе, то можно сделать специальную библиотеку функций ... только не сегодня, ладно ?
Мне уходить через 10 минут. А играть в urq-квесты прямо в броузере - это все-таки что-то не то ...
Для Hydra я изначально делаю поддержку HTML. Скорее всего с помощью wxPython.
Ну а ты можешь посмотреть, например, wxWindows - заодно и многоплатформенная версия URQ получится...
Неактивен
Для URQ неплохо бы сделать графическое оформление типа как скины для winampa, а то эти серые кнопочки и стадартное виндозное окно мешают погрузится в игру.
Неактивен
Сегодня вышла очередная бета URQ_DOS: 1.22bf beta 4. Подробности, как обычно, по адресу http://vkoranov.newmail.ru.
Неактивен
Не знаю, что творится с форумом, но последняя версия urq_dos.exe здесь:
http://urq.ru/urq_dos/urq_dos-301104.rar от 30.11.2004 года
Неактивен
Недавно попался под руку неплохой urq-квест... под настроение решил сделать свою версию URQ-интерпретатора.
Поиски исходников привели к интерпретатору RipOS, но используемый алгоритм парсинга не понравился... я взял за основу стандартный последовательный парсер что привело к некоторым ограничениям языка URQL: имена переменных не должны содержать служебных символов и команд языка.
Интерпретатор имеет большой потенциал в дополнени и расширении, включены практически все стандартные команды, находится на стадии тестирования, выполнен в Turbo Pascal 7.1 и легко может быть перенесен на другой язык.
Кого-нить заинтересовал проект, остались ли поклонники 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). Хороший стабильный интерпретатор с графическими возможностями - вопрос актуальный, но и в этом направлении разработки уже активно ведутся (обсуждение разработок см. здесь, вот тут можно скачать их текущий результат).
Неактивен
uux - спасибо за советы!
думаю интерпретатор составит конкуренцию имеющимся.
Способ отображение текста и меню - это подпрограмма берущая данные из подготовленных массивов текста и меток перехода. я сторонник текстового. Однако здесь оч. легко перестраивать под любой формат вывода: текстовый, графический, гипертекстовый.
___
Текущее состояние проекта: 700 строк кода, 18 кб компилированная версия,
+ - * / \ = <> > < <= >= & , # $ ; : <newln> <eof> - используемые команды и символы,
and. or. not. then. p. pln. btn. if. goto. proc. end. pause. inv. input. instr. cls. invkill. perkill. save. common. rnd - поддерживаемые операторы и команды,
music. play. - поддерживает но не обрабатывает.
работа с инвентарем - пока не реализована
___
p.s.: квестами интересуюсь недавно, в свободное от работы время, писать их врятли буду из-за отсутствия фантазии.
Буду рад помощи в тестировании. когда отлажу - предоставлю исходники, т.к. делаю только из интереса для общего дела.
Неактивен
Lol
Неактивен
Лично мне, abcdef, будет очень интересно изучить вой исходник на Паскале. Но по рекомендую тебе в дальнейшем компилировать не на Turbo Pascal 7.1, а на Virual Pascal последней версии (сборки), т.к. после его компиляции ты сможешь запусать свой интерпритатор не только в ДОС, но и в Винде.
Лично от себя добавлю, ни в одном из интерпритаторов URQ нет вывода ошибки, т.е. когда она появляется, я не могу понять что именно это за ошибка. И ладно, если это будет всего лишь неправильно написанная команда. А то может быть ошибка и сложнее!
Ну и к слову, я свой квест начинал на RipOS 1.4 и был вынужден перейти на AkURQ из-за команды xbtn и прочих новшеств, что не только облегчило его создание, но и сделало это реальным в сроки сдачи на конкурс.
Неактивен
Eten - делаю под dos на "обычном" паскале именно для того чтобы запускалось и в dos и в windows, можно добавить ~100 строк кода эмуляции функций crt.keypressed, crt.readkey, crt.textattr, crt.delay и будет компилиться в delphi, также есть pascal для телефонов ((.www).
Обработка ошибок уже сделана: сообщение_об_ошибке, строка, позиция в файле; кроме того вызывается функция save, которая аналогична команде языка (сохраняет имя квеста,текущий_common,вложенность_вызовов_подпрограмм,таблицу_переменных). формат текстовый, поэтому можно смотреть и анализировать что было во время ошибки и вернуться в это состояние при следующем запуске.
Возможно будет желание и сделаю фунукцию "проверка синтаксиса" ошибки синтаксиса выявятся сразу, когда файл квеста линейно прогоняется через интерпретатор, т.е. блокируется переход по меткам, вызовы подпрограмм, и вызовы меню.
____
(локальные переменные если есть то типы: integer,string,real) а вот список глобальных переменных и структур:
const max = 760; var f,fs : text; lstr : array[0..1024] of integer; {вложенность по номерам строк} name : array[0..max] of string[63];{таблица переменных и инвентаря...} numb : array[0..max] of real; {...и счетчик меток} buf : array[0..4096] of char; {буфер текста} menu : array[0..25] of string[63]; {список комманд} lab : array[0..25] of string[63]; {метки перехода по команде} fname : string; {имя текущего квеста} curlab : string; {имя текущая основной метки} common : string; {имя текущей локации} ts,tt : string; {имя идентификатора, текст} pbuf : integer; {позиция в буфере} plab : integer; {позиция списка команд} pstr,ppos: integer; {текущая строка и позиция в файле} pl : integer; {номер вложенности считывания} toks : integer; {текущий элемент} num,ex : real; {считанный номер} c : char; {текущий символ из файла}
____
Исходя из размера сегмента памяти и длины строки в Turbo Pascal ограничения: длина пользовательских имен (метки,переменные,инвентарь, а также переменных языка типа строка) не больше 63 символов. Строки print, println не более 255 символов (остальное обрезается). И файл при переходе на метку приходится перечитывать заново. Если реализовывать в delphi - то все эти ограничения можно обойти. Но пробую сделать минимально требовательную к ресурсам и простую URQ.
___
недели 2-3 знаком с URQ, но хоть убей, не знаю: зачем нужно было делать тип переменных не целочисленными?
p.s. сможет ли кто-нить помочь с особенностями языка, синтаксиса (если таковые имеются)? а то запускать квесты или искать крупицы информации в инете времени не хватает...
Неактивен
abcdef написал:
___
недели 2-3 знаком с URQ, но хоть убей, не знаю: зачем нужно было делать тип переменных не целочисленными?
p.s. сможет ли кто-нить помочь с особенностями языка, синтаксиса (если таковые имеются)? а то запускать квесты или искать крупицы информации в инете времени не хватает...
abcdef, см. ссылку на форум URQ выше в этой теме. Если Вам помогут, то именно там. Документация по ним по идее на сайте должна лежать, но сейчас проверил - видимо, вследствие переезда на новый хостинг ссылки пропали или побились. В любом случае, на форуме URQ Вам помогут. В принципе, у меня описание URQL'я лежит где-то на компе, но мне сначала надо у автора разрешение на выкладывание/рассылку спросить, а это может произойти не ранее, чем завтра.
Неактивен
Одно добавлю, проверку синтаксиса сделай обязательно, можно даже галочку или в настройках ini сделать такой флаг, который будет, как включать проверку и оповещение ошибок во время исполнения и синтаксиса, так и выключать его. Делать такую проверку не сложнее, чем написать эту платформу.
Неактивен
С разрешения автора выкладываю наиболее полное на сегодняшний день описание языка URQL (версия для URQ_DOS).
Неактивен
Спасибо Korwin'у и uux'у за предоставленную информацию! (написано интересно - прочитаю)
Добавил на код "нашлепок" - и превратился в сканер синтакиса, режимы работы:
непосредственная работа/проверка синтаксиса/проверка синтаксиса и наличие меток переходов (режимы работы настраиваются двумя булевскими переменными). сейчас включен последний режим, показывает возможности текущей версии по разбору команд. (без сканирования меток работает на порядок быстрее, и еще, текущая версия не знает оператор ELSE) также не позволяет создавать "goto #%стр$" и прочие безобразия в вычислениях, непомню как выглядело, что-то типа: "x+#abc$" - причем подобные записи были не в строках.
___ комментируйте строки ";" если хотите чтобы их пропускал парсер.
p.s.: для переходов на строковую метку пользователя я лучше сделаю внутреннюю переменную и команду, которая считывает оттуда и преобразовывает строку в пользовательское_имя_метки (просто это концепция парсера - отделить строки от пользовательских имен)
___
если выявилась ошибка, то ее нужно искать назад по строке от обозначенного места, т.к. сканер говорит о ней, когда становится однозначно ясно.
иногда ошибку нужно смотреть на предыдущей строке, во время сканирования текста не выводится ни каких сообщений, текст необходимо переконвертировать а dos-кодировку (можно сделать стандартным виндовым WordPad, предварительно сменив расширение файла на ".txt")
___
ни один из нескольких сканированных не был полностью правильным, то метки не хватало, то команды пропущены...
Отредактировано abcdef (21.07.2009 09:40)
Неактивен
uux написал:
Поклонники URQ-среды в (условно) массовых количествах живут здесь: http://urq.borda.ru. А на сайте http://urq.plut.info/soft есть возможность посмотреть (почти все) последние достижения urq-интерпретаторостроения).
вроде бы ясно написано
ни один из нескольких сканированных не был полностью правильным, то метки не хватало, то команды пропущены...
чего сканируем? непонятно
Неактивен
Представляю тестовую версию программы URQ-интерпретатора с исходным кодом на языке Pascal.
Оформление отображения текста пока не проводилось, основная задача - проектирование парсера для стандартизации и единообразия представления алгоритма разбор команд языка URQL.
Практически все, если не все, программы URQL построены по принципу вычленения подстрок, когда считанная строка делится по позиции вхождения какого-либо слова, а эти половинки обрабатываются по отдельности...
Здесь-же предлагаю алгоритм, работающий по принципиально-другому способу - разбору как у стандартных языков программирования.
что реализовано в данной (0.0.1) версии:
поддержка всех арифметических и логических операций, операторы:
if ... then ... [else не поддерживается]
p, pln, btn - строки текста с подстановками #выражение$ #%текстовая_переменная$ ##выражение$
instr - единственный способ создания текстовых переменных (длины хранимой строки пока ограничена 63 символами) с подстановками #выражение$ #%текстовая_переменная$ ##выражение$
goto, proc, common, inv, rnd, cls, input, invkill, perkill, save, pause, end.
Характеристики:
* работа с файлами неограниченной длины
* при переходе по метке файл перечитывается заново
* таблица переменных (переменные/инвентарь/метоки/строки) длиной 750 элементов. (строковые типы занимают по два элемента).
* история возврата из подпрограмм на 1025 позиций.
* анализатор ошибки отображает: необходимый оператор для данной конструкции, указание строки, позиции в строке где обнаружена.
* запуск с командной строки (help - выводится при запуске без параметров)
* пока интерпретатором обрабатываются файлы только в dos-кодировке (ASCII).
Режимы работы:
0 - запуск квеста
1 - запуск из сохранения (не тестировался)
2 - сканирование квеста на наличие ошибок
3 - сканирование квеста на наличие ошибок и проверка наличия всех переходов по меткам (долго обрабатывает...)
Отредактировано abcdef (21.07.2009 09:41)
Неактивен
прочитал документацию Korwin'а - для полноценной версии нужно:
* добавить операции сравнения строковых переменных и др. (надо подумать как лучше сделать это).
* автоподстановку имени меток, переменных/инвентаря (лучший вариант сделать спец. переменную которая принимает строку, а обращение к ней возвращает одно_имя или один_оператор языка URQL).
* простой способ внедрения оператора ELSE в том, чтобы разместить его после IF... THEN на следующей строке,
например:
if i<max then pln Обработка...
else pln Конец обработки...
____
в примерах показано так:
if Дубина then btn шмяк,Ударить зеленого гоблина дубиной по башке! else btn драп,Драпать!
так что получается что кроме символов: # & <crlf> в строках нельзя использовать слово <ELSE>?
интересны также часто встречающиеся конструкции вида: if i<max then goto loop1 else pln Конец цикла
в которых можно вообще обойтись без ELSE, т.е. примерно так:
if i<max then goto loop1
pln Конец цикла
_____
осталось несколько вопросов:
в доке: - Выражение #переменная_x$ заменяется на значение числовой переменной 'переменная_x'
вопрос: - понятно если это встраивается в строку, но если это просто оператор по тексту программы, кто мешает просто писать ...переменная_x... без #...$?
__
в доке: - Возможно вложение, то есть такая строка считается допустимой: #var#x$$
вопрос: - а нужно ли вложение? т.к. это аналогично операции вида: #var$#x$
_Заранее спасибо!
_____
p.s.: у кого какие предложения/пожелания для усовершенствования предложенного AURQ?
Неактивен
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?
Ну, я уже говорил об этом раньше (в самом первом своем посте в этой ветке), повторяться не хочется;).
Неактивен
Единые правила работы интерпретатора:
<зарезервированные символы> - : ; > < = + - * ( ) / \ , # $ & #13#10 #27
<зарезервированные слова> - and or not if then else p pln btn goto proc end inv rnd instr cls input pause music play save common anykey invkill perkill system
<пользовательское имя> - имя состоящее из любых символов, кроме служебных; символы с кодом меньше или равном 32 вырезаются (знаки табуляции, пробелы). Также в имя не могут входить <зарезервированные слова>
<строка текста> - символы до знака "&" или конца строки, где обрабатывается вставки после наличие символа "#", причем этот символ требует завершения символом "$":
#$ - подстановка пробела
#/$ - подстановка перехода на новую строку
##<арифметическо-логическое выражение>$ - где <арифметическо-логическое выражение> = подстановка кода печатаемого символа
#<арифметическо-логическое выражение>$ - где <арифметическо-логическое выражение> = подстановка вычисленного числа
#%<пользователское имя>$ - где <пользователское имя> = подстановка строки из строковой переменной <пользовательское имя>
Опрерация подстановки system. Заменяется содержимым строки sys, например (var=_abc1):
instr sys=lab#%var$
goto system
представляется в:
goto lab_abc1
Оператор выбора записыается следующим видом:
if <условие> then <действие>&<действие>&...
else <действие>&<действие>&...
Количество пореходов на метку можно получить только так: count_<пользовательское имя>
Инвентарь по кнопке "i" - в меню текущей локации добавляются действия с инвентарем. При выборе действия с инвентарем они ставяться в очередь и выполняются при переходе в следующую локацию.
____
p.s.: исправил некоторые ошибки в текущей версии, в ближайщем будущем добавлю сравнение строк по маске и т.д.
о некоторых возможностях интерпретатора сознательно буду умалчивать, чтобы не прививать плохих привычек программирования
Отредактировано abcdef (21.07.2009 09:42)
Неактивен
А чем мотивировалась разработка под DOS?
Вряд ли в наш век найдется хотя бы один пользователь сидящий под чистым досом
Неактивен
прошу прощения, черт дернул компилить перед копированием на сайт с опцией с тотальной проверкой выполнения программы - в итоге вылетало при переполнении переменной счетчика...
___
Добавил поддержку как Dos так и Windows кодировок, теперь запуск производиться из командной строки так:
AURQ <тип_запуска> <тип_кодовой_страницы> <имя_файла_квеста>
тип_запуска:
0 - запуск квеста
1 - запуск из сохранения (файл SAVE.TXT)
2 - сканирование квеста на наличие ошибок
3 - сканирование квеста на наличие ошибок и проверка наличия всех переходов по меткам (долго обрабатывает...)
тип_кодовой_страницы:
w или d
имя_файла_квеста:
как и все Dos-имена - не более 8 символов в названии, и без пробелов
Например: aurq 0 w first.qst
Например: aurq 1 d first.qst
_______
Несколько слов о квесте RIGA.QST - интерпретатор пока требует чтоб в каждом квесте была локация common, хоть и пустая, например:
:common
end
Примечание для ускорения работы, желательно часто вызываемые локации, например common размещать как можно ближе к началу файла.
В строках текста два служебных символа: это "&" и "#" первый - признак завершения строки, второй - признак начала подстановки и должен заканчиваться символом "$". Эти два символа можно заменить кодами #38$ и #35$
_______
По Dos делаю потому что несколько ограниченная среда и меньше соблазнов к неоптимальному стилю программирования, что вцелом благоприятно влияет на разработку. Потом можно будет немножко подкорректировать (2-3 часа) и будет готова мобильная версия на MidletPascal.
Отредактировано abcdef (21.07.2009 09:44)
Неактивен
исправлено:
- команда anykey
- зарержка команды pause
- уменьшено мерцание курсора
- генерация ошибки, если невозможно перейти на метку (ранее просто зависал)
- сообщение о завершении квеста, в локации которой нет кнопок
Отредактировано abcdef (21.07.2009 09:45)
Неактивен
1 написал игру Aurq-tetris (в архиве с программой)
2 исправил пару ошибок
3 добавил более корректную обработку переполнение экрана
4 подкорректировал алгоритм задержки
5 добавил работу с цветом, за это отвечают три переменных:
style_textcolor
style_buttoncolor
style_cursorcolor
они определяют цвет текста и заднего фона и находятся в диапазоне 0...255, где
младшие 4 бита цвет текста, старшие 4 бита - цвет фона,
например: фон=2; текст=14 будет так: style_textcolor=2*16+14
Отредактировано abcdef (21.07.2009 09:46)
Неактивен
добавлена поддержка шифрованных квестов формата QS1 (также сделал конвертер отдельной программкой для удобства отладки)
доработал разбор, теперь строки с названиями меток могут содержать комментарии.
при сканировании на синтаксис добавлены два вида предупреждений:
"TOO LARGE BLOCK" - текст локации может не поместиться в один экран
"TOO LARGE TEXT" - текстовая строка содержит более 253 символов
обнаружена ошибка проверки (при выполнении все нормально) - не обрабатываются выражения со стоящим вначале знаком минус или плюс "-" "+", например: a=-2 необходимо написать a=0-2
___
Некоторые замечания по нахождению мест распознанных сканированием:
1. Метки btn сканируются в конце локации, поэтому если будет сообщение вида: "Error: label <30> not found (STR:775,POS:0,TOKEN:end)" где "TOKEN:end" то это говорит что мы в конце локации, а команда с ошибочной меткой "30" находится где-то выше по тексту.
2. "warning: STR 22, TOO LARGE TEXT" - вполне вожможно что это была предыдущая строка, потому как строка заканчивается переходом на новую строку, а после этого определяется что она слишком длинная.
___
Замечания при генерации переходов: если программа сканирования выдает ошибку на переходе типа goto system, то это значит что в текущий момент сканирования в system находиться мусор чтоб обойти это на этапе отладки можно сделать так:
:1
;предыдущая локация
end
instr sys=2 ;этот код ни когда не будет выполняться в реально работающей программе, сюда поместим заполнение system какой-нить меткой
:2
btn system,назад
end
___
проверен разбор нескольких квестов с http://ripsoft.narod.ru/Download.htm
Гарри Гаррисон
Похождения отважного хомяка Семена: Побег
Похождения отважного хомяка Семена-2: КРУТОЙ СПУСК
Древний кинжал 1
НАДЕЖДА НА ЖИЗНЬ
Без права на надежду
Замечания по поводу сканированных квестов:
1. В квесте Гарри Гаррисон автор перевода на URQ намеренно испортил код квеста повсюду на метках отсутствуют либо ":" вначале метки, либо цифра три исправлена на русскую букву "з".
2. Без права на надежду - много ошибок, такое впечатление будто автор также хотел запутать игрока, порой создается впечатление "как это может вообще работать..."
___
Для пользователей: включены все проверки. версия - отладочная.
Отредактировано abcdef (21.07.2009 09:57)
Неактивен
Нужны, и очень, но не клоны, и чтоб возможностей было больше, а глюков меньше.
Неактивен
Добавлены функции работы со строками:
;получить длина строки/// число = strlen строка&
;сравнить две строки/// число = strcmp строка&строка&
;получить код символа из строки/// число = strchar числовая_позиция,строка&
;скопировать подстроку/// строка = strcopy начальная_позиция, длина_подстроки,строка&
;получить позицию вхождения подстроки в строку///число = strpos подстрока&строка&
;установить символ в строку/// строка = strset позиция, код_символа,строка&
Примечание:
из версии aurq005 ошибок не выявлено, код немного переработан
версия тестовая. просьба сообщать о найденных багах
для работы используйте только последнюю версию программы, если встретилась ошибка проверьте ее на предыдущей версии.
Отредактировано abcdef (21.07.2009 09:47)
Неактивен
собрал windows-версию aurq007.
__
добавлена поддержка музыки, снято ограничение на длину строковых переменных, таблица переменных увеличина в 20 раз т.е. 750*20.
__
внесена ошибка в версию aurq006: нельзя использовать числа в именах переменных, исправлено в текущей версии.
__
подготовил простой тестовый набор для URQL (без использования #...$ в произвольном месте) смотрите как работает в других URQ.:
pln COMPLEX URQ - TEST by arT (c) pln&pln -----------&pln 1. PRINT demo&pause 1 pln !" $% '()*+,-./0123456789:;<=>?@ pln ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` pln abcdefghijklmnopqrstuvwxyz{|}~Ђ pln Ѓ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—™љ›њќћџ pln ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїА pln БВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯа pln бвгдежзийклмнопрстуфхцчшщъыьэЃљ pln&pln -----------&pln 2. PRINT (char/var/str) demo&pause 1 n=70 instr s=!" $% '()*+,-./0123456789:;<=>?@ p ##48$ , #n$ , #%s$ pln #/$#$#$#n-10$ pln&pln -----------&pln 3. PRINT (char-generator) demo&pause 1 n=0 :l 1 ;) hi all! p ##n$&n=n+1&if n<255 then goto l 1 pln&pln -----------&pln 4. VARIABLE demo&pause 1 normaL VariablE = 5 !"%'.0123456789?@[]^_`{|}~=50 ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—™љ›њќћџ ЎўЈ¤Ґ¦=40 §Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕї=30 pln #normal variable$ , #!"%'.0123456789?@[]^_`{|}~ * 2$ pln&pln -----------&pln 5. EXPRESSION demo&pause 1 n=2+2*2 n2=(2+2)*2 pln 2+2*2=#n$; (2+2)*2=#n2$& ;comment...... bool=n<n2 pln #bool$ = #n<n2$ bool2=30/9>3 and 1 bool3 = not 30/9>3 and 1 p #bool2$ <> #bool3$ if bool2 then pln ok ;) else pln no :( pln&pln -----------&pln 6. PROC demo&pause 1 goto next :proc_label n=n+1 i=i-1 p . if i>0 then proc proc_label end :next n=0 i=10 proc proc_label pln #/$ 10=#n$ ? pln&pln -----------&pln 7. ANYKEY demo&pause 1 pln press a key: anykey key pln = [#key$] key code pln&pln -----------&pln 8. INPUT demo&pause 1 input n&pln your number=#n$ pln&pln -----------&pln 9. MUSIC demo&pause 1 music=1+1 play m1 pln&pln -----------&pln 10. INV demo (press "i")&pause 1 :0 pln label test count_common=#count_common$ inv+ ttt btn 0,0 end :common end :use_ttt_look pln ttt end
Неактивен
AURQ008 (для dos и windows).
1. подкорректирован алгоритм
2. добавлена возможность установки метки в произвольное место, текст метки заканичивается при достижении символов ";" "&" либо конца строки.
кстати напомню что команды "proc" "end" "save" допускается ставить либо единственными на строке, либо в самом конце многокомандной строки.
_______________
привожу пример c произвольным расположением меток
Matrixx-screen:
goto init&:begin&p #/$ #$&i=0&:1&j=0-1&styletextcolor=2&:2&j=j+1&if j>=5 then goto 3 instr sys=x#j$ if (system>=i+1) or (system<i) then goto 2 styletextcolor=10&instr sys=y#j$&system=system+1 if system<=2 then styletextcolor=15 if system>9 then system=1&instr sys=x#j$&system=rnd*10 :3&p #rnd*10$&i=i+1 if i<10 then goto 1 pause 1&goto begin ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :init&styletextcolor=2*16+10&pln << M A T R I X D E M O by arT (c) e-mail: ironWoodcutter@bk.ru>> styletextcolor=2&i=0&:4&instr sys=y#i$&system=8&instr sys=x#i$&system=1&i=i+1 if i<5 then goto 4 goto begin
Отредактировано abcdef (21.07.2009 10:03)
Неактивен
подробное описание, полные исходники и доработаная версия aurq_win0082
_____
в архиве квест "хроники капитана Блуда, тайна левой ягодицы".
замечания: реализация квеста интересная, но примерно треть локаций не существует, добавляйте сами при прохождении переадревацию в пустую локацию. например:
:give__ :use__ :give_экипаж_блуд :give_gazettedestribunaux_блуд :give_gazettedestribunaux_герда :give_деньги_блуд :give_блокнот_блуд :use_gazettedestribunaux_ :use_gazettedestribunaux_столик :use_деньги_деньги :use_деньги_столик :use_деньги_блокнот :use_блокнот_блокнот :give_столик_блуд :читать_газету :common end
Неактивен
версия aurq0089. описание. белее сотни проверенных и адаптированных квестов в архиве
+Мутанта-3 40000_demo 9_gum A.L about agentD aif Alice's+Adventures+in+Urqland Ancient_dagger_1 Ancient_dagger_2 ARROW Ayk bigsch black_mage BO3POBURN Bodun Brain1 Brain11 buratino CD-пират2-Beginning colors comictravel comictravel2 ConspiracyLifeForNothing Corleone creat Demo DODS DOOMуровень1 DOOMуровень2 ElfQuest ella Escape1_02 EVGENY Evgeny2 fall5 GarpiasFly GEROJ ghost1 grey_mage hacker HackerSim hamster1 hamster2 hippi Hope internet ITF kolobok labirint1 lift-4 Matrix matrix2 mdemo Memory Memory2 mines mystery nash Nightmare p Parish1313 Petrov petrovicch Pikachu poiske Pop qwerty-bench riga Sam Semion StarngerVer11 strtest sword t test tetris TheMagicRill100 the_room TURNIR unreal URQ-2009 VinnyPuh VirusDos VVMB WH Wolf yo Zachetka Вампиры1 Выползание_некроманта Гладиаторы Демоны_темной_стороны Детектив_Memory КвестПроПетю Константин Крюгер Месть Молчание_хрящей Мутация+Мутанта Рагнарек Тень Царство_смерти Черная_пятница Яша
Неактивен
uux - "0 w tetris" значение по умолчанию, если в коммандной строке нет, или не правильно указаны параметры.
запуск производить так:
aurq_win 0 w myquest.qst
aurq_win 1 d myquest.qst
aurq_win 2 w myquest.qst
aurq_win 3 w myquest.qst
aurq_win 4 w myquest.qst
имя квеста без пробелов, а для dos-версии не более 8 символов в имени.
(в предыдущем архиве имеется bat-файл для проверки всех квестов в текущем каталоге с программой aurq_win)
Отредактировано abcdef (02.07.2009 10:56)
Неактивен
aurq - дополнение:
подпрограмма ввода строк в строковую переменную "SYS" (примечание: input - ввод только чисел)
:inp p input str:&instr sys=& ;пустая строка :_inp1_ ;метка повтора anykey k&length_=strlen #%sys$& ;k = код нажатой клавиши, length_ = длина строки if k=8 and length_=0 then goto _inp1_ ;backSpace и пустая строка - не обрабатывать if k=8 then instr sys=#%strcopy 1,length_-1,#%sys$&$&p #/$#%sys$&goto _inp1_ ;удалить последний символ if k=13 or k=27 then pln&end ;Enter или Esc - выход из ввода if k<32 or k>240 then goto _inp1_ ;не вводить непечатаемые символы instr sys=#%sys$##k$&p ##k$&goto _inp1_ ;добавить символ в строку и отобразить на экране end
пример использования:
proc inp
instr name=#%sys$&
if strpos abcdef&#%name$& then pln Здравствуй хозяин!&
else pln Здравствуй гость!&
Отредактировано abcdef (03.07.2009 12:30)
Неактивен
aurq009
1. оператор "input <переменная>" ввод строковых переменных если таковые существуют, иначе ввод числовых переменных.
2. работа с инвентарем кнопки: "i" - показать кол-ва инвентаря, "u" - добавить в текущее меню пункты на использование инвентаря
3. выполнение действий с инвентарем в меню (запускается экземпляр парсера и вызывается подпрограмма инвентаря, пока вложенность переходов не вернется на уровень котором происходил вызов)
4. При отображении сообщений появилась отметка о разделе где обнаружена ошибка.
5. Добавилось два вида предупреждений: оператор "else" не с начала строки, оператор "proc" - не в конце строки. (aurq корректно обрабатывает квесты только если исправить эти предупреждения)
6. Тип только для чтения "счетчик метки" изменен в обычный числовой тип, теперь к счетчику можно получить доступ как с приставкой "count_", так и без нее.
7. Подкорректирован алгоритм вывода локации. Исправлены прочие ошибки.
Документация к версии не прилагается.
8. квесты корректированные программой:
Ожившее дерево
Красная шапочка
Дверь в лето
как заработать триста тысяч евро (demo)
и др
___
примеры алгоритмов AURQ:
эмуляция структуры tokens
;instr tokens_delim=char& ;instr tokens=10ghg& instr tokens_delim=,& instr tokens=1aurq,2d,3xc,4sdfsfsd,5xcvxc,6sdfsdfsd,bond-007,8,9,0& proc toks pln #tokens_num$ = _#%token1$_#%token2$_#%token3$_#%token7$_ end :common end :toks tokens_num=1&b=strpos char&#%tokens_delim$&=0&len=strlen #%tokens$& :loop i=2 if b then i=strpos #%tokens_delim$&#%tokens$&&if i=0 then i=len+1 instr sys=token#tokens_num$&instr system=#%strcopy 1,i-1,#%tokens$&$ if b=0 then i=1 len=len-i&if len>0 then instr tokens=#%strcopy i+1,len,#%tokens$&$&tokens_num=tokens_num+1&goto loop end
Неактивен
abcdef написал:
6. Тип только для чтения "счетчик метки" изменен в обычный числовой тип, теперь к счетчику можно получить доступ как с приставкой "count_", так и без нее.
Ты читал ответ Вика по поводу меток на форуме урки? Или чужое мнение тебе просто безразлично?
abcdef написал:
8. квесты корректированные программой:
...
как заработать триста тысяч евро (demo)
Хм, "корректированные" - это как? Кстати, даже после корректировки (не знаю, что конкретно там делает аурка) игра работает не совсем нормально.
зы Игра называется "Где достать ..." О_о
Отредактировано Xlomid[оманад] (07.07.2009 17:33)
Неактивен
Xlomid - прошу прощения за неправильное название, вчера пришлось все делать в спешке, открыл квест (обычно в начале пишется название, помню что "300 тыс. евро"), первое что нашлось "300 тыс... заработать..."
Прикол: Догадываюсь почему работает не совсем корректно - проверить и отладить интерпретатор на всех имеющихся квестах успел, а вот переключить с режима версии dos 16 bit - нет, поэтому таблица имен 750 мест, размер строковых переменных 63 символа...
кстати немножко об обработке квестов:
___
если где-то попадается недопустимое имя, то дабы уберечь нервы от правки во всех местах (кроме того в некоторых ситуациях такие имена не выявляются), я пользуюсь функцией текстового редактора "заменить всё", где вместо недопустимых символов, я например ставлю знак "_".
Пример: "inv+ саша-маша+даша" - здесь ошибка,
а в этом случае ошибки выдавать не будет "if inv_саша-маша+даша>3 then ..." т.к. запись корректна и состоит из 3-х переменных.
___
aurq ни когда не вырезает пробелы из строк простого текста, но если в квесте есть ни как не обозначенные пробелы в конце строк, то они удаляются функцией используемого редактора "удалить пробелы в конце строк".
Обозначать конец строк в aurq только через символ "&", т.к. иногда применяемый символ ";" входит в допустимый набор символов, если нужно поставить комментарий после строки делать так: pln строка текста& ;а это комментарий.
___
если имеется однотипная строка или конструкция выражения которую нужно переделать, также используется "заменить всё", например получение целого случайного числа "rnd2", "rnd3", "rnd4" и т.д. - в aurq нет такой конструкции, поэтому рассмотрим проблему:
1. сгенерировать обычным "rnd" числа в другом диапазоне (отличном от 0...0.999)
2. получить целое число из дробного
решение:
1. изменить диапазон можно умножением, если x10, то будет 0...9.99; если x100 то 0...99.9; если x1000 то 0...999
1a - random функции стандартных языков генерируют случайное число от 0 до границы,
например random(5) = 0...4, если нужно сместить и сделать в диапазоне 1...5, то делают так random(5)+1 тогда диапазон будет 1...5
2. в aurq есть операция (не путать с обычным делением "/") взятие остатка от деления "\" - эта операция возвращает целочисленный результат, поэтому пропустив выражение через нее мы получаем без дробной части.
готовая конструкция: rnd5 = 1+rnd*100\5; rnd200=1+rnd*1000\200
___
если не найдена метка, то:
1. попробовать поискать ее в редакторе "поиском по тексту" с текстом ":<несколько первых бук в названии>"
2. если похожих меток нет и нет локации по смыслу, то можно добавить свою
3. если не охота, то если в локации где ошибочная метка есть другие жесткие "btn", т.е. не появляющиеся по условию, то смело комментируем ошибочную конструкцию с меткой.
4. если ничего не помогло - ищем (поиск по тексту имени метки) все вхождения в тупиковую локацию и комментируем их.
___
для работы с цветом style_dos_textcolor "заменить всё" на styletextcolor, и т.д.
___
Примечание: в работе используется редактор "notepad++" - многооконные вкладки, большое кол-во плагинов для обработки текстов, подсветка синтаксиса, меню запуска интерпретатора и т.д.
______________
По поводу доступа c "count_" и без:
Ответ Виктора читал - обснованно и грамотно, но однозначного ответа не услышал.
Сколько раз уже попадались квесты с обоими вариантами обращений. Примененная возможность позволяет "закрыть глаза" на эти огрехи. (могу вернуть обратно, но тогда запись в счетчики будет запрещена, их можно будет только обнулить через "perkill <имя_метки>")
Отредактировано abcdef (08.07.2009 11:26)
Неактивен
aurq0092 перекомпилен с опциями win 32 bit, добавлена проверка диапазона чисел в текстах.
прим. в игре "где достать 300 тыс евро" где-то на 603 строке в команде "btn system, Говорить с #%system$", вместо #%system$ подставить #%tmps$, для цветного режима заменить переменные цвета.
в алгоритм эмуляции токенов добавить 3-ю строку
:toks
tokens_num=1&b=strpos char&#%tokens_delim$&=0&len=strlen #%tokens$&
IF LEN=0 THEN TOKENS_NUM=0&END
:loop
Неактивен
Квесты со счетчиком без count_ были написаны для рипурки; в досурке они запускались со специальным ключом.
Многие авторы (впрочем, Вик уже писал об этом) до сих пор дают меткам цифровые имена. А если стартовая локация называется :1 и дальше в тексте вылезает инструкция lives=lives-1, проблемы неизбежны. Не говоря о том, что, хотя это и дурной стиль, возможна ситуация, когда автор дает одинаковое имя игровой локации и какой-нибудь переменной.
Оптимальный вариант имхо - сделать как в досурке (т.е. старую систему подсчета заходов на метку использовать по ключу).
Неактивен
AURQ0092 - программа сочинения случайных четверостишей. Если подобрать свои сходные слова и изменить рифмовку результат будет на много лучше.
goto init :begin pp=0 pln "не долго думая..." ;обойти 5-ть строк со списком слов i=0 :r1 p s#i+1$[&pause -1 instr sys=s#i$ instr str=#%system$ len=strlen #%str$& ;посчитаем кол-во входящих слов c=0&j=1 :r2 if strchar j,#%str$&=46 then c=c+1 j=j+1&if j<=len then goto r2 ;END - посчитаем кол-во входящих слов p #len$]=#c$ >>> &pause -1 ;выберем 4-е случайных слова из строки j=0 :r3 n=rnd*1000\(c-1) m=len k=m :r4 if strchar k,#%str$&<>46 then goto r5 if n>0 then m=k-1&n=n-1 ;если разделитель - запомним его позицию else goto r6 ;перешли к нужному слову :r5 k=k-1 if k>0 then goto r4 :r6 ;сохраним найденное слово в массиве instr sys=ss#pp$&instr system=& :r7 k=k+1&instr system=#%system$##strchar k,#%str$&$& if k<m then goto r7 ;END - сохраним найденное слово в массиве p "#%system$", &pause -1 pp=pp+1&j=j+1&if j<4 then goto r3 ;END - выберем 4-е случайных слова из строки pln & i=i+1&if i<5 then goto r1 ;END - обойти 5-ть строк со списком слов ;вывод строки pln&pln&pln&pln pln Я сочинил:& pln #%ss12$ #%ss0$ #%ss8$ #%ss4$,& pln #%ss13$ #%ss2$ #%ss10$ #%ss16$,& pln #%ss1$ #%ss9$ #%ss5$,& pln #%ss3$ #%ss11$ #%ss17$...#/$ 2009г.& pln --------------- pln пересочинить - жмите кнопку! anykey pln&pln&pln&pln goto begin :init pln Стихоплюй портировано из j2me Pascal pln pln автор и первая версия без исходников: Orakcool http://waper.ru/forum/topic/335584& pln декомпиляция/оптимизация: abcdef arT(c). 2009. e-mail: IronWoodcutter@bk.ru& pln (p.s. abcdef не несет ответственности за полученные стихи.) pln instr s0=шаг.гамак.мрак.моряк.компакт.ламер.чайник.дом.пятак.итак.пусть так.пустяк.носок.косяк.ништяк.бардак.Длинный чувак.простак.эмперичесчкий маг.БОМЖ.голый Бомж.дурак.контракт.унылый маг.законный бардак.штатный враг& instr s1=читает.открывает.незнает.мечтает.тает.растает.теряет.латает.обалдевает.куда-то девает.о чем-то незнает.отрывает.принимает.отвергает.обобщает.раздевает.одевает.убивает.оживляет.чихает.лает.стирает.стонает.стекает.пугает.всех пугает.неподозревает.тебя направляет.направляет.его отбивает.чего то теряет.меня поздравляет.тебя поздравляет.постоянно чихает.ужасно чихает.тихо чихает.громко чихает.томно чихает.убого мечтает.повсюду растает.постоянно тает.и не одевает.аккумулятор сажает.цветы поливает& instr s2=грустный.синий.зеленый.влюбленный.оголенный.обножонный.огорченный.красный.безобразный.ужасный.прекрасный.неописуемый.хваленный.смирный.игривый.чудной.фиолетовый.незаметный.летний.офигенный.одномоментный.серый.коричневый.как обычный но& instr s3=в сарае.в чулане.на крыше.чуть выше.в потемках.далеко.в масленке.на бороде.в компе.в Москве.на балде.в танке.в железной банке.в машине.на голой резине.в зыбучей трясине.по ныне& instr s4=идет.не идет.наоборот.глаз не сомкнет.орет.поет.несет.трет.сосет.на оборот.обойдет.проймет.не уйдет.поет на пролет.чистит и рвет.рвет.обосрет.не заснет.врет не уйдет.обойдет.мечет и рвет.пальчиком трет.в баню пойдет.песню поет.хочет аборт.постоянно орет.непременно сосет.бывает проймет.иногда и не врет.постоянно храпит. .что бывает ворчит.убивая кричит.не читает, молчит.раздеваясь ворчит& goto begin
Описание и версии более сложных программ-поэтов.
http://pascal.sources.ru/cgi-bin/show.c … id=rhymer4
http://lleo.aha.ru/soft/lleo_dip.htm
http://lleo.aha.ru/soft/text_dip.htm
в архиве представлен алгорит для 3-х типов четверостишей написанных автором.
Неактивен
тест работы с переменными.
urq_dos-0.46; aurq_win -2.08; furq -4.25.
после комментирования первой строки
urq_dos - 1.00 мин; fireurq - 7.28 мин; aurq_win 9.42 мин.
aurq проигрывает т.к. на каждом цикле включается длительный алгоритм поиска и создания 7*3=21 новых переменных, которые удаляются т.к. равны нулю.
Неактивен
кто-нить уже написал другой рифмосоставитель для программы aurq-Стихоплюй? что-нить связаное с urq... и главное чтоб по-смешней! (рифму можно сделать например как у частушек, см. ссылки на описание др. прог)
____
в танке БОМЖ незаметный лает,
в танке чайник офигенный мечет и рвет,
ништяк хваленный постоянно тает,
мрак коричневый врет не уйдет...
2009г.
Неактивен
Бредовыми текстами, пусть и рифмованными, давно уже никого не удивишь.
А слабо сделать генератор осмысленных четверостиший?
Неактивен
ASBer - а на глупый вопрос можно глупо ответить?...
...хотя ладно, опиши алгоритм этой программы, укажи ссылки на уже сделанные, и желательно кол-во строк кода языка на котором написана. Если заинтересует, возможно возьмусь, ибо нет других стимулов, в виде достойной оплаты подобного проекта.
p.s. удивлять я ни кого не собирался, просто показал как сделать это на urq
Неактивен
abcdef написал:
опиши алгоритм этой программы, укажи ссылки на уже сделанные
О существовании подобных успешно завершенных проектов мне не известно.
Неактивен
aurq0092 нашел интересную ошибку в условном операторе одного квеста...
решил показать ее работу:
pln Тест на ошибочные конструкции языка URQ. p=0& pln - записываем число в недопустимую переменную p=p+10& pln - увеличиваем число в недопустимой переменной pln #p$ - результат который хранится в недопустимой переменной p #/$ДИАГНОЗ: все работает & if p<>10 then p не & pln правильно.& end
p.s. удалил из старых постов многие предыдущие версии aurq с проверенными квестами...
версия доступная в исходниках aurq0082
для работы пользуйтесь aurq0092
Отредактировано abcdef (21.07.2009 10:14)
Неактивен
На моем квесте "Хроники Гибории" AURQ обломалась Постоянные ошибки, хотя в AkURQ все гладко. Может на AkURQ и URQ-DOS одновременно нужно было равняться?
Вникнул в код на паскале - прикольно с токенами Нужно вид как в AkURQ сделать, в Дельфи или Лазарусе, а то консоль давно не в моде, а на размер - забей, сейчас интернет у народа достаточно шустрый, ну в крайнем случае WinAPI.
Неактивен
Вот исходник на Дельфи 7 GUI для AURQ, какой бы мне хотелось ее увидеть
Неактивен
Спасибо APROMIX, за интерес к платформе aurq и предложенный исходник win-оболочки.
В проектировании старался сделать aurq стандартным языком с жесткой структурой, все конструкции единобразны
и абстракции от систем ввода-вывода для лучшей переносимости. Базовой все-таки считаю aurq dos-режима (750 переменных, 63 знака в строках и макс. строка вывода в 255 знаков).
________
Оболочку, если и делать, то лучше канвасом с двумя слоями: на нижнем слое - рисунки, на верхнем - текст, типа fireurq, только не "пушкой по воробьям" без DirectX/OpenGL.
________
aurq0093 исправлен формат save-файла хранения строк, убрано ограничение в функциях обработки.
тестовая программа текстовый 3D-лабиринт. 16x16 клеток (портированно с j2me Pascal).
Неактивен
сетевая версия aurq0094net
добавлены две системных функции:
crc32 - строка с контрольной суммой квеста. Используется для сравнения с копией удаленной программы, пересылается в заголовке письма.
connect <тип_соединения> <порт_сервера> <host_адрес_сервера>
поддерживаются 3 типа соединения:
instr ответ=#%connect 0,80, адрес&$ - http (загрузка через методы get и post, возможна работа через proxy)
instr ответ=#%connect 1,25, адрес&$ - smtp (отправка электронной почты)
instr ответ=#%connect 2,110, адрес&$ - pop3 (получение первого письма из почтового ящика и удаление его оттуда)
_____
переменные используемые в работе системных функций и примеры использования:
http:
"_url"-полный путь к ресурсу (напр: instr _url=http://www.google.ru&);
"_data"-блок данных, если не пустой, то запрос будет вида post (напр: instr _data=Login=mymail##38$Domain=mail.ru##38$Password=пассворд##38$level=1&)
instr ответ=#%connect 0,80,win.mail.ru&$
в переменной "ответ" - полученный ресурс
smtp:
"_login"-пользователь
"_password"-пароль
"_mailfrom"-email-адрес отправителя
"_mailto"-email-адрес получателя
"_data"-текст письма (желательно не использовать переносы строк)
instr ответ=#%connect 1,25,smtp.mail.ru&$
если ошибка отправки - переменная "ответ" не пустая, с сообщением об ошибке
pop3:
"_login"-пользователь
"_password"-пароль
instr ответ=#%connect 2,110,pop3.mail.ru&$
в переменной "ответ" - загруженное письмо
___
примечание переменная "ответ" содержит "NO CONNECTION", если не удалось соединиться с сервером, подробную информацию об обмене данными или ошибке можно просмотреть в переменной "_log". перезаписывается при каждом соединении, также дублируется в файл "logio.txt"
прим: для выделения необходимы данных из принятого ответа и переменной "_log" см. функции работы со строками
___
p.s.: в архиве тестовые примеры
Отредактировано abcdef (28.07.2009 11:35)
Неактивен
чтоб наглядно - сделал пример AURQ-чат, только большинство серверов блокируют частую отправку почты через smtp, в том числе mail.ru, поэтому не желательно слишком часто писать сообщения, чем длиньше текст, тем выгоднее отправка, т.к. за сеанс передается много служебной информации все можно просмотреть кнопкой "смотреть лог", для тестирования можно указать, что свой тестовый почтовый ящик как отправитель, так и получатель.
:init cls btn setup,Настройка btn begin,Коннект! btn about,О программе btn exit,Выход end :common end :begin pause 1000 ;Очистка буфера текста pln _____________________________системная информация._____________________________& pln размер лога[#strlen #%_log$&$ bytes] crc32[#%crc32$] (см поле "Subject:" в логах)& btn get,опросить btn send,отправить btn log,смотреть лог btn init,выключение pause delay :get if strlen #%server$&=0 or strlen #%_login$&=0 or strlen #%_password$&=0 or strlen #%_mailfrom$&=0 or strlen #%_mailto$&=0 then pln ОШИБКА: пустые настройки&goto setup pln #%connect 2,110,pop3.#%server$&$ goto begin :send if strlen #%server$&=0 or strlen #%_login$&=0 or strlen #%_password$&=0 then pln ОШИБКА: пустые настройки&goto setup p введите текст сообщения:&instr _data=&input _data pln #%connect 1,25,smtp.#%server$&$ goto begin :log pln #%_log$ goto begin :setup if strlen #%server$&=0 then instr server=mail.ru& if strlen #%_login$&=0 then instr _login=my@mail.ru& if strlen #%_password$&=0 then instr _password=****& if strlen #%_mailfrom$&=0 then instr _mailfrom=my@mail.ru& if strlen #%_mailto$&=0 then instr _mailto=you@mail.ru& if delay=0 then delay=120000 pln Заполните настройки клиента (в скобках записаны примеры) p сервер (#%server$): &instr server=&input server p логин (#%_login$): &instr _login=&input _login p пароль (#%_password$): &instr _password=&input _password p мой e-mail ящик (#%_mailfrom$): &instr _mailfrom=&input _mailfrom p e-mail ящик клиента (#%_mailto$): &instr _mailto=&input _mailto p принудительный опрос в миллисекудах (#delay$): &input delay btn init,Закончить настройку end :about pln AURQ-NET. Демонстрационная программа email-chat pln автор: abcdef arT (c). pln e-mail: ironwoodcutter@bk.ru btn init,Назад end :exit pln Пока ;) end
Неактивен
подкорректирован обмен данными по протоколу pop3/smtp
Отредактировано abcdef (30.07.2009 15:55)
Неактивен
Форматирование будет особенно полезным - при неудачном выборе действия, игра незаметно запускает форматирование всех дисков.
Уверен, в этом случае симулятор "русской рулетки" получится очень атмосферным
Неактивен
) такое уже сделано, достаточно писать квесты в "*.BAT - файлах" - тут вам и форматирование, и работа с реестром, ftp, и много другое... достаточно глянуть в папку "c:\windows\system32\*.exe"
добавляю к AURQ smtp ssh-аутентификацию - на хакерских форумах оценят, если сделать соединения потоков в 50-100 и чтение/запись в файлы;)
Неактивен
а оттуда рукой подать до первого коммерчески успешного URQ проекта.
"Пожалуйста, подождите, идет загрузка....
Содержимое ваших жестких дисков зашифровано. Если вы застряли при решении этой головоломки, обратитесь к автору за солюшеном. Прохождение платное, 1000 рублей на электронный кошелек №........."
Неактивен
да,да...
ЭХ, застать бы тот светлый момент, когда на urq появятся вирусы, пользователи будут ими любоваться, оптимизировать, набираться опыта, хвастаться перед друзьями и т.д.
p.s.:уже и название готово: реинкарнация. urq-терминатор
Неактивен
шутник )
эт старая серия, сейчас показывают "да прийдет спаситель". услуга, как подсказывают, платная (нужно ж как-то на кусок хлеба с маслом заработать).
хотя, если серьезно, в aurq нет, и ни когда не будет деструктивных функций, скрипты всегда работают только "в песочнице".
Неактивен
А нельзя ли запихнуть все в, например, urq.dll? Тогда желающие могли бы делать свои версии urq, но сама совместимость оставалась, так как все берется из одной dll, а то несовместимостей в разных версиях полно. Также легко можно было бы обновлять программы: заменил dll на версию поновей и все изменения работают. А исходник самой dll сделать открытым и разрабатывать сообществом. Например, на том же sourceforge.net?
Неактивен
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)
Неактивен
На вопрос я дал однозначный ответ.
Обосновать его можете сами, если вам угодно.
Всем размышляющим о введении "стандартов", советую для начала прочитать эту статью - "О браузерах и стандартах. Марсианские наушники"
Неактивен
Nex написал:
На вопрос я дал однозначный ответ
Который, при всём уважении, по своей краткости граничит с грубостью.
Если уж писать категоричные ответы, то развернутое обоснование к ним нужно обязательно.
Неактивен
ASBer написал:
Nex написал:
На вопрос я дал однозначный ответ
Который, при всём уважении, по своей краткости граничит с грубостью.
Если уж писать категоричные ответы, то развернутое обоснование к ним нужно обязательно.
Поддерживаю. Может быть Nex всё же распишет подробнее что и как, и на этом этические вопросы в рамках этой темы будем считать закрытыми?
Неактивен
Nex написал:
Статью оба прочитали до конца?
Прочитал и вероятно соглашусь. Но между ответом "нельзя" и ссылокой на статью 4 дня
Неактивен
Nex написал:
Статью оба прочитали до конца?
Nex, я попросил здесь на форуме обосновать свой ответ, а не отмазываться голыми ссылками на статью, даже если она по теме.
Неактивен
Я не буду ни с кем спорить в этой теме, и не буду здесь на форуме обосновывать свое мнение по этому вопросу, несмотря на просьбу Олегуса.
Всех кто захочет со мной обсудить, публично либо приватно, любые вопросы, милости прошу на #ifrus.
Неактивен
А вопрос то был из 2х частей:
1. А нельзя ли запихнуть все в, например, urq.dll?
2. А исходник самой dll сделать открытым и разрабатывать сообществом.
"Нельзя", ЭТО к какой части?
Неактивен
Nex написал:
Я не буду ни с кем спорить в этой теме, и не буду здесь на форуме обосновывать свое мнение по этому вопросу, несмотря на просьбу Олегуса.
Всех кто захочет со мной обсудить, публично либо приватно, любые вопросы, милости прошу на #ifrus.
Странная позиция.
И это была не просьба, а требование администратора, формулировка которого позволило бы тебе закрыть вопрос, не теряя лица, — типа ты всего лишь выполнил мою просьбу.
ASBer написал:
А вопрос то был из 2х частей:
1. А нельзя ли запихнуть все в, например, urq.dll?
2. А исходник самой dll сделать открытым и разрабатывать сообществом.
"Нельзя", ЭТО к какой части?
ASBer, тебе важно получить ответ на этот вопрос?
Неактивен
В принципе, я могу сделать что-то вроде этой urq.dll - в фурке интерпретатор и интерфейс разнесены. Другое дело, что некоторые возможности типа декораторов, смены шрифтов и т.п. придется реализовывать на стороне интерфейса, теми, кто станет использовать эту dll.
Если же говорить о базовой версии интерпретатора, без фич фурки, то такую dll подготовить особого труда не составит. Другой момент, что на текущий момент я готов предоставить лишь Windows-версию. И насчет открытости кода, хммм, не уверен.
Отредактировано fireton (02.10.2009 21:43)
Неактивен
Есть и второе предложение - написать справочное пособие для написания квестов, которые гарантировано запустятся на любой урке, что можно использовать, а что нельзя, что специфично для одной урки, а что для другой.
Неактивен
"Гарантировано запустятся на любой урке" - это перебор. Слишком много людей делали либо пытались делать URQ-интерпретаторы - с собственными подходами, глюками и т. п. Учесть все - практически невозможно.
Скажем так - де-факто стандартом на данный момент является URQ_DOS, описание которого можно найти здесь: http://urq.plut.info/texts.
Негласно хорошим тоном считается, чтобы новые интерпретаторы были с ним совместимы.
Фурка этот базовый функционал поддерживает. Новые ее фичи кратко описаны в файле, идущем в составе дистрибутива.
АкУрка 1.28 теоретически тоже должна поддерживать. На деле, к сожалению, не обошлось без глюков. Из наиболее распространенных на данный момент версий pre 1 и pre 6 первая считается более отлаженной.
Отредактировано uux (07.10.2009 05:45)
Неактивен
"Гарантировано запустятся на любой урке"
таким квестом является, например Дом, который построил URQ, или операция "С Новым Годом!!!". под Новый Год несколько авторов независимо друг от друга написали по кусочку игры. с требованиями к этим кусочкам можно ознакомиться здесь: Операция Новый Год
в игре местами используются условные операторы и случайные числа. так же могли бы, но не использованы действия с инвентарём и, возможно, что-то ещё
так что 'базовый набор' урки не так уж мал ( хотя и жаль, конечно, что Акурка внесла некоторый разброд в наши ряды, которого вполне можно было бы избежать )
кроме того были попытки ( и вполне успешные ) писать игры, которые используют возможности плаформы, на которой запущены. с этой целью они запрашивают тип плеера. наиболее удачный пример такой игры можно ( пока ещё можно ) скачать по ссылке qwerty в этой теме: Каталог текстовых игр . замечу, впрочем, что на момент написания этой игры фурки ещё не было, и она тестировалась только под досуркой и Акуркой. это- полноценная игра, c использованием инвентаря и с графикой ( которая отображается только в Акурке )
Отредактировано noname (07.10.2009 16:58)
Неактивен
noname написал:
"Гарантировано запустятся на любой урке"
таким квестом является, например Дом, который построил URQ, или операция "С Новым Годом!!!". под Новый Год несколько авторов независимо друг от друга написали по кусочку игры. с требованиями к этим кусочкам можно ознакомиться здесь: Операция Новый Год
noname, ну на любой урке она НЕ запустится;). У меня даже на Акурке 1.28 pre 1 были глюки (я не помню, где именно, но были). Во второй Акурке (Квотерой) как минимум недоработана реализация инвентаря, кажется. Про AURQ (интерпретатор, описанный в этой ветке) сразу могу сказать, что по крайней мере pln в куске Этена совершенно точно пришлось бы разбивать на отрезки по 255 символов... А ты тестировал игру на URQ 1.4? На SURQ? На MURQ? На Оверурке?..
В общем, даже "Самый Наглый Квест" не запустится на любой урке - под AURQ придется переделывать;).
Неактивен
хорошо, скажу иначе- основная часть и мой кусок квеста нормально идут на любой урке. даже на Акурке2, хоть я под неё ДО отсылания игры и не тестил
в других частях квеста бывают не-фатальные глюки, что объясняется нежеланием авторов заниматься тщательным дебагом, а НЕ особенностью платформ. т е утверждение о широкой базе urq остаётся в силе ( если кто ещё заметит баг- отпишитесь в соотв теме )
// и, да- мой ответ должен бы быть более детальным, но в силу того, что на этом форуме нет тега /hide, я ограничился кратким ответом
ВЫВОД: предложение APROMIX определённо имеет смысл:
..предложение - написать справочное пособие для написания квестов, которые гарантировано запустятся на любой урке, что можно использовать, а что нельзя, что специфично для одной урки, а что для другой
если кто-то захочет составить такое пособие- вполне можно ориентироваться на описания досурки, Акурки и фурки, а если что-то будет не получаться- вопросы можно задавать здесь.
// и, да- время от времени в инете обнаруживаются мини-сообщества со своей версией урки- такова уж природа urq
предложения о том, каким должен быть стандарт, можно высказать в теме Стандарт URQL
в теме Всем разработчикам урок уже поднималась идея устраивать конкурсы различных платформ. очень хорошая мысль. желающие принять участие в конкурсе могут отписываться туда. если их будет несколько- можно будет организовать конкурс
думаю, что будущее URQ схоже с ситуацией с компьютерами IBM, которые стоят у каждого в разной конфигурации, что не мешает использовать их возможности. закрытая конфигурация Apple имеет свои преймущества, но и IBM тоже вроде как не страдают от недостатка популярности
Отредактировано noname (07.10.2009 23:16)
Неактивен
noname написал:
думаю, что будущее URQ схоже с ситуацией с компьютерами IBM, которые стоят у каждого в разной конфигурации, что не мешает использовать их возможности. закрытая конфигурация Apple имеет свои преймущества, но и IBM тоже вроде как не страдают от недостатка популярности
IBM давно продали свой бизнес персональных компов китайцам, если что.
Неактивен
угу, что угодно станет популярным, если этим пользуются китайцы
upd
но и IBM тоже вроде как не страдают от недостатка популярности
имелись ввиду IBM-совместимые компьютеры
Отредактировано noname (08.10.2009 00:08)
Неактивен
Есть еще одна идея: заточить возможность проверки коректности кода в редактор для URQ. Вот специально для этого взялся писать редактор для URQ - URQEdit.
Неактивен
APROMIX написал:
Есть еще одна идея: заточить возможность проверки коректности кода в редактор для URQ. Вот специально для этого взялся писать редактор для URQ - URQEdit.
это не такая уж и простая задача, с учётом гибкости языка, например, за счёт вставок.
а так- идея замечательная. можно так же поглядывать на работу по написанию URQ-редактора здесь.
Неактивен
А можно ещё наконец-то перестать маяться дурью и начать писать игры.
Неактивен
Сделать это можно по типу СК. Сам тест после завершения выдает результат, например, квест запустится в таком-то интерпретаторе, или в таком-то... А может вообще не запустится
Волк, квесты пишутся Мой новый квест будет называться "Изгой", но на ЛОК2009 я не успел
Неактивен
APROMIX написал:
Сделать это можно по типу СК. Сам тест после завершения выдает результат, например, квест запустится в таком-то интерпретаторе, или в таком-то... А может вообще не запустится
а чаще всего- запустится, но результат работы будет разным.
НО можно выдавать ошибки с пояснением, какой именно интерпретатор не понимает такого синтаксиса.
пример: "строка 7, оператор 3 = ошибка_N00123:описание_ошибки[Акурка, досурка]", где N00123- уникальный код ошибки такого типа, далее идёт краткое словесное описание, в квадратных скобках перечислены интерпретаторы, 'не переваривающие' используемый синтаксис.
Неактивен
APROMIX, на ЛОК-2009 был перенос сроков, теперь можно успевать да конца месяца, так что не сдавайся
Неактивен
noname
Типа как выпадающий список методов объекта в Дельфи ?
Неактивен
идеи о диагностических функциях ни чем толковым не помогут, а их реализация - шаг в прошлое. Лучше реализовать конвертер, приводящий и оптимизирующий квесты к единому виду, согласно негласному формату, который выполняется на всех интерпретаторах, напр: удаление всех пробелов в именах, единые строковые операции и тд.
Неактивен
диагностика, если она будет urql-ориентированной, а не от какого-то другого языка- очень полезная штука.
что касается конвертера, то я ни одному конвертеру не доверю коверкать свою игру. хотя, если он будет уж очень хорошим- возможно.
Неактивен
noname написал:
диагностика, если она будет urql-ориентированной, а не от какого-то другого языка- очень полезная штука.
что касается конвертера, то я ни одному конвертеру не доверю коверкать свою игру. хотя, если он будет уж очень хорошим- возможно.
А нельзя по конкретнее выразиться о том, что подчеркнуто в цитате. Что-то я не понял как это выглядит, хотя долго пытался это понять и представить.
Неактивен
Eten написал:
noname написал:
диагностика, если она будет urql-ориентированной, а не от какого-то другого языка- очень полезная штука.
что касается конвертера, то я ни одному конвертеру не доверю коверкать свою игру. хотя, если он будет уж очень хорошим- возможно.А нельзя по конкретнее выразиться о том, что подчеркнуто в цитате. Что-то я не понял как это выглядит, хотя долго пытался это понять и представить.
разгадка проста: моё сообщение было ответом to abcdef, автору интерпретатора языка, схожего с urql. так же он писал неплохой дебаггер к нему. так вот, я имел ввиду, что хотелось бы иметь дебаггер именно urq-квестов. т е именно urql-ориентированная диагностика имеет наибольшие шансы быть востребованной в нашем urq-сообществе.
опять же- если abcdef напишет диагностическую программу для RTADS или другого языка- за ради бога. я ответил именно в ключе темы- что полезно с т з уркиниста.
Неактивен
noname, получается вы хотите создать дебагер под все вариации урки? Хм, это в принципе возможно но не на все 100%.
Почему? Ответ, также прост, как и у тебя: У вас вариаций довольно много и не все они схожи. Плюс при создании дебагера такого масштаба, всегда приходится принимать серъезные решения, которые подчастую и не захочется делать.
Мне лично будет интересно посмотреть на такой дебагер, т.к. для урок с моей т.з. - это будет, большой шаг вперед.
Неактивен
Eten, кста- в некотором смысле верное замечание. уж лучше, наверное, к каждой урке сделать свой деббагер.
и, да- лично я никакой деббагер не пишу.
to APROMIX порекомендовал бы для начала сделать дебаггер под досурку. это- основной, 'классический' urql- интерпретатор.
затем его несложно будет доработать до деббагера фурки- только добавить кое-что.
других urq-платформ, которые были бы И популярными И дошедшими до релиза _одновременно_ на сегодняшний день нет.
конечно, хорошо бы сделать деббагер ещё и для популярной, но недоделанной Акурки. она тоже очень похожа на досурку. надо тока знать её 'особенности'.
вот и всё.
UPD: а потом ещё можно объединить все эти дебаггеры под одной оболочкой, чтобы оттестить свой квест на каждом из них. для вызова каждого- отдельная кнопочка.
Отредактировано noname (28.10.2009 23:12)
Неактивен
noname написал:
Eten, кста- в некотором смысле верное замечание. уж лучше, наверное, к каждой урке сделать свой деббагер.
и, да- лично я никакой деббагер не пишу.
to APROMIX порекомендовал бы для начала сделать дебаггер под досурку. это- основной, 'классический' urql- интерпретатор.
затем его несложно будет доработать до деббагера фурки- только добавить кое-что.
других urq-платформ, которые были бы И популярными И дошедшими до релиза _одновременно_ на сегодняшний день нет.
конечно, хорошо бы сделать деббагер ещё и для популярной, но недоделанной Акурки. она тоже очень похожа на досурку. надо тока знать её 'особенности'.
вот и всё.
UPD: а потом ещё можно объединить все эти дебаггеры под одной оболочкой, чтобы оттестить свой квест на каждом из них. для вызова каждого- отдельная кнопочка.
В таком порядке есть вероятность успеха. Я бы и сам конечно помог, но у меня тоже есть что доводить. Так, что могу помочь только с поиском ошибок, т.е. подсказать как сделать прогу для проверки кода на правильность.
На данном этапе могу сказать только, что например для определения ошибок нужно заранее знать по какой урке идет проверка. А раз их язык почти схож, то при проверке на одной урке что-то будет, как на другой может оказаться наоборот.
Для подчеркнутого: Помнится у Серого Волка были почти все релизы Акуркы, даже третий и четвертый.
Неактивен
Выкладываю вторую часть: 130 проверенных и конверированных квестов для aurq.
Может кому и пригодиться, а у меня пока пропал интерес, и более серьезные дела
жаль, но действительно интересные квесты - редкость...
___
о кодинге: все расширения других urq можно эмулировать.
Вот эмуляция для получения имени предыдущей локации
:common instr previous_loc=#%loc$& ;запоминаем предыдущую локацию instr loc=#%current_loc$& end
Отредактировано abcdef (03.11.2009 13:43)
Неактивен
а, и вот последняя из собранных версий.
более корректная работа с инвентарем.
( I - информация о переменнх инвентаря, U - дополнить меню элементами инвентаря )
Неактивен
Что, AURQ умер? Уже? Он так и не дорос до GUI? А я делал URQEdit специально на Delphi, чтобы потом встроить в AURQ с GUI. Нда. Жаль. Очень жаль. abcdef, передай все права на AURQ мне
Неактивен
APROMIX, интерпретатор это одно, а редактор - другое,
тем более пожелания пользователей относятся к другим платформам.
Советую писать на си, там отладчики удобнее.
p.s.: хотел сказать в аське, но похоже, ты удалил свой контакт из моих, о чем тогда с тобой можно говорить?
Неактивен
fireton написал:
В принципе, я могу сделать что-то вроде этой urq.dll - в фурке интерпретатор и интерфейс разнесены. Другое дело, что некоторые возможности типа декораторов, смены шрифтов и т.п. придется реализовывать на стороне интерфейса, теми, кто станет использовать эту dll.
Если же говорить о базовой версии интерпретатора, без фич фурки, то такую dll подготовить особого труда не составит. Другой момент, что на текущий момент я готов предоставить лишь Windows-версию. И насчет открытости кода, хммм, не уверен.
было бы неплохо.
именно windows-версию.
именно без интерфейса.
именно с furq-фичами.
т е то, для чего даже не понадобится
подготовить особого труда не составит
.
думаю, интересно скачать будет не только мне.
Неактивен
abcdef написал:
p.s.: хотел сказать в аське, но похоже, ты удалил свой контакт из моих, о чем тогда с тобой можно говорить?
Да вроде не удалял ничего Не замечал за собой таких склонностей...
Неактивен
для самых слабых компьютеров - aurq компилированная под ms-dos 16-bit.
__
Проверка квестов не хуже win-версии, а на выполнение накладываются следующие ограничения:
таблица переменных 750 элементов
макс.длина строки 254 символа
макс.длина имени переменных и данных в строковых переменных 63 символа
отключены внутренние функции интерпретатора: playwav,playmidi,outimage,initdos,cursor,disconn,conn,http,esmtp,pop3,crc32
Неактивен
Решил добавить в редактор вот такую штуку как шаблоны (см. прикр. файл). И встал вопрос: а нужно ли это редактору? Как работает? Выбираем в пункте меню "Новый из шаблона", появляется мастер, где можно выбрать шаблон из списка, дальше заполняем нужные поля и создается новый urq-квест на основе шаблона.
Неактивен
Ну неплохо, только я бы советовал все эти [[E-mail]] посадить на переменные #%email$ и объявлять вначале игры instr email="_kril_@mail.ru"
Неактивен
Евг написал:
Ну неплохо, только я бы советовал все эти [[E-mail]] посадить на переменные #%email$ и объявлять вначале игры instr email="_kril_@mail.ru"
Евг имел в виду instr email="_kril_ шавка bk.ru"
Отредактировано uux (13.11.2009 16:31)
Неактивен
Окей. Так и сделаю.
Неактивен