АвторСообщение
хитрый латышский койот




Сообщение: 290
Зарегистрирован: 14.06.05
ссылка на сообщение  Отправлено: 18.06.08 14:51. Заголовок: AkUrq2


AkUrq 2.12 beta 8
Потихоньку пишется новая акурка2, основанная на идее Sfeli и содержащая не малую долю его кода. Возможности пока довольно скромные, но это вопрос времени.
требует только IE5 (Windows 98+)

Что мы имеем:
 цитата:
Операторы:
;комментарий
:(локация)
p (текст без кавычек)
pln (текст без кавычек)
goto (локация)
proc (локация)
btn (локация),(описание)
(оператор)&(оператор)
cls
instr (переменная)=(текст без кавычек)
(переменная)=(значение)
if (условие) then (оператор) [else (оператор)]
inv+ [число,]предмет
inv- [число,]предмет
invkill [предмет]
perkill
play (имя_файла)[.wav]
input (переменная)
end
_ (продолжение предыдущей строки)
(<= >= <> > < = - + * / ==)

Системные метки:
:Сommon[_номер]
:use_(предмет)[_действие]

Конструкции:
#/$
##(код символа)$
#%(имя переменной)$
#(имя переменной)$

Системные переменные:
previous_loc
current_loc
last_btn_caption
common
music
count_(метка)
rnd[число]
inv_(предмет)



Краткое описание языка (Выборочно использовалась помощь от Корвина) Скрытый текст



очень короткий FAQ:
 цитата:
В1: Тут слишком мало возможностей для моих извращённых идей :) где синусы, вычисление корня, тысячи картинок, xbtn, и вообще где первая акурка? (привет Суд :)
О1: Думаю первая акурка дорабатываться больше не будет. Новые операторы в квотерое появятся со временем, но не так как они появлялись в первой акурке: операторы будут появляться только после того как их синтаксис утвердят большенство метров, к которым я отношу: Евгения, Сфели, Виктора, Корвина.
Уважаемый Борщевский разумеется тоже метр, но поскольку он ненавидит урку, я боюсь его спрашивать :)

В2: Где инвентарь? Месяц найти не могу уже. (привет Хлом :)
О2: Клавиши I и F6 открывают инвентарь.

В3: Как теперь закрыть инвентарь? (привет Гор )
О3: Теми же клавишами.

В4: Как закрыть текущий квест и начать новый?
О4: F2 выводит в меню.

В5: Что можно настроить в ини файле?
О5: Можно изменить шрифт (Goraph) и включить/отключить управление кнопками на цифрах. Если результат вас не устроит, а как было вы не запомнили х) то удалите ини файл



Ну и выражаю благодарность Sfeli который написал добрую половину функций. Их легко вычислить - если чтото в квотерое работает без проблем - это писал Сфели) Если глючит - то Акела)

Сообщения в этой теме буду периодически удалять

Колокола сегодня звонят особенно громко...Спасибо: 0 
ПрофильЦитатаОтветить
Ответов - 73 , стр: 1 2 3 4 All [только новые]


постоянный участник




Сообщение: 119
Зарегистрирован: 20.01.07
ссылка на сообщение  Отправлено: 13.12.08 21:25. Заголовок: Не, парсить названия..


Не, парсить названия параметров и присваивать - это гимор. :)

Пусть лучше будет так. При нажатии на кнопку, определенную как

btn локация(зн1, зн2), Текст кнопки


произойдет переход на локацию "локация". При этом переменной локация_пар1 будет присвоено значение зн1, переменной локация_пар2 - значение зн1 и т.п.

Количество значений-параметров - не ограничено. Так нормально?

(а чего мы делаем в теме про акурку?)

Тон.Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 9
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 13.12.08 21:56. Заголовок: fireton! Абсолютно ..


fireton!

Абсолютно согласен!

Единственное - при возможности использовать в общем виде неограниченное количество передаваемых параметров - переменная, хранящая общее число переданных параметров все-таки нужна. А вдруг мы не будем знать заранее количество параметров, которые нам передадут в обработчик. Пока в голову не приходит пример такой ситуации, но мало ли?

