контент
продукт
подкаст
Слушать последний подкаст:
Ссылки:
наши соцсети
ТГ каналы

Циклы — автоматизация повторяющихся действий без копирования кода

Что такое циклы

Циклы — это функция скриптов Robocode, которая позволяет много раз выполнять одно и то же действие без дублирования строк. Если вам нужно обработать десятки сделок, пересчитать значения в массиве или выполнить одинаковую операцию для группы сущностей — цикл решает эту задачу в одну конструкцию.
Это основной инструмент для работы с:
  • массивами сделок
  • списками контактов
  • результатами поиска
  • любыми наборами данных
Цикл сделает скрипт компактнее, понятнее и быстрее. Вместо того, чтобы копировать одно и то же действие 50 раз, вы описываете логику один раз — и Robocode выполнит её столько раз, сколько нужно.

Как пользоваться циклами

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

Возможности циклов и примеры использования

Глобально цикл нужен, когда требуется:
  • пересчитать значения
  • проверить элементы по условию
  • выполнить повторяющееся действие много раз
  • обработать результаты поиска
  • сформировать массовые изменения
Например, мы хотим найти все сделки по заданным критериям и проставить примечания в каждой из них.
Шаг 1
  • Используем функцию НайтиСделкиМассивом
  • Сохраняем результат в переменную Сделки
Шаг 2
Создаём цикл:
  • В первом аргументе выбираем массив Сделки
  • Во втором аргументе используем автоматически созданную переменную ЭлементМассива
Шаг 3
Внутри цикла добавляем функцию СоздатьПримечание
В аргумент ИдСущности передаём:
ЭлементМассива.ИдСделки
В итоге Robocode последовательно обработает все сделки: возьмёт первую сделку → создаст в ней примечание → перейдёт ко второй → и так далее, пока не пройдёт весь массив.
В результате примечание появится во всех найденных сделках без копирования кода и ручной логики.

Итог

Циклы значительно расширяют возможности скриптов Robocode.
Они позволяют:
  • качественно работать с массивами
  • выполнять массовые действия
  • избегать дублирования кода
  • строить сложную логику обработки данных
Если вы начинаете автоматизировать процессы глубже одного действия — без циклов уже не обойтись.
Это базовый инструмент для построения масштабируемых и профессиональных сценариев в Robocode.

Что ещё почитать: