Привет!
QuestBox (QBox) - платформа ИЛ (менюшных текстовых квестов) для Windows. ИЛ пишется в любом удобном текстовом редакторе, исходный код остается открытым. Скриптовая часть для программирования логики может использовать несколько разных языков программирования в одном квесте: Lua, Pascal, C, VB, JavaScript и др. В их число входит внутренний очень простой скриптовый язык Simple, похожий на бейсик и URQL.
Файлы квестов: *.qbx - это обычные файлы *.xml с квестом и скриптами внутри; *.qbz - файл-zip-архив с файлом квеста *.qbх, описанием квеста index.txt, также в архиве могут содержаться другие файлы, необходимые для проигрывания квеста, например, рисунки или звуки.
Страница: http://ifiction.pascalgames.net/questbox.html
Поддержка: http://qbox.uaforums.net/
Отредактировано APROMIX (30.08.2011 22:30)
Неактивен
APROMIX написал:
QuestBox (QBox) - платформа менюшных текстовых квестов для Windows. Квесты пишутся в любом удобном текстовом редакторе, исходный код остается открытым. Скриптовая часть использует язык Lua. Написана на С++
А в чем ее плюсы-минусы по сравнению с существующими платформами? (URQ, QSP и т.п.)
Неактивен
Logger написал:
А в чем ее плюсы-минусы по сравнению с существующими платформами? (URQ, QSP и т.п.)
И не забываем про INSTEAD.
Мне больше интересна игра. APROMIX, расскажи подробнее про игру.
Неактивен
Это порт урк'ушной игры.
Неактивен
To Nex
На этой игре я и Kariot тестировали QuestBox. Квест - порт одноименного квеста для URQ. Это моя первая игра, в которую я сыграл в урке
Поэтому решил перенести на QuestBox. Для QuestBox уже начал писать вторую игру, называется "Логово Гидры", также этот квест будет портирован на URQ.
Неактивен
QuestBox обновлен до версии 0.5 ![]()
Неактивен
QuestBox обновлен до версии 0.7.
Основные изменения:
1. Отказ от старого формата файла .qbf и переход на xml (.qbx) c соблюдением логики .qbf.
2. Замена Lua на внутренний простой скриптовый язык, названый мною SIMPLE, по синтаксису близкий к бейсику, lua и URQL.
3. На будущее заложена возможность использовать в одном квесте скрипты на разных языках программирования: Simple, Lua, Pascal, VB, C и других. В этой версии поддерживается только Simple.
4. Поглощение проекта IFPhoenix (QPas), ИЛ на Паскале. Все наработки будут использованы в QBox.
Неактивен
Язык программирования "Simple" уже есть ![]()
Неактивен
Спасибо Байт
Значит переименуем его в другое название - Quest Box Language (QBL). Кстати, в этом языке есть скромная, но удобная фишечка, которую хотелось бы видеть в QSP и URQL. Подобная штука есть в Lua. Сразу соглашусь, что она не часто используется, и что без нее можно обойтись, но она добавляет некоторой упрощенности и гибкости языку. Это множественное присваивание:
Переменная1, Переменная2, Переменная3 = 0
или
Переменная1, Переменная2 = Переменная3 * Pi
Что-то в этом роде
Что скажешь, Байт?
Неактивен
По примеру ничего не понял ![]()
Неактивен
Подумал тут и решил, что выдумывать новый язык QBL не буду
Если нету ничего проще для квестописателя, чем URQL из URQDOS, то буду использовать его как язык для скриптов по-умолчанию, благо, документации по нему море.
Канечно
это будет некий упрощенный диалект URQL, но все это будет в свежей версии.
[b]HzD_Byte[/]
Читай, как Nex написал ![]()
"Множественное присваивание", в первом примере, я присваиваю трем переменным одно значение, ноль, получается сокращенная запись, короче, чем обычный способ. Я не знаю, будет ли такой способ плодить больше ошибок, но сокращает код и делает его нагляднее - это точно
В Lua есть такая фишка, она несколько инная, но там не побоялись ее использовать и это только выгоднее отличает язык от остальных. Это только примеры, нужно копать глубже, даже подсмотреть, как это сделано в Lua.
Вот выдержка по Lua 4 из русского руководства:
...синтаксис определяет список переменных слева и список значений с правой стороны... Эта инструкция сначала оценивает все значения справа и возможные индексы слева, а затем делает присваивание.
Используя этот метод, вот так просто можно поменять два значения:
x, y = y, x
А пришлось бы делать так:
a = x
x = y
y = a
Неактивен
Такой вариант уже планировался к реализации. Но это не то, что ты написал ранее.
Неактивен
HzD_Byte написал:
Такой вариант уже планировался к реализации. Но это не то, что ты написал ранее.
Не понял
Множественное присваивание и в Африке множественное присваивание
Может в постах я не навел не все возможные примеры? Это да, примеров много будет, тема широка.
Аргументируй, плиз.
Неактивен
Это так не записывается:
Переменная1, Переменная2, Переменная3 = 0
Записывается как
Переменная1, Переменная2, Переменная3 = 1,2,3
Неактивен
То есть, если я хочу 5-м переменным присвоить 0, то я, по-твоему, должен писать так:
a, b, c, d, e = 0, 0, 0, 0, 0
А не проще так:
a, b, c, d, e = 0
Это первый вариант, второй, когда вместо 0 будет еще проводиться какое-то арифм. действие или подобное.
a, b, c, d, e = 128 * 64 / 2
Ну и третий вариант, когда переменных поровно с обеих сторон:
a, b, c = 1, 345, x
Да вобщем я только предложил...
Неактивен
В Python'е такой вариант не заработает, к примеру:
a, b, c, d, e = 128 * 64 / 2
Неактивен
QuestBox обновлен до версии 0.9.3. http://www.onlinedisk.ru/file/665752/
Неактивен
Свершилось
QuestBox наконец-то дорос до версии 1.0
Страница: http://ifiction.pascalgames.net/questbox.html
Неактивен
APROMIX написал:
Свершилось
QuestBox наконец-то дорос до версии 1.0
![]()
Страница: http://ifiction.pascalgames.net/questbox.html
Та же история - все умерли.
Неактивен