Повторяю - я не настаиваю на использовании ТОЛЬКО ОДНОЙ переменной, передаваемой как параметр. Это самоограничение родилось исключительно от мысли, что реализация подобная вашей окажется сложной и несогласующейся с парадигмой URQL.

Суть моих рассуждений можно свести только к одному - НЕ ИСПОЛЬЗОВАТЬ предлагаемый здесь (и возникший явно в запарке) формат xBtn Лока_Проц, Лока_Переход, Кнопа. НЕ ИСПОЛЬЗОВАТЬ потому, что функционал этого формата гораздо беднее существующего сейчас в Акурке. Не все это понимают, но это именно так.

А обсуждаю в этой теме, потому что такое предложение (по формату) возникло именно здесь.

Авторы Акурки справедливо отметили неудобность нынешнего формата xBtn {} (Хотя эта неудобность - исключительно неудобность чтения кода человеком. С машинной точки зрения нынешний xBtn идеален) - и, не совсем подумав, предложили в качестве замены набора произвольных операторов в фигурных скобках использовать ссылку на локацию, содержащую этот набор. С первой точки зрения кажется, что это абсолютно равноценная замена, однако это не так, что я и пытаюсь объяснить.

Согласен, что мое утверждение об ОДНОЙ переменной (что все таки вполне сработает) было излишним и сбивающим с толку, уводящим от основной темы, которую мне хотелось затронуть. Не подумав, запихнул в одну кучу две разные темы :)

Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 145
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 13.12.08 22:12. Заголовок: БОЖИЙ СУД, ААА :sm1..


БОЖИЙ СУД, ААА

Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 10
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 13.12.08 22:16. Заголовок: ну блин, или иначе п..


ну блин, или иначе поединок, дуэль, брошенная перчатка, вызов.

БОЖИИМ СУДОМ в средние века называлась крайняя степень разбирательства, когда анализ аргументов сторон заходил в тупик и невозможно было иначе доказать/опровергнуть чью-то правоту. Поскольку я видимо страдаю формой дизлексии, а именно, неспособностью выражать свои мысли в форме, понятной оппонентам, я предлагаю произвести доказательство практическими действиями.

Спасибо: 0 
ПрофильЦитатаОтветить
постоянный участник




Сообщение: 120
Зарегистрирован: 20.01.07
ссылка на сообщение  Отправлено: 13.12.08 22:20. Заголовок: Единственное - при в..



 цитата:
Единственное - при возможности использовать в общем виде неограниченное количество передаваемых параметров - переменная, хранящая общее число переданных параметров все-таки нужна. А вдруг мы не будем знать заранее количество параметров, которые нам передадут в обработчик. Пока в голову не приходит пример такой ситуации, но мало ли?


Если будет ситуация, когда понадобится передавать нефиксированное количество параметров, передавай первым параметром их количество. :)

Тон.Спасибо: 0 
ПрофильЦитатаОтветить
постоянный участник




Сообщение: 254
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 13.12.08 22:23. Заголовок: fireton пишет: (а ч..


fireton пишет:

 цитата:
(а чего мы делаем в теме про акурку?)


эта тема- про акурку-2, автор которой ещё не определился с синтаксисом xbtn в этом языке (я так понял).

пишет:

 цитата:
btn локация(зн1, зн2), Текст кнопки


ОК! мне это нравится больше любого из предложенных до этого вариантов. а, например, локация_парN будет хранить кол-во передаваемых параметров.

to ghoest: кажись, я тебя понял. понял, что неверно тебя понимал, но ты и сам выражался не больно-то ясно. теперь- порядок! НО остался ещё один малюсенький момент: xbtn локация_процедуры, локация_перехода, имя кнопки, работающая так, как я описывал, математически ровно настолько же функциональна, как и твой xbtn.

минутку, щазз поясню...

DosURQ- рулез!Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 11
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 13.12.08 22:24. Заголовок: ghoest пишет: Если ..


fireton пишет:

 цитата:
Если будет ситуация, когда понадобится передавать нефиксированное количество параметров, передавай первым параметром их количество. :)



