Циклы — это функция скриптов Robocode, которая позволяет много раз выполнять одно и то же действие без дублирования строк. Если вам нужно обработать десятки сделок, пересчитать значения в массиве или выполнить одинаковую операцию для группы сущностей — цикл решает эту задачу в одну конструкцию.
Это основной инструмент для работы с:
массивами сделок
списками контактов
результатами поиска
любыми наборами данных
Цикл сделает скрипт компактнее, понятнее и быстрее. Вместо того, чтобы копировать одно и то же действие 50 раз, вы описываете логику один раз — и Robocode выполнит её столько раз, сколько нужно.
Как пользоваться циклами
Цикл создаётся при добавлении новой строки в редакторе скрипта:
Основное → Цикл
После выбора функции нужно задать два аргумента:
Первый аргумент — Массив
В этот аргумент передаётся переменная, содержащая массив значений.
Важно: Переменная должна быть создана и заполнена заранее (например, через функцию поиска).
Пример
вы нашли сделки через функцию НайтиСделкиМассивом
результат записали в переменную Сделки
эту переменную передаёте в цикл
Второй аргумент — ЭлементМассива
Это автоматически создаваемая переменная.
Она по очереди принимает значение каждого элемента массива.
Если в массиве 10 сделок — цикл выполнится 10 раз, и каждый раз ЭлементМассива будет равен одной конкретной сделке.
Что происходит дальше?
Внутри цикла вы можете:
выполнять логические проверки
делать арифметические расчёты
создавать примечания
изменять поля
запускать другие функции
Все действия внутри блока будут выполняться для каждого элемента массива.
Возможности циклов и примеры использования
Глобально цикл нужен, когда требуется:
пересчитать значения
проверить элементы по условию
выполнить повторяющееся действие много раз
обработать результаты поиска
сформировать массовые изменения
Например, мы хотим найти все сделки по заданным критериям и проставить примечания в каждой из них.
Шаг 1
Используем функцию НайтиСделкиМассивом
Сохраняем результат в переменную Сделки
Шаг 2
Создаём цикл:
В первом аргументе выбираем массив Сделки
Во втором аргументе используем автоматически созданную переменную ЭлементМассива
Шаг 3
Внутри цикла добавляем функцию СоздатьПримечание
В аргумент ИдСущности передаём: ЭлементМассива.ИдСделки
В итоге Robocode последовательно обработает все сделки: возьмёт первую сделку → создаст в ней примечание → перейдёт ко второй → и так далее, пока не пройдёт весь массив.
В результате примечание появится во всех найденных сделках без копирования кода и ручной логики.
Итог
Циклы значительно расширяют возможности скриптов Robocode.
Они позволяют:
качественно работать с массивами
выполнять массовые действия
избегать дублирования кода
строить сложную логику обработки данных
Если вы начинаете автоматизировать процессы глубже одного действия — без циклов уже не обойтись.
Это базовый инструмент для построения масштабируемых и профессиональных сценариев в Robocode.