Здравствуйте, гость ( Вход | Регистрация )

> Помощь чайнику (Матрица), Перемещение по матрице.
Shon435
сообщение 14.10.2016, 18:55
Сообщение #1


**

Neophyte
Сообщений: 19
Регистрация: 7.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.146
Возраст: 20



Добрый день, нужна помощь в написании for . 5x5
C примера вики :
// пример 8 - кликаем по сетке 5x4 двигаясь снизу-вверх слева-направо
set #x1 0 // X левого нижнего угла
set #y1 40 // Y левого нижнего угла
set #dx 5 // шаг по оси X
set #dy -2 // шаг по оси Y ("-" значит вверх на экране)
set #sizeY 5 // число строк
set #sizeX 4 // число столбцов
set #x2 #x1 + #dx * (#sizeX - 1) // вычисляем другой угол
set #y2 #y1 + #dy * (#sizeY - 1)
for #x #x1 #x2 #dx // переход по столбцам
for #y #y1 #y2 #dy // переход по строкам
// left #x #y abs // для выполнения кликов - раскомментировать строку
log x = #x, y = #y
end_for // #y
end_for // #x
end_script



Тут перемещается один в право один в верх. Надо 5 в право , один в верх , 5 лева , один в верх и т.д

(IMG:http://s6.uploads.ru/t/bl2Lt.gif)

Перемещение по одной клетке.

Заранее Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 15.10.2016, 3:16
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26757
Пользователь №: 16.971
Возраст: 29



Строки, которые можно менять и так прокомментированы.
Вместо move #x #y поставить то, что нужно, вот и всё

Если как-то поможет:
код
Код
set linedelay 0
set #x1 500       // X левого нижнего угла
set #y1 500       // Y левого нижнего угла
set #dx -60       // шаг по оси X
set #dy -60       // шаг по оси Y ("-" значит вверх на экране)
set #sizeY 5      // число строк
set #sizeX 5      // число столбцов
set #x2 #x1 + #dx * (#sizeX - 1)     // вычисляем другой угол
set #y2 #y1 + #dy * (#sizeY - 1)
set #z 1         // переменная счётчик
set #xx1 #x1     // X левого нижнего угла
set #dxx #dx     // шаг по оси X
set #dx1 abs(#dx)  // модуль шага по оси X

for #y #y1 #y2 #dy         // переход по строкам
    if  mod(#z 2) = 1      // если строка нечётная меняем направление (двигаться вправо)
        set #tmp #x1
        set #x1 #x2
        set #x2 #tmp
        set #dx #dx1
    else                   // иначе (строка чётная) двигаться влево
        set #x1 #xx1
        set #dx #dxx
        set #x2 #x1 + #dx * (#sizeX - 1)
    end_if
    for #x #x1 #x2 #dx         // переход по столбцам
        move #x #y             // перемещение курсора
        wait 400               // ждать 0,4 сек
    end_for
    set #z #z + 1              // переменная счётчик, для подсчёта строк
end_for
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Shon435
сообщение 15.10.2016, 3:39
Сообщение #3


**

Neophyte
Сообщений: 19
Регистрация: 7.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.146
Возраст: 20



Цитата(cirus @ 15.10.2016, 3:16) *

Строки, которые можно менять и так прокомментированы.
Вместо move #x #y поставить то, что нужно, вот и всё

Если как-то поможет:
код
Код
set linedelay 0
set #x1 500       // X левого нижнего угла
set #y1 500       // Y левого нижнего угла
set #dx -60       // шаг по оси X
set #dy -60       // шаг по оси Y ("-" значит вверх на экране)
set #sizeY 5      // число строк
set #sizeX 5      // число столбцов
set #x2 #x1 + #dx * (#sizeX - 1)     // вычисляем другой угол
set #y2 #y1 + #dy * (#sizeY - 1)
set #z 1         // переменная счётчик
set #xx1 #x1     // X левого нижнего угла
set #dxx #dx     // шаг по оси X
set #dx1 abs(#dx)  // модуль шага по оси X

for #y #y1 #y2 #dy         // переход по строкам
    if  mod(#z 2) = 1      // если строка нечётная меняем направление (двигаться вправо)
        set #tmp #x1
        set #x1 #x2
        set #x2 #tmp
        set #dx #dx1
    else                   // иначе (строка чётная) двигаться влево
        set #x1 #xx1
        set #dx #dxx
        set #x2 #x1 + #dx * (#sizeX - 1)
    end_if
    for #x #x1 #x2 #dx         // переход по столбцам
        move #x #y             // перемещение курсора
        wait 400               // ждать 0,4 сек
    end_for
    set #z #z + 1              // переменная счётчик, для подсчёта строк
end_for
end_script



Спасибо. Буду пробовать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 8.7.2025, 9:40
Designed by Nickostyle