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

> Очередность в Lua, /--/
Levo222
сообщение 25.7.2019, 5:35
Сообщение #1


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Как распределяется очередность выполнения в Lua при многоступенчатой задаче условий?

Например есть 3 условия и соответственно 3 действия
Код
 while 1 do
    wait (1)
        if  A
        send A
    else
        if  B
            wait (1)
            send B
        else
            if  C
                wait (1)
                send C
            else
                end
                end
                end
                end


При данном варианте написания скрипт, скажем так: "увлекается" выполнением второстепенных задач (расположенных ниже) и не переходит к другой строчке пока там что-либо не выполнено. Есть ли способ перемещать скрипт с выполнения определенного пункта(даже если там подходят условия) на более приоритетную задачу? Т.е. задать время чтоли на его выполнение, таймеры например?

Если тут нет времени на выполнение как в стандартном варианте Delphi например, то как возвращается вариант с недовыполненным условием, или как задать приоритет одного условия над другим кроме "функции" в каждой строчке?
Там каждая строка выполнялась до определённой строки, означающей выполнение другого действия. А здесь как?
Если функции, писать проверку функции в каждый if? или только в начало цикла?
Допустим выполняется последовательно исключая какие-то функции при проверке:
При многократном выполнении условия в точке B что может заставить скрипт тут же перенестись в точку C или A? даже если условия в Б всё еще подходят?

Много раз сталкивался с тем, что скрипт выполняет действия в точке B многократно при том, что в точке A они уже также подходят. Он каким-то образом зацикливается на одном ife? пока в нём не исчезнут условия?

0
вобщем если следовать логике построения деревьев то нужно брать основной функцией приоритет 1 а затем от неё раскидывать подфункции с проверкой первой функции, а по ним подфункции с проверкой подфункций 1-й функции(или сразу 1 функции?) а по ним условия с проверкой подфункций подфункций первой функции? Какие еще есть варианты?


Т.е. собственно вопрос: Каким образом так быстро перемещается код(и производится там проверка) из одной строчки в другую при проверке функций? даже если там очень большой объем информации. Всё заранее записывается в дамп памяти и присваиваются локальные значения?

___________________________
P.S: что с BB кодами? Невозможно кнопками ни 1 текст взять на панели. открывается окно даже на "сделать жирным"
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Levo222   Очередность в Lua   25.7.2019, 5:35
Cockney   Ничего не понятно, но думаю вопрос про так называе...   25.7.2019, 14:59
Levo222   В одной итерации A может быть ложно Ну скажем т...   25.7.2019, 15:49
Cockney   Довольно сложно мне ориентироваться по приведенном...   25.7.2019, 17:38
Levo222   [code] myCond() Не совсем понятно что это за фу...   25.7.2019, 21:47
Cockney   По сути да, только в иной форме. myCond() - это фу...   25.7.2019, 22:08
Levo222   myCond() - это функция, в которой происходит поис...   26.7.2019, 0:03
Cockney   Думаю, стоит начать все же с основ. Конкретный ...   26.7.2019, 0:34
Fors1k   Есть ли способ перемещать скрипт с выполнения опр...   26.7.2019, 1:46
Levo222   Если я правильно понял задачу... Допустим [b]A=0,...   27.8.2019, 19:18
Fors1k   Имеется дерево приоритетов: 1 -выжить 2 -атаковать...   27.8.2019, 22:05
Levo222   while #a = 1 // Есть угроза жизни send A // выпо...   28.8.2019, 2:07
Fors1k   оказывается, циклы нужны.. Например есть 3 услови...   26.7.2019, 2:15
Levo222   оказывается, циклы нужны.. В Вашем примере услов...   26.7.2019, 13:15
Fors1k   Возможно. Че-то я как-то подзапутался Опиши усло...   26.7.2019, 15:27
DarkMaster   А не подойдет ли стандартная конструкция типа: wh...   26.7.2019, 17:23
Levo222   А не подойдет ли стандартная конструкция типа: w...   28.7.2019, 1:46
Levo222   for i = 1, #button2 do -- проверяем не нажата ли к...   5.9.2019, 0:18
Levo222   Как присвоить одной и тойже глобальной переменной ...   22.9.2019, 12:00
Fors1k   Как присвоить одной и тойже глобальной переменной...   22.9.2019, 14:19
Levo222   [code]//-----Условия set $a 100, 200 0 and 3...   22.9.2019, 14:45
Fors1k   К примеру: У нас есть солдат У него есть возможнос...   23.9.2019, 0:31
Levo222   [code] and timer1 < 6000 НУ, это всё хорошо...   23.9.2019, 0:58
Fors1k   НУ, это всё хорошо!) На Lua эта функция как б...   23.9.2019, 1:05
Levo222   Понятия не имею=))) может ребята думаю переведут...   23.9.2019, 1:41
Fors1k   Самая большая проблема в переводе то и заключаетс...   23.9.2019, 1:58
Levo222   Ну так пиши на пилоте и не мучайся)) https://foru...   23.9.2019, 3:16
Levo222   /delete/   23.9.2019, 16:03
Levo222   еще бы кто-то показал на простом примере как значе...   22.9.2019, 18:20
Fors1k   Флаг в руки)   23.9.2019, 4:01
Levo222   Барабан на шею!(   23.9.2019, 15:00
bumer   Fors1k В общем это будет наверное овтоп, но всё ...   23.9.2019, 15:52
Fors1k   Fors1k В общем это будет наверное овтоп, но всё...   23.9.2019, 18:21
Levo222   Ага, все верно НУ вобщем то таймер написал, но о...   26.9.2019, 14:19
DarkMaster   Вы поняли ее правильно. В луа нет switch в чистом...   28.9.2019, 21:08
Levo222   Что в итоге хочется сделать? Хочется цикличност...   28.9.2019, 22:06
Cockney   Так и есть. Черная магия в чистом виде.   28.9.2019, 23:24
DarkMaster   local function action1() while ... do ...   29.9.2019, 0:18
DarkMaster   Из того с чем работал, считаю луа самым логичным ...   29.9.2019, 18:04


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

 

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