Форум » » Вопросы » Ответить

Вопросы

Seregatlt: Предлагаю тут задавать свои вопросы, и мой первый можно ли как то создать ехе файл чтоб играть без плеера?

Ответов - 440, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 All

Byte: Это динамическое выполнение кода. Выполняет код, переданный строкой-аргументом: dynamic " e=4 & if e=4:'STRING' "

Byte: В справке про неё написано, с примерами. DYNAMIC [$строка кода],[параметр 1],[параметр 2], ... - выполнение кода. Данный оператор позволяет динамически генерировать код игры. Переданные параметры хранятся в массиве ARGS. После выполнения кода предыдущие значения ARGS восстанавливаются. Примеры: DYNAMIC '$a="string<<$b>>"' DYNAMIC '$a' DYNAMIC 'if $a="string":''text!''' DYNAMIC " $args[0] addobj $args[1] ",'Текст','Вилка'

werewolf: примеры из справки не совсем удачны, поскольку для них DYNAMIC не обязателен а вот если надо присвоить значение переменной имя которой генерируется динамически из частей, то без него не обойтись DYNAMIC " <<$args[0]>>_<<$args[1]>> = args[2] ",'выносливость','волк',10 но обычно нужды в таких извращениях не возникает, и игру можно спокойно сделать и без DYNAMIC


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

MasterSet: Ладно, я ничего не понял, значит мне действительно ни к чему трогать эту функцию ) А вот насчет того что она есть в справке - странно. Может у меня старая версия? Поиск по слову DYNAMIC там ничего не дает и при чтении я ее не заметил (

werewolf: если у тебя в разделе Базовые операторы языка QSP в самом низу страницы DYNAMIC нет, то справку надо обновлять

Nex: MasterSet описание оператора DYNAMIC есть на странице справки "Базовые операторы языка QSP", легко найти через "указатель". Может у меня старая версия? На http://qsp.su всегда самые последние версии справки и редактора QGen.

MasterSet: Понял. Спасибо. Кстати, небольшой багрепорт. Хотя конечно вряд ли с этим многие столкнутся. Я сижу на Linux Ubunta, в рабочей среде Gnome. QGEN и QSPGUI использую стандартные, из под wine. Все в общем работает нормально, но не отражаются действия оператора menu. Если пускать на той же машине под виндой menu работает нормально в том же коде. Такие дела. Видать гном не умеет с этим работать.

Ntropy: MasterSet пишет: Я сижу на Linux Ubunta, в рабочей среде Gnome. QGEN и QSPGUI использую стандартные, из под wine. Все в общем работает нормально, но не отражаются действия оператора menu. Есть такое, у меня тоже самое, я использую QSP для Linux версии 5.5.9

Byte: Не отображаются пункты меню или иконки в меню? PS: У меня раньше работало всё. Скорее всего, что-то поломали в wx..

Ntropy: Byte пишет: Не отображаются пункты меню или иконки в меню? У меня меню появляется и махом исчезает. QSP под Wine

Byte: Окей, будем разбираться.

MasterSet: Еще вопрос. На этот раз конкретно и по существу. Есть вот такой кусок кода: IF jewels: CLA i = 1 :loop IF jewel[ i ]>0: ACT 'Продать <<$jewel[ i ]>> (<<jewel[ i ]>>) за <<price[ i ]>> золотых': jewel[ i ] = jewel[ i ] - 1 money = money + price[ i ] GT 'Town_jew' END END i = i+1 IF i < 51: jump 'loop' END END В теории этот кусок кода должен просматривать какие драгоценности есть у игрока и выдавать экшены на их продажу по одному. Экшены то он выдает и даже все совершенно так как задумано выглядит только... эти экшены ничего не делают. Как буд-то пустые. Что я пропустил? ЗЫ: тут немного криво код отображается, но думаю понятно.

WladySpb: MasterSet Хм.. Мне кажется, что он у тебя уходит в цикл... после вывода act'а он сразу выполняет i = i+1 IF i < 51: jump 'loop' END а поскольку переменные всё ещё хранят ту же информацию, новый act просто затирает старый..

MasterSet: Тэкс... Но акты то видны, они не исчезли. Ну допустим они становятся пустые. А делать-то что тогда? Я не понимаю как эту задачу решить (

WladySpb: MasterSet У тебя этот код выводит одно действие, или 50?

WladySpb: Выложи более крупный кусок кода, может, не здесь проблема?

MasterSet: В базе пока две драгоценности. Вот так: !ДРАГОЦЕННОСТИ И ЦЕНЫ НА НИХ price[1] = 50 $jewel[1] = 'Серебряный кубок' price[2] = 100 $jewel[2] = 'Золотой кубок' А зачем более крупный кусок кода? там из внешних переменных еще только jewels Он вводится в той же локе вот так: ACT 'Продать драгоценности': jewels = -1 GT 'Town_jew' END А потом обнуляется там же вот так: IF jewels: ACT 'Закончить': jewels = 0 GT 'Town_jew' END END И к этим кускам у меня нет претензий

Byte: В изначальном куске кода этот форум вырезал [ i ] где-то.. (Нужно поставить пробел рядом с буквами "i").

MasterSet: Точно. Он видимо решил что это форматирование. Поставил пробелы - теперь видно. Но [ i ] в коде были. Трабла не в этом (



полная версия страницы