![]() |
Способ расстановки группы юнитов в игре.
Всем привет. Не могу найти способ задать позиции для юнитов, состоящих в одном взводе. Например, 10 человек должны стоять на небольших расстояниях друг от друга кучкой, но не цепочкой. Нужно, чтобы они стояли в случайных позициях, но не попадали друг на дружку. Фиксированными коробками и другими фигурками получается, но так, чтобы рандомно и без перекрытия друг друга, никак не выходит. Для примера, подобный способ используется в такой игре, как Dawn of War 2. Подскажите, пожалуйста, алгоритм или если есть у кого пример такого кода.
|
Пусть у каждого юнита будет своё положение в коробке, к которому он будет идти, обходя препятствия и другие юниты. В DoW первых, кстати, оно глючит постоянно, так что задача та ещё %)
|
Создайте двухмерный массив, в котором значением массива будет объект с координатами центра сектора как на шахматной доске, с шириной и высотой которые равны необходимому минимальному расстоянию между юнитами. Суммарная ширина и высота ячеек естественно не должна быть больше ширины и высоты сцены.
Рандомное расположение юнитов делается путём генерирования случайных чисел. Юниты буду раскиданны по сетке при обычном рандоме ближе к центру. Также можно уменьшить ширину и высоту до половины, четверти, и т.д. минимального расстояния, но при генерации нужно тогда будет добавить проверку на отсутствие пересечений с полями других. |
| Часовой пояс GMT +4, время: 23:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.