DRAKON.SU https://forum.drakon.su/ |
|
Пытаюсь разобраться с переключающим циклом. https://forum.drakon.su/viewtopic.php?f=78&t=3890 |
Страница 1 из 1 |
Автор: | Владислав Жаринов [ Среда, 14 Март, 2012 21:37 ] |
Заголовок сообщения: | Re: Пытаюсь разобраться с переключающим циклом. |
Скорее у Вас цикл Дейкстры... ![]() |
Автор: | albobin [ Четверг, 15 Март, 2012 06:50 ] |
Заголовок сообщения: | Re: Пытаюсь разобраться с переключающим циклом. |
Владислав Жаринов писал(а): Скорее у Вас цикл Дейкстры... ![]() Зачем всуе упоминать ЦД ? Коряво здесь "прилаживать" ЦД. Здесь как бы инверсно ЦД. Конкретные варианты выхода из цикла, а не действий в цикле. Здесь что-то вроде оптимизации, ведь можно было бы так, последовательно: 1.цикл ожидания подходящего транспорта 2.переключатель дальнейших действий |
Автор: | Владислав Жаринов [ Суббота, 17 Март, 2012 18:13 ] |
Заголовок сообщения: | Re: Пытаюсь разобраться с переключающим циклом. |
Я лишь о том, на что похож результат. ![]() Кстати, можно и без разных выходов из цикла (а тут он, кажется, и так один). В ЦД включаем отдельно ветвь ожидания (и проверки, что транспорт ещё ходит). Пока ждём - пароль подходит только к её охране (есть, скажем, флаг обнаружения транспорта, проверяемый по всей ЦД-шапке, но устанавливаемый только в этой ветке - или охранная переменная Вид/МаршрутТранспорта имеет значение, трактуемое как "не обнаружен <на текущем проходе ветви>"). И исполнитель каждый раз выполняет проверку/обнаружение. Ну а когда обнаружен - охрана нужной ветки из числа остальных впускает по соответствующему значению (подмножеству значений). И делаем, что нужно дальше по смыслу, вытекающему из этого значения (подмножества). А уж если не ходит/не ждём (тут надо тайм-аут прописать, кстати) - выходим из конструкции, как у автора и сделано. Так примерно... Это тоже в порядке оптимизации того естественного представления, которое Вы предложили. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |