Skip to content

About

Библиотечка математических функций easy.math версии 3.x.x.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

259 Commits

Folders and files

Repository files navigation

Easy.Math

Версия 3.x.x

Библиотека математических функций "easy.math" для Quest Soft Player.

Разрабатывалась для плееров версий 5.9.0 — это: классический плеер версии 5.9.0, qSpider. Не гарантируется правильная работа на плеерах иных версий. Некоторые функции имеют ограничения на значение числовых аргументов, это связано с используемыми плеером библиотеками. Для разных версий плеера могут быть разные ограничения, поэтому внимательно читайте документацию к плееру, под который разрабатываете игру.

Для плееров версии 5.7.0. существует ветка версий 2.x.x.

По всем вопросам и предложениям обращаться:

Подключение и использование

Предполагается, что Вы читали справку по QSP, пробовали писать игры и уже знаете, что такое локации, подпрограммы (процедуры) и функции, чем отличаются текстовые и числовые переменные, что такое аргументы и для чего они нужны.

Чтобы использовать функции библиотеки при написании своей игры, сделайте следующее:

  1. скачайте архив с библиотекой отсюда, и распакуйте в папку, где лежит ваша игра. В папке с вашей игрой должна появиться папка "lib".
  2. В своей игре на самой первой локации, в поле "выполнить при посещении" введите
inclib 'lib\easy.math.qsp'
  1. Теперь Вы можете пользоваться функциями библиотеки.

Все функции вызываются с помощью ключевого слова FUNC( ) - для получения числовых значений, и $FUNC( ) - для получения текстовых значений.

Исключением являются функции, результат которых записывается в массив. Такие функции вызываются оператором GOSUB, или GS.

$FUNC('em.foo',$args[0],$args[1],$args[2],$args[3],$args[4],$args[5],$args[6],$args[7],$args[8])

Можно использовать неявный вызов функции, если вам удобно:

@em.foo($args[0],$args[1],$args[2],$args[3],$args[4],$args[5],$args[6],$args[7],$args[8])

Аргументы могут быть текстовыми, числовыми или кортежами в зависимости от требований и назначения функции.

Все переменные, использующиеся функциями, являются локальными, т.е. уничтожаются после использования, кроме переменных/массивов, в который может быть возвращён результат.

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

  • кортежи - символом % в начале имени;
  • текстовые массивы - с символом $ перед именем,
  • числовые - без символов $ и % перед именем.

Функции могут принимать или возвращать кортежи значений.

Работа с исходниками

Вы можете скачать исходный код библиотеки с гитхаба и собрать собственный модуль лишь из тех функций, которые вам нужны.

Сборку рекомендуется осуществлять через билдер в Sublime Text из пакета QSP для SublimeText.

При включенном препроцессоре необходимо подключить файл 00_sets/_variables.qsps_ к сборке, чтобы все функции добавились в модуль, либо написать собственный файл с метками нужных функций и так же подключить его к сборке. Для примера, можно взять project.json из исходников.

Мануалы

Офлайн версия руководства по использованию библиотеки доступна в формате HTML вместе с релизной версией библиотеки.

Онлайн руководство доступно по ссылкам:

Перспективы

Библиотека будет пополняться новыми функциями по мере необходимости, и если существование функции хоть как-то оправдано. Некоторые функции на сегодняшний день сделать невозможно - они будут либо слишком сложны, либо заметно снизят быстродействие игры. Вероятно, некоторые математические операции очень скоро будут встроены непосредственно в движок плеера, и необходимость в них отпадёт. Такие функции будут исключаться из последующих версий библиотеки. По возможности, алгоритмы будут упрощены и разгружены, а так же будут достраиваться необходимые для работы с функциями параметры.

About

Библиотечка математических функций easy.math версии 3.x.x.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages