Обсуждение:Machine
Некоторые замечания по синтаксису машин состояний Steps 16:19, 23 января 2013 (CET):
draw
- Зачем параметр go в командах инициализации?
- Сейчас параметр if бестолково работает в команде draw. Хоть срабатывает условие, хоть нет, происходит переход к следующему draw. Можно if-ом только один раз перебить ресурс из свойств. Лучше, чтобы if работал также, как и в команде set (т.е. если if сработал, установить этот ресурс, иначе - нет; и затем в любом случае перейти к следующим командам draw).
- В анимации не работает loop и ft.
- В анимации не работает go, которое ссылается на свое состояние. По этой же причине не работает команда loop и ft, то есть команда draw c ресурсом анимации срабатывает только один раз. Это нужно исправить. Ниже приведена машина, которая срабатывает только один раз. По логике в такой машине анимация должна работать непрерывно (быть зацикленной).
init
- Почему нет параметра if, аналогично команде set?
- Последние 7 параметров меняют другие машины, объекты и по-логике должны находиться к команде set.
play
- Непонятен параметр if (перехода нет). Его надо интерпретировать аналогично команде set?
buy
- Добавить параметр if, аналогично команде set.
wait
- Если есть только одна команда wait, то loop в ней не срабатывает.
if
- Добавить параметр go. Тогда можно переходы-ветвления делать не из wait, а не посредственно из if. Будет короче и понятнее.