Поиск по меткам: Алгоритм, algorithm
Позволяет создать случайное распределение точек, минимальное расстояние между которыми фиксированно, но тем не менее само распределение точек сохраняет свойства случайного. Например это нужно, для того, что бы случайное появление Баз в wc3 или героев имело минимальное расстояние между собой.
1
Сравнение скриптовых языков Jass, lua и AngelScript путём измерения скорости через Benchmark API от UjAPI.
4
Диспетчер событий, реализованный на Lua. Может работать в режиме обычного объекта или в режиме WLPM модуля (определяется автоматически).
Является одним из фундаментальных модулей при построении ахритектуры приложения. Решает проблему высокого зацепления. В основе - паттерн observer
13
Это очень простая вещь на самом деле и тем не менее позволяет легко создавать сложные траектории снарядов, которые всем попадались на глаза
21
Разработан алгоритм появления деревьев. Алгоритм позволяет контролировать количество пеньков и максимальное количество деревьев для предотвращения утечек из-за перенаполнения декорациями.
1

О системе

Относительно краткий пример системы контролей (стан/сон/сайленс/замедление), который можно легко дополнять в зависимости от нужд.
Главным бонусом UjAPI в данной наработке является Ability Instance API, который позволяет менять поля заклинаний/баффов без нужды изменений в РО.
Первая система как раз…
2
[WarCraft III] Jass identifier renamer - автопереименование функций и переменных в j коде
13

О системе

Относительно краткий пример создания ListBox фрейма используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является полноценный API специально добавленный для обработки ListBox фреймов, который позволяет просто на просто отказаться от fdf, а так же позволяет не только добавлять…
3
Относительно краткий пример движения фрейма за виджетом/мировой координатой, на CSimpleFrame фрейме используя UjAPI и Frame API.
Система основывается на использовании GetWidgetScreenX/Y, есть конечно же и GetUnitScreenX/Y, всё это доступно с патча 1.0.28.102, потом советую ознакомиться с чейнджлогом.
Относительно краткий пример создания кнопки с перезарядкой на CSimpleButton и CSpriteFrame фреймах используя UjAPI и Frame API.
Главным бонусом UjAPI в данной наработке является handlelist тип, который позволяет нам хранить все созданные фреймы в "листе" и не использовать тучу переменных, без какой-либо нужды. А так же возможность получать имя/контекст фрейма, что позволяет в целом и не прибегать к спискам, а банально использовать сам фрейм как "ключ" для получения дочерних фреймов.
1
Относительно краткий пример создания системы магазина строго на CSimpleFrame/CSimpleRegion фреймах используя UjAPI и Frame API.
6
Относительно краткий пример создания пик системы строго на CSimpleFrame/CSimpleRegion фреймах (за исключением превью героя) используя UjAPI и Frame API.
17
Известный случай, что используя различные физические размеры, GetUnitX/Y возвращает не очень корректные значения, либо же создание объектов используя полученные координаты немного смещаются, что приводит к заметным сдвигам, например при создании спецэффектов.
4
Предлагается алгоритм генератора случайного ландшафта похожего на белый шум. Алгоритм нацелен на предварительную генерацию до начала основных действий игры. Описание алгоритма состоит из трех частей. Генерация текстур рельефа, генерация деформаций рельефа, генерация декораций. Алгоритм не содержит никаких публичных функций кроме инициализации. В целом готов к копированию в любую карту без изменений, возникающие проблемы легко решаются изменением малого числа констант.
7
Запуск периодического таймера для конкретного игрока.
3
Данный ресурс содержит API для имитации функционала групп для переменных типа item и effect. Так же содержится API для unit группы, которая является скорее "переосмыслением" существующего API.
12
Функция плавного перемещения вдоль препятствий
15
Вот добавлена 2 часть, что не влезла в 1 часть. с большим кол-вом формул и решении для различных задач.
4
часть 1
часть 2
как пишут многие, что это преподают в начальных курсах школы. но многое я пропустил. поэтому может пригодится. Тут даны теоретические задания с ответами, и нужно дать решения.
1
Алгоритм цветовой конвертации
23
Шум перлина на cjass
Библиотека предоставляет структуру Real2D, которая предоставляет методы для работы с двумерным массивом дробных чисел.
Как известно, функцию InitHashtable() можно вызывать ограниченное количество раз. Поэтому для динамического выделения нативных хеш-таблиц нужен буфер, с помощью которого можно было бы переиспользовать уже созданные хеш-таблицы. Данная библиотека предоставляет 2 метода:
17
Использует BlzPauseUnitEx и делает ее похожей на обычный PauseUnit. Обычно, она использует внутренний счетчик использований, и приходится применять BlzPauseUnitEx обратно до тех пор, пока контроль юниту не вернется. Это исправляет данную "фичу".
Старый код пролежал 2 года в моем блоге но ни кто не узнал о нем. Поэтому решил выложить в ресурс как наработка позволяет не плодить одинаковых событии игроков.
Хочу поделиться функцией для проверки типа переменной.
11
Библиотека геометрии, реализованная на Lua в ООП формате.
Из вкусного:
  • Functions - вспомогательные функции типа обрезки и вычисления разного вида интерполяций
  • Vector3 - класс 3D вектора с перегруженными мат. операторами, поддержкой 3D конверсии из игровых структур и обратно, интерполяциями, применениями сферических оффсетов, проверок нахождения в сфере и ящике, трансформаций матриц и другое
  • Matrix3 - класс 3x3 матрицы с множеством разных конструкторов типа осей вращения и оператором перемножения
  • Matrix4 - класс 4x4 матрицы, он самый простой - с операторами сравнения и перемножения
  • Box - класс для работы с кубоидами, содержащий методы получения объёма, расширения, включения, пересечения с другими фигурами и др.
  • Sphere - класс для работы со сферами, содержащий методы получения объёма, включения, пересечения с другими фигурами и др.
  • Ray - класс для работы с лучами и получение точек пересечения с объектами
  • Camera - класс для хранения данных о камере и возможностью конвертировать оконные координаты и координаты сцены между собой
+ методы toGrid для построения фигур из сетки вершин
33
Алгоритм получения таблицы с уникальными числами в определенном диапазоне
13
В данный момент невозможно в одно действие проверить удерживается ли конкретная клавиша на клавиатуре или кнопка мышки, данная библиотека призвана помочь в решении проблемы.
3

Отслеживание мышки

Статья предлагает решение старой проблемы, найти положение мышки без сторонних утилит
33
`
ОЖИДАНИЕ РЕКЛАМЫ...