Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
04.07.2001 10:26

Victor
Гость

Нужны ли новые версии URQ и URQ_DOS ?

Лично я продолжаю разработки в области URQ и URQ_DOS (например, сделал свой Windows-интерфейс для URQ_DOS - с нормальными окнами, поддающимися масштабированию и настройке), но нужны ли они кому-либо еще ? smile

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

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

0    0    #2
10.03.2009 00:37

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Недавно попался под руку неплохой urq-квест... под настроение решил сделать свою версию URQ-интерпретатора.
Поиски исходников привели к интерпретатору RipOS, но используемый алгоритм парсинга не понравился... я взял за основу стандартный последовательный парсер что привело к некоторым ограничениям языка URQL: имена переменных не должны содержать служебных символов и команд языка.
Интерпретатор имеет большой потенциал в дополнени и расширении, включены практически все стандартные команды, находится на стадии тестирования, выполнен в Turbo Pascal 7.1 и легко может быть перенесен на другой язык.

Кого-нить заинтересовал проект, остались ли поклонники URQ-среды?

Неактивен

0    0    #3
11.03.2009 08:34

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии 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.: квестами интересуюсь недавно, в свободное от работы время, писать их врятли буду из-за отсутствия фантазии.
Буду рад помощи в тестировании. когда отлажу - предоставлю исходники, т.к. делаю только из интереса для общего дела.

Неактивен

0    0    #4
11.03.2009 21:41

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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. сможет ли кто-нить помочь с особенностями языка, синтаксиса (если таковые имеются)? а то запускать квесты или искать крупицы информации в инете времени не хватает...

Неактивен

0    0    #5
12.03.2009 21:49

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Спасибо Korwin'у и uux'у за предоставленную информацию! (написано интересно - прочитаю)

Добавил на код "нашлепок" - и превратился в сканер синтакиса, режимы работы:
непосредственная работа/проверка синтаксиса/проверка синтаксиса и наличие меток переходов (режимы работы настраиваются двумя булевскими переменными). сейчас включен последний режим, показывает возможности текущей версии по разбору команд. (без сканирования меток работает на порядок быстрее, и еще, текущая версия не знает оператор ELSE) также не позволяет создавать "goto #%стр$" и прочие безобразия в вычислениях, непомню как выглядело, что-то типа: "x+#abc$" - причем подобные записи были не в строках.
___ комментируйте строки ";" если хотите чтобы их пропускал парсер.

p.s.: для переходов на строковую метку пользователя я лучше сделаю внутреннюю переменную и команду, которая считывает оттуда и преобразовывает строку в пользовательское_имя_метки (просто это концепция парсера - отделить строки от пользовательских имен)
___
если выявилась ошибка, то ее нужно искать назад по строке от обозначенного места, т.к. сканер говорит о ней, когда становится однозначно ясно.
иногда ошибку нужно смотреть на предыдущей строке, во время сканирования текста не выводится ни каких сообщений, текст необходимо переконвертировать а dos-кодировку (можно сделать стандартным виндовым WordPad, предварительно сменив расширение файла на ".txt")
___
ни один из нескольких сканированных не был полностью правильным, то метки не хватало, то команды пропущены...

Отредактировано abcdef (21.07.2009 09:40)

Неактивен

0    0    #6
14.03.2009 00:44

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Представляю тестовую версию программы 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)

Неактивен

0    0    #7
14.03.2009 19:36

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

прочитал документацию  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?

Неактивен

0    0    #8
16.03.2009 01:03

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Единые правила работы интерпретатора:

<зарезервированные символы>  -  : ; > < = + - * ( ) / \ , # $ & #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)

Неактивен

0    0    #9
23.03.2009 22:07

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_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)

Неактивен

0    0    #10
25.03.2009 19:25

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

исправлено:
- команда anykey
- зарержка команды pause
- уменьшено мерцание курсора
- генерация ошибки, если невозможно перейти на метку (ранее просто зависал)
- сообщение о завершении квеста, в локации которой нет кнопок

Отредактировано abcdef (21.07.2009 09:45)

Неактивен

0    0    #11
29.03.2009 22:56

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #12
19.04.2009 19:41

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

добавлена поддержка шифрованных квестов формата 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)


Прикрепленные файлы:
Qs1ToQst.zip, Размер: 111,699 байт, Скачано: 940

Неактивен

