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

> Помогите, пожалуйста.
DoomAngelBlade
сообщение 7.4.2017, 11:18
Сообщение #1


**

Neophyte
Сообщений: 14
Регистрация: 7.4.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.425



Есть данный скрипт:
get color #1 180, 257 abs
if (180,257 != #1) abs
set #Changed 1
end_if
Оно жалуется на строку

if (180,257 != #1) abs

Ошибка! Проверьте правильность скрипта! EConvertError '!=' is not a valid integer value
if (180,257 != #1) abs

Смысл в том, Что как только цвет пикселя изменится - делать чтолибо(У меня - поставить флаг, и перейти на другую метку)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 7.4.2017, 12:19
Сообщение #2


**********

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



Цитата
Как делать вещи с ДРОБНЫМИ числами?

Функции для работы с числами
Вообще пилот работает только с целыми числами.
Цитата
Я хочу сравнить к примеру 3.12 и 2.22

код
Код
// Пример 1
call frac 3.12 2.22       // пишем 2 числа
if  $frac = 1             // Переменная $frac содержит 1, если первое число больше второго, иначе 0
    log Первое число больше второго
else
    log Первое число меньше второго
end_if

// Пример 2
set $a 2.22            // число 1
set $b 3.12            // число 2
call frac $a $b        // можно указывать переменные
if  $frac = 1
    log Первое число больше второго
else
    log Первое число меньше второго
end_if
end_script


// процедуру в конец скрипта
proc frac $a $b
    set $a string_replace($a "." ",")
    set $b string_replace($b "." ",")
    if  trunc($a) > trunc($b)
        set $result 1
    else
        if  trunc($a) = trunc($b)
            set #z 0
            set #a copy(frac($a) 1 1)
            set #b copy(frac($b) 1 1)
            while #a = #b
                set #z #z + 1
                set #a copy(frac($a) #z 1)
                set #b copy(frac($b) #z 1)
            end_while
            if  #a > #b
                set $result 1
            else
                set $result 0
            end_if
        else
            set $result 0
        end_if
    end_if
end_proc
end_script

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



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

 

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