ААААААААААААААААААААААААААААААЯТОРМОЗ

Вот это действительно, гениально

ЗЫ (чет на форуме цитирование хреново работает - вместо автора цитаты вставляется мое имя, приходится править

UPD
noname

Извините, что не жду вашего объяснения. Для начала уточню: я понимаю механизм действия формата xBtn Лока_Проц, Лока_Переход, Кнопа как ПОЛНОСТЬЮ эквивалентный нынешнему оператору xBtn Лока_Переход, {proc Лока_Проц}, Кнопа. Если я неверно вас понял, смоделируте то, как вы видите этот формат использую нынешний формат xBtn, если это невозможно - то объясните его действие подробнее. Если же я верно понял - то обещаю, конечно, сильно подумать над вашим разъяснением, однако чувствую, что все-таки прав я, однако объяснить не могу - не хватает мощности преобразовать мысль в текст :)

Спасибо: 0 
ПрофильЦитатаОтветить
постоянный участник




Сообщение: 255
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 13.12.08 22:37. Заголовок: ghoest пишет: я пон..


ghoest пишет:

 цитата:
я понимаю механизм действия формата xBtn Лока_Проц, Лока_Переход, Кнопа как ПОЛНОСТЬЮ эквивалентный нынешнему оператору xBtn Лока_Переход, {proc Лока_Проц}, Кнопа.


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

UPD

АГА! понял окончательно и бесповоротно! действительно, ТЫ ПРАВ! суть в чём: предложенный в этой теме xbtn (в споре с тобой нагло названный мной 'моим') был значительно более удобен старого btn и давал возможность обойтись значительно меньшим числом локаций там, где с btn пришлось бы использовать переменное либо очень большое кол-во локаций. на форуме мне не раз говорили, что без xbtn можно обойтись, и я не раз приводил контрпримеры.

на этот раз Вы(раз уж Вы на Вы, но вроде бы в нете принято на ты?) предложили ещё более удобный и простой вариант, а я проявил узость и не гибкость мышления, и продолжил отстаивать предыдущий. СПАСИБО за проявленное терпение и подробные разъяснения. мне было сложно врубиться, так как не мог использовать xbtn на практике- в досурке его, к сожалению, нет.

p.s.
под занавес хочу ещё раз поддержать вариант, предложенный fireton-ом.

DosURQ- рулез!Спасибо: 0 
ПрофильЦитатаОтветить
постоянный участник




Сообщение: 256
Зарегистрирован: 17.03.08
ссылка на сообщение  Отправлено: 13.12.08 23:11. Заголовок: НО есть одно НО, смо..


НО есть одно НО, смотрим тему сначала:

Korwin пишет:

 цитата:
Не все так легко, Граф. Код может иметь вставки в виде других операторов с запятыми, те же кнопки, да и #%строковая переменная$ тоже штука непредсказуемая. В свое время я предлагал xbtn метка, название, где метка это имя proc, но не понравилось


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

DosURQ- рулез!Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 12
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 13.12.08 23:20. Заголовок: noname пишет: редло..


noname пишет:

 цитата:
редложенный в этой теме xbtn ... был значительно более удобен старого btn и давал возможность обойтись значительно меньшим числом локаций там, где с btn пришлось бы использовать переменное либо очень большое кол-во локаций



АГА :).