0    0    #13
17.06.2009 09:54

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Добавлены функции работы со строками:

;получить длина строки///   число = strlen строка&
;сравнить две строки///   число = strcmp строка&строка&
;получить код символа из строки///   число = strchar числовая_позиция,строка&
;скопировать подстроку///  строка = strcopy начальная_позиция, длина_подстроки,строка&
;получить позицию вхождения подстроки в строку///число = strpos подстрока&строка&
;установить символ в строку///   строка = strset позиция, код_символа,строка&

Примечание:
из версии aurq005 ошибок не выявлено, код немного переработан
версия тестовая. просьба сообщать о найденных багах
для работы используйте только последнюю версию программы, если встретилась ошибка проверьте ее на предыдущей версии.

Отредактировано abcdef (21.07.2009 09:47)

Неактивен

0    0    #14
22.06.2009 09:43

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

собрал 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

Прикрепленные файлы:
aurq_win007.ZIP, Размер: 374,635 байт, Скачано: 886

Неактивен

0    0    #15
22.06.2009 09:46

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

и вот еще: delphi исходный код библиотеки адаптиции к windows-плитформе


Прикрепленные файлы:
lib.zip, Размер: 3,473 байт, Скачано: 900

Неактивен

0    0    #16
23.06.2009 13:59

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #17
26.06.2009 16:26

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

подробное описание, полные исходники и доработаная версия aurq_win0082
_____
в архиве квест "хроники капитана Блуда, тайна левой ягодицы".
замечания: реализация квеста интересная, но примерно треть локаций не существует, добавляйте сами при прохождении переадревацию в пустую локацию. например:

Код:

:give__
:use__
:give_экипаж_блуд
:give_gazettedestribunaux_блуд
:give_gazettedestribunaux_герда
:give_деньги_блуд
:give_блокнот_блуд
:use_gazettedestribunaux_
:use_gazettedestribunaux_столик
:use_деньги_деньги
:use_деньги_столик
:use_деньги_блокнот
:use_блокнот_блокнот
:give_столик_блуд
:читать_газету
:common
end

Прикрепленные файлы:
aurq0082.zip, Размер: 76,864 байт, Скачано: 912

Неактивен

0    0    #18
02.07.2009 10:45

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

версия 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
КвестПроПетю
Константин
Крюгер
Месть
Молчание_хрящей
Мутация+Мутанта
Рагнарек
Тень
Царство_смерти
Черная_пятница
Яша

Прикрепленные файлы:
aurq_demo.zip, Размер: 1,533,895 байт, Скачано: 868

Неактивен

0    0    #19
02.07.2009 10:53

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #20
03.07.2009 12:16

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #21
07.07.2009 17:02

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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

Прикрепленные файлы:
aurq009.zip, Размер: 192,498 байт, Скачано: 872

Неактивен

0    0    #22
08.07.2009 09:48

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #23
09.07.2009 16:37

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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


Прикрепленные файлы:
aurq0092.zip, Размер: 43,912 байт, Скачано: 858

Неактивен

0    0    #24
14.07.2009 14:34

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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-х типов четверостишей написанных автором.


Прикрепленные файлы:
stix.zip, Размер: 1,679 байт, Скачано: 875

Неактивен

0    0    #25
14.07.2009 15:47

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

тест работы с переменными.
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 новых переменных, которые удаляются т.к. равны нулю.


Прикрепленные файлы:
test2.zip, Размер: 554 байт, Скачано: 821

Неактивен

0    0    #26
17.07.2009 10:12

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

кто-нить уже написал другой рифмосоставитель для программы aurq-Стихоплюй? что-нить связаное с urq... и главное чтоб по-смешней!  (рифму можно сделать например как у частушек, см. ссылки на описание др. прог)
____
в танке БОМЖ незаметный лает,
в танке чайник офигенный мечет и рвет,
ништяк хваленный постоянно тает,
мрак коричневый врет не уйдет...
2009г.

Неактивен

0    0    #27
20.07.2009 09:00

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

ASBer - а на глупый вопрос можно глупо ответить?...

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

p.s. удивлять я ни кого не собирался, просто показал как сделать это на urq

Неактивен

0    0    #28
21.07.2009 08:39

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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)

Неактивен

