Автор | Сообщение |
fireton
|
| постоянный участник
|
Сообщение: 105
Зарегистрирован: 20.01.07
|
|
Отправлено: 23.11.08 20:50. Заголовок: FireURQ
FireURQ - это GUI-based интерпретатор URQ. Текущая версия:1.3.2 Основные возможности: Реализация URQL, близкая к классической URQ_DOS Расширенный синтаксис, позволяющий, например, передавать параметры в локацию-подпрограмму (отличия синтаксиса подробно описаны в файле справки). Возможность вставки изображения (или его части) в текст. Декораторы: фрагменты текста или изображения (включая анимированные GIF), которые можно поместить в любое место на экране и по-разному ими манипулировать. Пользовательские шрифты. Поддержка архивного формата квестов .QSZ, при использовании которого ресурсы можно поместить в файл квеста Расширенная поддержка музыки и звука. Поддерживаются форматы WAV, AIFF, MP3, MP2, MP1, OGG, а также трекерные форматы музыки: XM, IT, S3M, MOD, MTM, UMX. Кроме того, воспроизводится и MIDI-музыка (файлы MID). Также поддерживается формат MO3 (трекерная музыка с OGG-упакованными семплами). Реализован fadein и fadeout для музыки. Удобная озвучка локаций. Возможность создания exe-файла игры. Удобный режим отладки, в котором легко обнаружить ошибку и модифицировать квест без перезапуска проигрывателя. Многое другое (для справки смотрите прилагающийся файл FireURQ.html). Баги и пожелания направляйте в FireURQ Bug Tracker. Демонстрации возможностей: 1) http://ifwiki.ru/files/Fireurq_demo.qsz 2) http://ifwiki.ru/files/Decodemo.qsz 3) http://ifwiki.ru/files/Skindemo.qsz История версий Планы на следующую версию Скачать последнюю версию Документация
|
|
Профиль
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
fireton
|
| постоянный участник
|
Сообщение: 152
Зарегистрирован: 20.01.07
|
|
Отправлено: 10.03.09 23:04. Заголовок: uux, спасибо за багу..
uux, спасибо за багу. Качайте новую версию.
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 166
Зарегистрирован: 13.03.07
|
|
Отправлено: 11.03.09 06:25. Заголовок: fireton пишет: uux,..
fireton пишет: Ох, боюсь, ты еще меня проклинать будешь;). Скрытый текст inv+ 1, Кирпич :test pln Тестовая локация btn test, test end :use_Кирпич proc someproc forget_procs end :someproc pln Здесь бросаем кирпич inv- 1, Кирпич end
| Похоже, есть проблемы с inv- и forget_procs.
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 154
Зарегистрирован: 20.01.07
|
|
Отправлено: 16.03.09 23:33. Заголовок: uux, inv- поправил. ..
uux, inv- поправил. Можно забирать новую версию. Что касается "неправильной" работы forget_procs, то смотри пункт 4b описания. В фурке переход на локации-обработчики инвентаря - не процедуры, а просто goto. Согласен, это спорно, но все-таки. В какой-то момент у меня была веская причина сделать так (хоть я ее и забыл уже ). Если хочется закончить игру из локации-обработчика, то можно очистить все кнопки и перейти куда подальше в локацию без кнопок. Это, кстати, будет работать и в досурке.
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 170
Зарегистрирован: 13.03.07
|
|
Отправлено: 17.03.09 06:53. Заголовок: fireton пишет: Что ..
fireton пишет: цитата: | Что касается "неправильной" работы forget_procs, то смотри пункт 4b описания. В фурке переход на локации-обработчики инвентаря - не процедуры, а просто goto. Согласен, это спорно, но все-таки. В какой-то момент у меня была веская причина сделать так (хоть я ее и забыл уже ). |
| Собственно, основной моей проблемой с forget_procs в предыдущей версии FireURQ была не данная особенность работы, а то, что при обращении к ней примерно через раз вываливался Run-time error.
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 155
Зарегистрирован: 20.01.07
|
|
Отправлено: 17.03.09 08:48. Заголовок: Это я поправил. Была..
Это я поправил. Была ошибка, что если вызывать forget_procs без перехода по proc, то падало. Наверное, надо было написать это в историю версий. Ну да ладно. Найдешь еще багов - велкам! :)
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 156
Зарегистрирован: 20.01.07
|
|
Отправлено: 19.03.09 18:35. Заголовок: Выложил версию 0.1.8..
Выложил версию 0.1.8 BETA. Проклятый inv... Но, кажись, я его таки победил...
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 182
Зарегистрирован: 13.03.07
|
|
Отправлено: 19.03.09 21:16. Заголовок: fireton пишет: Выло..
fireton пишет: цитата: | Выложил версию 0.1.8 BETA. Проклятый inv... Но, кажись, я его таки победил... |
| Уверен?;) Скрытый текст inv+ 1, И-Скакун :Pent pln Пент btn Pent, Мы никуда не уйдем с Пента! end :Izvr pln Вот ты и на Извре. btn Izvr, И с Извра мы тоже никуда не уйдем! end :use_И-Скакун_Активировать pln Ты активируешь И-Скакун и оказываешься на Извре. pln forget_procs goto Izvr end
|
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 157
Зарегистрирован: 20.01.07
|
|
Отправлено: 19.03.09 23:14. Заголовок: Тебе что не нравится..
Тебе что не нравится, собственно? Размножение кнопок? Я вообще плохо понимаю логику, по которой они должны очищаться. В фурке кнопки очищаются только в двух случаях: переход по кнопке и команда clsb. Если их очищать при действии над инвентарем - будет еще хуже - пропадут все кнопки в локации. Вызывай вместе с forget_procs команду clsb - и будет счастье. Хотелось бы услышать побольше мнений по поводу поведения фурки при переходе на другую локацию через действие над инвентарем...
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 183
Зарегистрирован: 13.03.07
|
|
Отправлено: 20.03.09 05:32. Заголовок: fireton пишет: Тебе..
fireton пишет: цитата: | Тебе что не нравится, собственно? Размножение кнопок? |
| Ну да, именно оно;). Если без него никак - будем обходить...
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 158
Зарегистрирован: 20.01.07
|
|
Отправлено: 20.03.09 08:17. Заголовок: uux пишет: Ну да, и..
uux пишет: цитата: | Ну да, именно оно;). Если без него никак - будем обходить... |
| Я бы рад решить эту проблему как-то изящней. Ну вот, смотри. Мы доходим до end и высвечиваем список накопившихся кнопок. Затем пользователь вызывает действие у инвентаря. Мы прыгаем на локацию-действие. Там что-то делаем. Встречаем end и опять же высвечиваем список кнопок. Как определять момент, когда автору понадобилось увести нас на совершенно другую локацию? В урке локации - довольно-таки условны. Поэтому в локациях-действиях рекомендуется никуда не прыгать, а выставлять флаги и переменные. А если уж понадобилось прыгнуть, то, я понимаю, это нештатная ситуация и надо позаботиться об очищении списка кнопок самостоятельно.
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 159
Зарегистрирован: 20.01.07
|
|
Отправлено: 20.03.09 08:37. Заголовок: Ок. Я, кажется, поня..
Ок. Я, кажется, понял. Для досурки действие - это подпрограмма. Перед переходом на нее все кнопки очищаются. А после возврата - перепроигрывается локация, с которой произошел переход на локацию действие. Таким образом, кнопки наполняются заново, причем, с учетом изменений, произошедших на локации-действии! С одной стороны, это хорошо. С другой - плохо. Ведь мы могли перейти на текущую локацию по цепочке goto, набирая кнопки "по пути". Тогда исходную цепочку уже не удастся повторить. Не говоря уже о том, что в текущей локации могли меняться какие-нибудь переменные и ее повторное исполнение разломает логику игры. Вот пример: Скрытый текст inv Палка :dummy pln Вы стоите в большой светлой комнате btn other, Выйти из дома goto ТЕСТ :ТЕСТ pln У вас в руках палка. if (razm=1) then pln Один конец ее размочален нафик. btn ТЕСТ, Повтор end :other pln Вы вышли из дома и теперь стоите на лужайке. btn dummy, Вернуться end :Use_Палка_Треснуть об землю pln Вы со всего размаху шандарахаете палкой об пол! razm=1 end
| В досурке, если перед тем, как выйти из дома, треснуть палкой об землю, то выйти из дома уже никогда не удастся. В фурке все будет хорошо, но информация о размочаленной палке не появится на экране после возврата из локации-действия. Впрочем, можно же вставить вывод подобного сообщения в саму локацию-действие. Люди, мне очень нужны ваши комментарии по этому поводу! Пожалуйста, помогите мне определить, что есть правильное поведение в данном конкретном случае!
|
|
Профиль
|
|
uux
|
| постоянный участник
|
Сообщение: 184
Зарегистрирован: 13.03.07
|
|
Отправлено: 20.03.09 09:15. Заголовок: fireton пишет: Люди..
fireton пишет: цитата: | Люди, мне очень нужны ваши комментарии по этому поводу! Пожалуйста, помогите мне определить, что есть правильное поведение в данном конкретном случае! |
| Тон, просто надо посмотреть существующую базу игр под Досурку. Если такое поведение (переход куда-нибудь из инвентаря) встречается часто, то тогда и делать какие-то телодвижения. А если таких игр всего пять штук, то и фиг с ним. Если абстрагироваться от вопросов обратной совместимости, то, на мой взгляд, поведение фурки более логично.
|
|
Профиль
|
Korwin
|
| постоянный участник
|
Сообщение: 487
Зарегистрирован: 25.05.05
|
|
Отправлено: 20.03.09 09:16. Заголовок: Мне кажется надо дел..
Мне кажется надо делать, как в досурке. Иначе мы никогда не разберемся в стандартах. С другой стороны, fireton, хорошим тоном в досурке тоже негласно считалось кнопки в действиях с инвентарем не добавлять, а только менять условия (переменные), по которым и происходит добавление кнопок в исходной локации
|
|
Профиль
|
fireton
|
| постоянный участник
|
Сообщение: 160
Зарегистрирован: 20.01.07
|
|
Отправлено: 20.03.09 09:18. Заголовок: Я буду очень благода..
Я буду очень благодарен, если кто-нибудь укажет мне на игру из существующих, в которой поведение фурки фатально, а поведение досурки - единственно правильное.
|
|
Профиль
|
Nex
|
| |
Сообщение: 173
Зарегистрирован: 03.07.07
|
|
Отправлено: 20.03.09 11:45. Заголовок: аццкий квест?..
аццкий квест? не знаю как там с процедурами, но для тестирования особенностей по-моему как раз
|
|
Профиль
|
noname
|
| постоянный участник
|
Сообщение: 333
Зарегистрирован: 17.03.08
|
|
Отправлено: 20.03.09 19:44. Заголовок: 1. fireton, интересн..
1. fireton, интересно, откуда ты вставил этот пример- я скопипастил в notepad, так у меня вся прога получилась одной строчкой 2 uux пишет: цитата: | Если такое поведение (переход куда-нибудь из инвентаря) встречается |
| Korwin пишет: цитата: | хорошим тоном в досурке тоже негласно считалось кнопки в действиях с инвентарем не добавлять, а только менять условия (переменные), по которым и происходит добавление кнопок в исходной локации |
|
наверное, я чего-то не понимаю, но в примере с палкой НЕТ перехода куда-нибудь из инвентаря, и кнопки В действиях с инвентарём НЕ добавляются. а отличие в выполнении- ЕСТЬ проще всего его заметить, если сразу же, первым делом размочалить палку на фик. выкладываю тот же текст в нормальном(для копипастинга виде): Скрытый текст inv Палка :dummy pln Вы стоите в большой светлой комнате btn other, Выйти из дома goto ТЕСТ :ТЕСТ pln У вас в руках палка. if (razm=1) then pln Один конец ее размочален нафик. btn ТЕСТ, Повтор end :other pln Вы вышли из дома и теперь стоите на лужайке. btn dummy, Вернуться end :Use_Палка_Треснуть об землю pln Вы со всего размаху шандарахаете палкой об пол! razm=1 end
|
|
|
Профиль
|
qwerty
|
| постоянный участник
|
Сообщение: 129
Зарегистрирован: 20.01.06
|
|
Отправлено: 20.03.09 20:33. Заголовок: сначала я подумал, ч..
сначала я подумал, что и досурка и фурка ведут себя по-своему логично, исходя из характерных для них особенностей вывода инфы на экран НО покрутив 'отличный' момент, и мысленно 'примерив' его для различных ситуаций, пришёл к другому выводу. 1. pln Вы стоите в большой светлой комнате btn other, Выйти из дома goto ТЕСТ ; btn ДО goto я стал бы делать ТОЛЬКО в тех случаях, когда она(btn) НЕ должна быть видна при переходе на ТЕСТ из другого места. так что досурка этот момент обрабатывает верно 2. и другой аспект отличия: попробуйте убить чудовище и снять с него шкуру(только эти два действия, и никаких других!) в этом примере: Скрытый текст inv меч inv нож чудо=1 :входим pln войдя в вонючую пещеру, ты останавливаешься, не видя ничего вокруг. pln через минуту глаза привыкли к тьме, и ты видишь, что :пещера if чудо=1 then pln в нескольких шагах от тебя спит жуткое чудовище if чудо=0 then pln в нескольких шагах от тебя лежит труп жуткого чудовища, if чудо=0 then pln его шкура может тебе пригодиться pln btn пещера, приглядеться ещё end :Use_меч_атаковать врага if чудо=0 then pln успокойтесь: все плохие уже мертвы if чудо=1 then чудо=0 & pln ты убил зловредную гадину end :Use_нож_снять шкуру if чудо=1 then pln ничего хорошего из этого не выйдет if чудо=0 then pln ты сделал очередной надрез end ;процесс снятия шкуры и проверка её наличия опущены за ненадобностью
|
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 185
Зарегистрирован: 13.03.07
|
|
Отправлено: 20.03.09 21:32. Заголовок: noname пишет: uux п..
noname пишет: цитата: | uux пишет: цитата: Если такое поведение (переход куда-нибудь из инвентаря) встречается Korwin пишет: цитата: хорошим тоном в досурке тоже негласно считалось кнопки в действиях с инвентарем не добавлять, а только менять условия (переменные), по которым и происходит добавление кнопок в исходной локации наверное, я чего-то не понимаю, но в примере с палкой НЕТ перехода куда-нибудь из инвентаря, и кнопки В действиях с инвентарём НЕ добавляются. |
| noname, внимательнее читай всю ветвь дискуссии, а не отдельные сообщения, и вопросов будет возникать меньше. Все началось вот с этого примера в одном из моих предыдущих постов (дублирую его здесь, чтобы тебе не искать): Скрытый текст inv+ 1, И-Скакун :Pent pln Пент btn Pent, Мы никуда не уйдем с Пента! end :Izvr pln Вот ты и на Извре. btn Izvr, И с Извра мы тоже никуда не уйдем! end :use_И-Скакун_Активировать pln Ты активируешь И-Скакун и оказываешься на Извре. pln forget_procs goto Izvr end
| В этом примере Досурка действует корректно (после активации И-Скакуна очищает кнопки исходной локации), а Фурка (и, кстати, Акурка тоже) - нет. Здесь как раз есть переход из в другую локацию из инвентаря. Пример Тона с палкой - это контраргумент, ситуация, когда Фурка обрабатывает все нормально, а Досурка - не совсем.
|
|
Профиль
|
noname
|
| постоянный участник
|
Сообщение: 334
Зарегистрирован: 17.03.08
|
|
Отправлено: 20.03.09 21:38. Заголовок: ветку читал, просто ..
to uux: ветку читал, просто понял не так: я думал, что то отличие уже исправлено в выложенной после этого версии, и теперь Тон обдумывает, исправлять ли ему другое отличие(из примера с палкой). надеюсь, что qwerty удалось показать, что досурка вполне корректно ведёт себя и в этом случае спасибо за разъяснение
|
|
Профиль
|
uux
|
| постоянный участник
|
Сообщение: 187
Зарегистрирован: 13.03.07
|
|
Отправлено: 20.03.09 22:04. Заголовок: Korwin пишет: С дру..
Korwin пишет: цитата: | С другой стороны, fireton, хорошим тоном в досурке тоже негласно считалось кнопки в действиях с инвентарем не добавлять, а только менять условия (переменные), по которым и происходит добавление кнопок в исходной локации |
| Урочных правил хорошего тона я не знаю, конечно, но в моем примере логично делать переход именно из инвентаря, а не из исходной локации (особенно, если в ней не одна кнопка, а несколько - код распухнет на несколько условных операторов). Тон, появилась свежая сумасшедшая мысль: а может, просто сделать побочным эффектом forget_procs очистку кнопок? Ведь, как я понимаю, forget_procs в основном именно для того и применяют, чтобы избежать накапливания кнопок при переходе по цепочке процедур. Можно также регулировать поведение forget_procs в отношении кнопок флагом из программы... Пусть безумная идея - вы не решайте сгоряча (c) ;)
|
|
Профиль
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|