Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java Помогите разобрать код

Андрей Малыгин Знаток (366), открыт 2 недели назад
////////////////////////////////////////////////////////////////////////////////
SUB(akaut)
//--------------------------------
FOR($b = 1, $b < 5) // панель меню
GETSCREEN
$count = PXLCOUNT($X-50,5, $X+50,20, 16777215) // надпись версии цвет белый
IF($count > 10)
$b = 10
WAITMS(100)
ELSE
WAITMS(100)
$b = 1
END_IF
END_CYC
//--------------------------------
2 ответа
Асхаб Тамаев Гуру (4254) 2 недели назад
Что это за цифарки?
Андрей МалыгинЗнаток (366) 2 недели назад
$X = 960 // координата X половина ширины экрана
$Y = 540 // координата Y половина высоты экрана
Асхаб Тамаев Гуру (4254) Андрей Малыгин, Я по вашему программист? Они вроде платные, а это бесплатный сайт
Рустам Абдрашитов Мыслитель (9465) 2 недели назад
Этот фрагмент кода написан на псевдокоде, который напоминает язык программирования, но не является конкретным языком. Однако, я постараюсь объяснить, что именно он делает:

1. **SUB(akaut):** Это, вероятно, начало подпрограммы или функции с именем `akaut`.

2. **FOR($b = 1, $b < 5):** Это цикл `for`, который инициализирует переменную `$b` со значением 1 и будет продолжаться, пока `$b` меньше 5.

3. **GETSCREEN:** Предполагается, что эта команда делает снимок экрана или получает данные с экрана. Поскольку это псевдокод, точная функция этой команды неясна.

4. **PXLCOUNT($X-50,5, $X+50,20, 16777215):** Эта строка, вероятно, считает количество пикселей определенного цвета в заданной области экрана. Здесь `16777215` может представлять белый цвет (в RGB это `#FFFFFF`).

5. **IF($count > 10):** Условный оператор, который проверяет, больше ли количество найденных белых пикселей 10.

- **$b = 10:** Если условие выполняется, переменной `$b` присваивается значение 10, что, вероятно, прерывает цикл.

- **WAITMS(100):** Ожидание в течение 100 миллисекунд.

6. **ELSE:** Если количество белых пикселей не больше 10:

- **WAITMS(100):** Также ждет 100 миллисекунд.

- **$b = 1:** Переменной `$b` снова присваивается значение 1, что заставляет цикл начинаться заново.

7. **END_IF:** Конец условного оператора `IF`.

8. **END_CYC:** Конец цикла `FOR`.

Таким образом, код, похоже, делает следующее: он повторно проверяет небольшую область экрана, чтобы определить, есть ли в ней более 10 белых пикселей. Если такое количество найдено, цикл прерывается. Если нет, цикл продолжается до тех пор, пока не будет выполнено условие или не будет превышено количество итераций.
Андрей МалыгинЗнаток (366) 2 недели назад
А можно этот код переделать под UoPilot?
Рустам Абдрашитов Мыслитель (9465) Андрей Малыгин, можно
 // Начало программы 
FOR b = 1 TO 4 // панель меню 
    GETSCREEN() 
    count = PXLCOUNT(X - 50, 5, X + 50, 20, 16777215) // надпись версии цвет белый 
    IF count > 10 THEN 
        b = 10 
        WAIT(100) // ждать 100 миллисекунд 
    ELSE 
        WAIT(100) // ждать 100 миллисекунд 
        b = 1 
    ENDIF 
NEXT 
// Конец программы 
Похожие вопросы