0    0    #29
23.07.2009 15:56

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Спасибо APROMIX, за интерес к платформе aurq и предложенный исходник win-оболочки.
В проектировании старался сделать aurq стандартным языком с жесткой структурой, все конструкции единобразны
и абстракции от систем ввода-вывода для лучшей переносимости. Базовой все-таки считаю aurq dos-режима (750 переменных, 63 знака в строках и макс. строка вывода в 255 знаков).
________
Оболочку, если и делать, то лучше канвасом с двумя слоями: на нижнем слое - рисунки, на верхнем - текст, типа fireurq, только не "пушкой по воробьям" без DirectX/OpenGL.
________
aurq0093 исправлен формат save-файла хранения строк, убрано ограничение в функциях обработки.
тестовая программа текстовый 3D-лабиринт. 16x16 клеток (портированно с j2me Pascal).


Прикрепленные файлы:
aurq0093.zip, Размер: 33,715 байт, Скачано: 830

Неактивен

0    0    #30
28.07.2009 11:32

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

сетевая версия 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)


Прикрепленные файлы:
aurq0094net.zip, Размер: 34,982 байт, Скачано: 836

Неактивен

0    0    #31
28.07.2009 20:56

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

чтоб наглядно - сделал пример 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

Неактивен

0    0    #32
29.07.2009 08:51

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

подкорректирован обмен данными по протоколу pop3/smtp

Отредактировано abcdef (30.07.2009 15:55)


Прикрепленные файлы:
aurq0095net.zip, Размер: 38,076 байт, Скачано: 837

Неактивен

0    0    #33
30.07.2009 11:41

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

smile) такое уже сделано, достаточно писать квесты в "*.BAT - файлах" - тут вам и форматирование, и работа с реестром, ftp, и много другое... достаточно глянуть в папку "c:\windows\system32\*.exe"

добавляю к AURQ smtp ssh-аутентификацию - на хакерских форумах оценят, если сделать соединения потоков в 50-100 и чтение/запись в файлы;)

Неактивен

0    0    #34
30.07.2009 16:13

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

да,да...

ЭХ, застать бы тот светлый момент, когда на urq появятся вирусы, пользователи будут ими любоваться, оптимизировать, набираться опыта, хвастаться перед друзьями и т.д.

p.s.:уже и название готово: реинкарнация. urq-терминатор wink

Неактивен

0    0    #35
30.07.2009 22:17

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

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

хотя, если серьезно, в aurq нет, и ни когда не будет деструктивных функций, скрипты всегда работают только "в песочнице".

Неактивен

0    0    #36
25.10.2009 11:14

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

идеи о диагностических функциях ни чем толковым не помогут, а их реализация - шаг в прошлое. Лучше реализовать конвертер, приводящий и оптимизирующий квесты к единому виду, согласно негласному формату, который выполняется на всех интерпретаторах, напр: удаление всех пробелов в именах, единые строковые операции и тд.

Неактивен

0    0    #37
03.11.2009 10:26

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

Выкладываю вторую часть: 130 проверенных и конверированных квестов для aurq.
Может кому и пригодиться, а у меня пока пропал интерес, и более серьезные дела
жаль, но действительно интересные квесты - редкость...
___
о кодинге: все расширения других urq можно эмулировать.
Вот эмуляция для получения имени предыдущей локации

Код:

:common
instr previous_loc=#%loc$&  ;запоминаем предыдущую локацию
instr loc=#%current_loc$&
end

Отредактировано abcdef (03.11.2009 13:43)


Прикрепленные файлы:
aurqQuests2.zip, Размер: 1,406,262 байт, Скачано: 832

Неактивен

0    0    #38
05.11.2009 08:52

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

а, и вот последняя из собранных версий.
более корректная работа с инвентарем.
( I - информация о переменнх инвентаря, U - дополнить меню элементами инвентаря )


Прикрепленные файлы:
aurq009.7.zip, Размер: 39,562 байт, Скачано: 852

Неактивен

0    0    #39
06.11.2009 10:32

abcdef
Участник (+1, -2)
Зарегистрирован: 09.03.2009
Сообщений: 58

Re: Нужны ли новые версии URQ и URQ_DOS ?

APROMIX, интерпретатор это одно, а редактор - другое,
тем более пожелания пользователей относятся к другим платформам.
Советую писать на си, там отладчики удобнее.

p.s.: хотел сказать в аське, но похоже, ты удалил свой контакт из моих, о чем тогда с тобой можно говорить?

Неактивен

Powered by PunBB
© copyright 2001–2026 iFiction.Ru