Всем привет! У меня вопрос в следующем: необходимо в начале игры создать в 12 точках 12 разных юнитов так, чтобы они не повторялись.
Был способ присвоить каждому юниту переменную "юнит"-массив и потом создавать в каждой точке юнит"[случайное число]. Но в таком случае юниты могут повторяться.
Нужен максимально простой способ сделать так, чтобы они не повторялись.

Тысячу раз рассказывался здесь этот алгоритм. Вон неделю назад спрашивали:
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Поменяй обратно на здание, затем убери текстуру земли, затем смени назад на юнита.
Там графа просто плавающая.
ответ
скорее всего есть триггер который реагирует на каст этой абилки либо на получение приказа
и это приводит к конфликту
попробуй выключить все триггеры
ответ
Ты так и не присвоил этой переменной нужное значение.
Убедись, что переменная hero_bandit имеет тип Боевая единица.
После создания, сразу используй hero_bandit[0] = (Last created unit)
Бандит надеюсь герой, а не обычный смертный ? (Иначе так ты его не воскресишь)
Прилагаю пример.
ответ
Один ресурс - один вопрос. Отвечу на второй.
Событие - Unit - A unit finishes training.
Условие - Unit-type comparison - Unit-type of Trained Units equals ТВОЙ_ТИП
Действия
Unit - Apply a life timer to Trained Unit.
ответ
Воскрешай абилкой паладина.

11
самый простой способ использовать UnitPool. Добавляем туда все типы юнитов, получаем случайный тип юнита из нашего пула, удаляем выбранный тип юнита. В результате получаем 12 разных юнитов.
Второй способ - создать массив, выбирать случайного типа юнита из массива и выбранный тип юнита перекидать например в конец массива и следующего юнита выбирать уже из диапазона случайных чисел 1..11, и далее так отнимать 1
20
wetalq, мне кажется такой способ с массивом (второй) не сработает. Смотри, скажем выпал юнит из переменной "юнит"(7). Далее мы присваиваем этого юнита переменной (12). Но ведь на его месте в переменной (7) останется пустое место. И игра просто ничего не создаст, если выпадет снова (7).
32
Yury13, Ну так ты проверять что в массиве не пустое место, не обязательно удалять юнита из массива, достаточно создать юнита и поместить его в группу, потом при выборе нового юнита из массива, проверить нет ли такого ид в группе юнитов, если есть, то искать снова, и так далее, ну и навсякий случай счетчик, если раз 10 не получилось, то создать конкретного.
24
Тысячу раз рассказывался здесь этот алгоритм. Вон неделю назад спрашивали:
Принятый ответ
26
Yury13:
мне кажется такой способ с массивом (второй) не сработает.
Два массива. Один для пула областей. Второй для пула юнитов.
11
Yury13, прошу прощения, не дописал немного
приведу пример
unit[1] = пехотинец
...
unit[5] = стрелок
..
unit[11] = чебурашка
unit[12] = тележка
Выбираем случайное число от 1 до 12, упало 5
Элементы массива меняем местами 5-ый и 12-ый и теперь у нас будет
unit[1] = пехотинец
...
unit[5] = тележка
..
unit[11] = чебурашка
unit[12] = стрелок
Для следующего юнита уже от 1 до 11. Мы грубо говоря сортируем массив на две части, первая часть те кто еще не упали, вторая - кто уже упал.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.