Добавлен Omg_bounty_lord
Помогите с рандом появлением героев без повтора одного и того же юнита, пытался сделать, но у меня получилось, но может произойти такое, что у кого-то герой не появится и тут такой вопрос чтож за кривые руки(хелпаните сделать нормальный рандом героев без повтора желательно гуи
Принятый ответ
Допустим, есть массив с id героев, например, десятью. Нужно создать массив индексов от 1 до 10 и просто его перемешать.
Пример на Lua для перемешивания списка из гугла:
Пример на Lua для перемешивания списка из гугла:
shuffled = {}
for i, v in ipairs(x) do
local pos = math.random(1, #shuffled+1)
table.insert(shuffled, pos, v)
end
Да, можно проще.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован N7 Molot
Отредактирован MpW
А можно просто без лог переменной обойтись, обнули тип гера. И тогда проверяй, не обнулена ли переменная. Если обнулена, значит, он выбран, тогда в цикле заново рандомим, и так работает цикл до сих пор пока не найдет.
Отредактирован build
Пример на Lua для перемешивания списка из гугла:
Отредактирован N7 Molot
Переменные:
HeroList[] - массив с нобором героев
Мах - целочисленная равна количеству героев в HeroList
N - целочисленная
Триггер:
С-....
У-....
Д- N равно Random(0-Max)
создать юнита HeroList[ N ]
HeroList[N] равно HeroList[Max]
Max равно Max - 1