И все таки лучший вариант предложил fireton (строго говоря, вариант предлагавшийся мной является лишь частным случаем варианта fireton'а) - с чем я и согласн.
Главное - то, что к лучшему для УРКи.


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



1. fireton предлагает заключать список параметров в скобки
2. разделять можно точками с запятой
3. можно по прежнему использовать фигурные скобки, по любому оператор вида
xBtn {пар1; ...; парN},Лока, Кнопа
будет более стройным по построению и человекочитаемым, чем оператор
xBtn Лока, {pln Куча_текста; if Укуренное_Условие then; и_прочая_чертова_куча_операторов}, Кнопа
4. В конце концов можно все-таки склониться к минимализму, и обойтись ОДНОЙ переменной :-D

А теперь, раз опасный камень с предлагавшимся ранее нефункциональным форматом xBtn обойден (надеюсь) - просто соображение в порядке бреда.
Касательно использования метки вида :#%Переменная$.

Сейчас объявить такую метку невозможно (проверил лично на имеющихся у меня УРКах). Но если бы это было возможно (а почему бы и нет?) - то это, друзья, БОМБА.

Представьте, что действительно можно описать метку, составная часть имени которой является переменной и определяется на этапе выполнения кода. Это вполне реально - ведь URQL является интерпретируемым языком, и текст программы, с которым работает плеер вполне можно динамически обновлять.
Что мы имеем? А мы имеем неявно задаваемый параметр, который можно использовать при вызове метки! Проще объяснить на куске кода (он не рабочий, но мог бы работать):

:loca
input UsrData
btn Say#%UsrData$, Answer
end

:Say#%UsrData$
pln You said #%UsrData$
end

Данный пример, конечно мало показателен (он вполне может быть изменен с применением обычной метки - но важно следующее - мы смогли передать в вызываемую локацию некий параметр.

Если эту возможность реализовать, то URQL станет единственным претендентом на самый бредовый язык в мире :-D



Спасибо: 0 
ПрофильЦитатаОтветить
постоянный участник




Сообщение: 121
Зарегистрирован: 20.01.07
ссылка на сообщение  Отправлено: 13.12.08 23:24. Заголовок: ghoest пишет: Касат..


ghoest пишет:

 цитата:
Касательно использования метки вида :#%Переменная$.


Мой мозг отказывается это воспринимать. :(

Тон.Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 13
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 13.12.08 23:39. Заголовок: fireton пишет: ghoe..


fireton пишет:

 цитата:
ghoest пишет:
цитата:
Касательно использования метки вида :#%Переменная$.

Мой мозг отказывается это воспринимать. :(



Во-первых, такую метку употребил noname, см. в постах выше.
Во-вторых, это в порядке бреда, просто для разминки мозгов :).
В-третьих, это вполне в духе URQL :)

ЗЫ. Хотя размышлять над таким извращением трудно. (Для меня метка вида :loc#%VAR$ примерно то же самое, что файл c именем file*name.??? :-D) - но тем не менее, легкость, с какой noname применил эту конструкцию заставляет предположить, что она вполне ожидаема кодером (в духе URQL)

Спасибо: 0 
ПрофильЦитатаОтветить



Сообщение: 14
Зарегистрирован: 10.12.08
ссылка на сообщение  Отправлено: 14.12.08 01:58. Заголовок: Перечитал еще раз уч..


Перечитал еще раз участок ветки с моими рассуждениями - действительно, невнятно, и уводит от темы :(

Предлагаю резюмировать итоги обсуждения - чтобы не забивать голову как вновь пришедшим, так и людям, непосредственно причастных к созданию Акурки2 и в частности, к определению окончательного формата xBtn.

МАНИФЕСТ xBtn.

1. Необходимость введения оператора xBtn (либо расширения синтаксиса оператора Btn) признается и более не обсуждается.
[для противников xBtn предлагаю кусок кода из поста о Божием Суде - этот код написан с применением существующего варианта xBtn из 1-й Акурки и, смею утверждать, не может быть реализован с помощью стандартного Btn - ни более длинным/трудным способом, ни каким либо другим - вообще никак]
2. За основу синтаксиса для нового xBtn (либо для расширения синтаксиса Btn) принимается вариант firetona, записываемый в общем виде как
Оператор_Btn [список_выражений], Локация, Название кнопки - окончательный синтаксис следует в дальнейшем уточнить
Данный вариант xBtn понимается, как вариант, математически эквивалентный существующему формату xBtn из 1-й Акурки, а так же как вариант, математически эквивалентный вызову процедур в других языках программирования.
3. Вариант синтаксиса xBtn Л_Проц, Л_Перехода, Название кнопки (а также любой другой синтаксис, который использует в качестве операндов только метки) - признается неудовлетворительным с функциональной точки зрения и далее не обсуждается.

Спасибо: 0 
ПрофильЦитатаОтветить
Ответов - 73 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет