Допустим. Хотя уже по твоему ответу видно, что написать тебе проще, чем нарисовать. Значит не очень-то удобны эти графы. Но, все равно я не представляю, если я захочу заменить в сценарии фразу, произносимую роботом, с "Добро пожаловать" на "Привет Вася", в каком месте графа я должен это сделать? А ведь именно для этого нужны сценарии. Для оперативного вмешательства в логику поведения, даже если ты не помнишь, как там твоя программа устроена. Но, Бог с ней с Ванессой.
Я бы предложил желающим потренироваться на простом примере:
Допустим у нас задание сделать игрушку
луноход (по аналогии со старым советским луноходом, который программировался кнопками), но с условием, что пользователь может загружать в него сценарии поведения, написанные на изобретенном нами языке сценариев (текстовом или графическом).
В распоряжении есть не хитрые действия: движение на заданное в см расстояние {Вперед(), Назад(),Влево(), Вправо()}, Останов и воспроизведение звукового сигнала из набора - {Звук()}.
Также имеются 3 события: кнопки ПУСК, СТОП и срабатывание датчика ПРЕПЯТСТВИЕ.
Вот пример событийного сценария на изобретенном только что языке:
- Код: Выделить всё • Развернуть
СТОП->{Стоп()}
ПРЕПЯТСТВИЕ->{Стоп(),Звук("Ошибка"}
ПУСК->{Вперед(50),Вправо(30),Влево(80),Звук("ОК")}
В описании языка сказано, что событие, занимающее верхнюю строчку имеет приоритет над тем, которое под ним.
Вроде все предельно ясно и наглядно. Но, это очень простой сценарий даже для такого примитивного робота. Что если пользователь захочет, чтобы робот хотябы продолжил выполнять задание после того, как препятствие убрали с его пути? Уже получается нужны какие -то логические структуры. А, если опишем с помощью графов, то как? Только с примерами, а не с голыми ссылками на книги и статьи.