QSP-плеер: вопросы и предложения
Re: QSP-плеер: вопросы и предложения
Во-первых, про убирание. ИМХО убирать ничего не следует, чтобы не потерять совместимость с предыдущими версиями. По той же причине изменять следует только в сторону расширения возможностей.
Итак, в нашей игре (программе) есть такие основные сущности: локации, предметы, действия. И основные средства для работы с ними:
| Добавить | Удалить | Проверка наличия | |
| Локация | ADDQST | KILLQST | нет |
| Предмет | ADDODJ | DELODJ | OBJ |
| Действие | ACT:END | DELACT | нет |
Видим, что в стройной системе операций не хватает 2 функций проверки –проверки существования локации и существования действия. Причем функция для локации более важна.
Byte обещал добавить функцию loc 'локация' (проверка, существует ли данная локация).
При этом может возникнуть конфликт с уже существующими играми, в которых может существовать переменная с таким именем.
Вводить проверку существования действия Byte, как я понял, не собирается. А жаль, это тоже могло бы пригодиться, да и язык стал бы более логичным и регулярным. Хотя, как бы назвать эту функцию?
По аналогии с OBJ и LOC это должно бы называться ACT, но это ключевое слово уже занято для оператора. Можно расширить функциональность CURACTS: если у этой функции задан параметр, то CURACTS('действие') возвращает текст указанного действия или пустую строку, если такого действия нет.
Re: QSP-плеер: вопросы и предложения
Следующее предложение касается управляющих конструкций.
Ветвление через вложенные IF:
Код:
IF … ELSIF … ELSIF… ELSE …END
разработчик уже обещал. Вещь полезная, т.к. разбор случаев – частая операция.
В QSP нет ни одного явного оператора цикла. Цикл приходится делать при помощи оператора перехода JUMP. Это не слишком сложно и авторы уже привыкли. Но можно добавить для наглядности явные конструкции «WHILE условие: … END» и, может быть, «REPEAT UNTIL условие» (как в Паскале).
Не помешал бы явный цикл с параметром (аналог FOR Бейсика). Чтобы не вводить много новых ключевых слов, его можно записать, например, так: (шаг «,С» может отсутствовать, тогда подразумевается шаг=1)
Код:
однострочный вариант - FOR перем = А,B,C: операторы
многострочный вариант
FOR перем = A,B,C:
операторы
END
Re: QSP-плеер: вопросы и предложения
Хочется 2 вещи:
1) Поддержку абс. позиционирования картинок в обычном плеере, как в Аэре
2) Звуков в Аэре, как в обычном плеере.
А циклы, ELSEIF...это уже на любителя, можно жить и без них.
В идеале, еще хорошо бы отдельный оператор для фоновой музыки (которая будет проигрываться в цикле) и возможность отключения звуковых эффектов и фоновой музыки из меню плеера (причем - отдельно)
Re: QSP-плеер: вопросы и предложения
Byte написал(а):
1. не будет.
абЫдно..будут несовместимости плееров.
Byte написал(а):
2. будет, но вероятно только wav/mp3.
А можно хотя бы еще MIDI? (уж больно компактный формат)
Byte написал(а):
Для фоновой музыки есть библиотека. А проигрывать мелодию в цикле - элементарно.
Да, но при исскуственном цикле всегда возможны перерывы в музыке на доли секунды, что будет несколько портить впечатление. Или нужно слишком часто проверять (порядка 5-10 раз в секунду)
Информация
- Статистика форума:
- Всего тем:
- 1062
- Всего опросов:
- 14
- Всего сообщений:
- 16791271
- Бездействующий:
- Пользователи форума:
- Всего пользователей:
- 2892
- Последним зарегистрировался:
- a79

Есть еще "переменные/массивы". И есть операции: получение количества, вставка в позицию, удаление из позиции, получение элемента по позиции.

















