Позволяет создать случайное распределение точек, минимальное расстояние между которыми фиксированно, но тем не менее само распределение точек сохраняет свойства случайного. Например это нужно, для того, что бы случайное появление Баз в wc3 или героев имело минимальное расстояние между собой.
Разработан алгоритм появления деревьев. Алгоритм позволяет контролировать количество пеньков и максимальное количество деревьев для предотвращения утечек из-за перенаполнения декорациями.
Предлагается алгоритм генератора случайного ландшафта похожего на белый шум. Алгоритм нацелен на предварительную генерацию до начала основных действий игры. Описание алгоритма состоит из трех частей. Генерация текстур рельефа, генерация деформаций рельефа, генерация декораций. Алгоритм не содержит никаких публичных функций кроме инициализации. В целом готов к копированию в любую карту без изменений, возникающие проблемы легко решаются изменением малого числа констант.
Как известно, функцию InitHashtable() можно вызывать ограниченное количество раз. Поэтому для динамического выделения нативных хеш-таблиц нужен буфер, с помощью которого можно было бы переиспользовать уже созданные хеш-таблицы. Данная библиотека предоставляет 2 метода:
Функция, позволяющая задать зданию поворот во время игры. Работает за счет какой-то внутриигровой ошибки.
Функия проверяет отрезки на пересечения, если они пересекаются, то функция возвращяет true и устанавливает в глобалке точку пересечения.
""
globals
real x
real y
endglobals
real x
real y
endglobals
function linecrossline takes real x1, real y1, real x2, real y2, real x3, real y3, real x4, real y4 returns boolean
local…
local…
Инициализация:
Задать private constant integer RandMemMax на нужное количество запоминаемых чисел. Максимум: 8191
Использование:
Функция GetRandomIntMem принимает 2 integer: нижняя граница и верхняя граница, включительно. Возвращает случайный integer (между ними). Сгенерированные ранее числа…
Задать private constant integer RandMemMax на нужное количество запоминаемых чисел. Максимум: 8191
Использование:
Функция GetRandomIntMem принимает 2 integer: нижняя граница и верхняя граница, включительно. Возвращает случайный integer (между ними). Сгенерированные ранее числа…
""
globals
integer array Pow16x
integer array Pow256x
string array CharMap16
string array CharMap256
integer array CharInx16
integer array CharInx256
endglobals
integer array Pow16x
integer array Pow256x
string array CharMap16
string array CharMap256
integer array CharInx16
integer array CharInx256
endglobals
function S2Ix takes string s returns integer
return GetHandleId(s) changed, 20.03.2012
return…
return GetHandleId(s) changed, 20.03.2012
return…
Определяет высоту рельефа в заданных координатах точки. Полезно для реализации "правильного" движения снарядов.
""
library TerrainHeight
globals
private location loc = Location(0, 0)
endglobals
private location loc = Location(0, 0)
endglobals
function GetTerrainZ takes real x, real y returns real
call MoveLocation(loc, x, y)
return…
call MoveLocation(loc, x, y)
return…
`
ОЖИДАНИЕ РЕКЛАМЫ...