Clickermann как зациклить сценарий
Перейти к содержимому

Clickermann как зациклить сценарий

Как пользоваться Clickermann — простой пример

Как отмечалось на странице загрузки, кликкерманн имеет два способа записи сценария: производить запись действий с экрана или написать программу самому. Встроенный язык программирования создан максимально для новичков, поэтому большинство людей смогут его освоить.

Запись сценария

Чтобы записать сценарий, нажмите на красный квадрат — программа начнет записывать ваши действия.

Запись сценария

Запись сценария

После того как необходимо запись остановить, нажмите на синий квадрат.

Если вы перейдет в редактор программы то там будут тысячи строк с функцией move. Это записываются движения мыши. В настройках снимите галочку «записывать движения мыши». Теперь код будет намного компактнее.

Программируем сценарий

В примере будет показан скрипт для очистки корзины.

Перед написанием программы необходимо продумать ее алгоритм. Необходимо кликнуть по корзине правой кнопкой и из контекстного меню выбрать пункт «очистить корзину», затем подтвердить удаление. Теперь, когда знаем последовательнось действий, запрограммируем этот пример.

    Запускаете программу Clickermann. В разделе скрипт перейдите в «Редактор».

Сохраните программу, чтобы скрипт могли воспроизводить в будущем. Чтобы запустить программу нажмите зеленую кнопку PLAY.

Clickermann как зациклить сценарий

Условия, циклы, подпрограммы

Сложные составные конструкции, делающие программы более умными, а сценарии более короткими и лаконичными.

IF (expression) . END_IF — проверяет истинность выражения и выполняет блоки инструкций в зависимости от результата

expression — выражение (либо выражения, объединенные логическим оператором), состоящее из двух членов (переменных или функций) и знака отношения; при этом оба члена должны быть одного типа: численного либо строкового

Выражение считается истинным, если его результат больше 0. В остальных случаях выражение считается ложным. Результат выражения — число, полученное путем вычисления выражения с использованием арифметических операций, битовых операций и операций сравнения. Для понимания этого была написана подробная статья «Условия и битовые операции» в разделе «Учебные статьи» на официальном форуме, с которой рекомендуется ознакомиться, так как там содержится много примеров и знаний для общего развития.

Операции сравнения

(a > b) = 1, если a > b (вслучае если a и b строки, сравниваются их длины)
(a < b) = 1, если a < b (вслучае если a и b строки, сравниваются их длины)
(a = b) = 1, если a равно b (поддерживает строки)
(a ! b) = 1, если a неравно b (поддерживает строки)

Логические операторы

На самом деле, битовые операции (см. учебную статью на форуме). Однако в контексте данного параграфа просто позволяют объединять логические выражения и операции сравнения в комплексные условия
Логическое И: (a & b) = 1 если и a = 1 и b = 1
Логическое ИЛИ: (a | b) = 1 если a = 1 или b = 1, или оба
Логическое исключающее ИЛИ: (a ^ b) = 1 если только a = 1 или только b = 1, но не оба

ELSE — блок «иначе»; определяет инструкции, выполняющиеся в случае если условие ложно

Блок ELSE позволяет объявить блок комманд, которые выполнятся в том и только в том случае если условие ложно. Блок ELSE описывается прямо в блоке условия между заголовком и END_IF. Блок ELSE доступен для следующих условных конструкций: IF, IF_PICTURE_IN, IF_PIXEL_IN.

Переключатель (чаще говорят просто свитч) используется когда нагромождение условий (if) нецелесообразно и портит читаемость скрипта. Переключатель анализирует входную переменную и в зависимости от ее значения выполняет часть своего внутреннего кода.
Часть case(x) используется для явного указания значения, где x — ожидаемое значение входной переменной $var. Часть default (по умолчанию) используется для всех остальных неописанных случаев. Она должа быть описана последней.

WHILE (expression) . END_CYC — организует цикл с предусловием

expression — логическое выражение (см. IF), при истинности которого выполняется тело цикла

Упрощенная версия цикла FOR, без параметра и шага. Действует так же, за тем исключением, что просто проверяет условие expression и в случае его истинности выполняет тело цикла.

SUB (sub_name, [$par1, . ]) . END_SUB — описывает подпрограмму

sub_name — имя подпрограммы
$par1, . — параметры подпрограммы

Подпрограмма это последовательность действий, объединенная в блок с собственным именем и набором параметров. Подпрограмму можно описать в любом месте сценария. Однако, описание подпрограммы должно быть раньше (выше) любого из ее вызовов. Хорошим тоном считается вынесение тел подпрограмм в отдельный внешний файл, подключаемый затем через директиву #include

Параметры, описанные в заголовке подпрограммы после ее имени, доступны в теле подпрограммы как переменные. Для вызова подпрограммы необходимо написать ее имя в сценарии вместе со всеми параметрами. Очень важно чтобы количество параметров в описании и в вызове совпадало. После выполнения подпрограммы, сценарий продолжится с момента вызова подпрограммы. Локальные переменные подпрограммы (параметры) при этом будут уничтожены.
Вызов подпрограммы без параметров все равно должен включать в себя пустые скобки ()

THREAD (thread_name, [init_state]) . END_THREAD — описывает дочерний поток

thread_name — имя потока
init_state — начальное состояние, где 1 — означает рабочее, 0 — приостановленное; необязательный параметр, значение по умолчанию — 1

Управление потоком

SetThread (thread_name, state) — меняет состояние дочернего потока

thread_name — имя потока
state — задаваемое состояние

Значения state

0 — поток ставится на паузу
1 — поток продолжает выполнение с места, где был остановлен
2 — поток ставится на паузу, при этом при повторной его активации он начинает выполняться с начала, независимо от того, на каком этапе он был остановлен

Данный простейший пример показывает одновременную работу трех потоков: родительского и двух дочерних. Все они «тикают» с разным интервалом, однако, не мешая друг другу.

Циклы в Clickermann

Существует по крайней мере 3 способа зациклить сценарий в Кликермане.

Например, есть следующий сценарий, который нужно повторить 30 раз.

1. Цикл FOR – выполняется определенное количество раз

2. Цикл WHILE – выполняется, пока выполняется условие

Этот цикл выполняется пока верно условие.
Например есть такая задача: искать красный пиксел на экране. После нахождения цикл должен прекратиться, а скрипт продолжит работу дальше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *