XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
DioD

offline
Опыт: 45,134
Активность:
Механизмы JASS
  1. » Перебор группы

    Код:
    call GroupEnumUnitsInRange(Группа,КоординатаX,КоординатаY,Радиус,null)
              
        loop
            set Первый = FirstOfGroup(Группа)
            exitwhen Первый == null
            call GroupRemoveUnit(Группа,Первый)
    
            Действия:
            call KillUnit(Первый)
        endloop[code]


    Что именно делает этот код?
    Создаёт группу из всех юнитов которые находятся на расстоянии "Радиус" от точки с координатами X\Y
    Создаём цикл, который завершится когда в группе не останется юнитов
    Для того что-бы в группе не оставалось юнитов их следует удалять
    В качестве действия я выбрал убиение юнита

  2. » По группам

    Код:
    call GroupEnumUnitsInRange(Группа,КоординатаX,КоординатаY,Радиус,null)
    loop
            set Первый = FirstOfGroup(Группа)
            exitwhen Первый == null
            call GroupRemoveUnit(Группа,Первый)
    
    фильтр группы
            if not IsUnitInGroup(Первый,Урон уже нанесён) then
                call GroupAddUnit(Урон уже нанесён,Первый)
    
                Действия:
                call KillUnit(Первый)
            endif
        endloop

    Этот код так-же будет перебирать группу, но так-же введена группа "Урон уже нанесён"
    таким образом дважды урон нанесён не будет

Все вопросы и пожелания будут рассмотрены, если не понятно пишите свои вопросы.

Отредактировано DioD, 22.07.2006 в 06:45.
Старый 22.07.2006, 06:38
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
Молодчег, классно содрал с Вексориана.
Может, и не содрал, но скрипт один в один!
Старый 22.07.2006, 12:27
J
expert
offline
Опыт: 48,447
Активность:
он просто один в один и есть... недумаю что бывает какойто другой
Старый 22.07.2006, 12:36
DioD

offline
Опыт: 45,134
Активность:
Гениально товарищи, но скрипт может быть только один, ибо по другому невозможно сделать, если ты сможешь сделать код делающий ЭТО и он будет выглядеть иначе поговорим, а пока это только пустые слова...
Карта пример то перебору группы
Старый 22.07.2006, 14:07
Lawliet

offline
Опыт: 6,322
Активность:
Ого... ДиоД решил чтото сделать сам и показать? Ахтунг товаресче!
ЗЫ.. Не плоха...
Старый 22.07.2006, 14:33
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
А как насчёт функции ForGroup?
Старый 22.07.2006, 14:38
DioD

offline
Опыт: 45,134
Активность:
Напиши сам код, который будет работать корректно и без глобалок...
И не как у вексориана...
А я пока ты будешь думать состарюсь и умру...
Про саму карту, мне нужно что-бы те кто её скачали и запускали, отписались о производительности...
Зачем? а просто для того, что-бы выяснить, что лучше, куча глобалок или один массив...
К тому-же если показатели производительности будут удовлетворительными, можно собрать универсальный пул, который заменит кеш...
Кстати, для этого есть всё необходимое, связка из двух массивов и третьего контрольного обеспечат двумерный массив а умная система буквы в цифры расставит индексы

Отредактировано DioD, 22.07.2006 в 14:49.
Старый 22.07.2006, 14:44
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
Зачем? а просто для того, что-бы выяснить, что лучше, куча глобалок или один массив...

думаю масив
Старый 22.07.2006, 21:09
DioD

offline
Опыт: 45,134
Активность:
Я тоже так думаю, но нужны тестеры, хотя и без тестеров я скорее всего найду тот способ который будет лучше остальных...
Старый 23.07.2006, 08:36
J
expert
offline
Опыт: 48,447
Активность:
а вообще я думаю безразницы
Старый 23.07.2006, 17:14
DioD

offline
Опыт: 45,134
Активность:
Разница есть, любые функции занимают время на выполнение, так конвертирование кеша в число потом число в кеш должно занимать больше времени чем просто обращение к кешу...
Старый 23.07.2006, 17:21
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 05:57.