Задачи для начинающих
Не в этом дело. Все в одну простыню.Тут такой случай, что пока сам не испробуешь - не поймешь.
Уверяю всех неверующих: тупейшая простыня switch-casе - это самая понятная и удобная реализация машины состояний.
Ибо даже при отсутствии графического редактора, глядя на эту простыню case за case-ом, и имея в руках карандаш над бумагой, диаграмма безошибочно оказывается на ней.
Что и наоборот верно: нарисованная диаграмма однозначно ложится в swith case-ы.
А до того пока я это понял, я изобретал исполнялки машины состояний, входом которым служил массив описывающий состояния, и переходы в другие с Func<> в качестве условий, с Action<> в качестве действий.
Но когда приходит время применить это на реальной задаче, то обязательно найдется неудобный моментик, в котором вся эта жесткость определений связывает тебе руки, а при switch-case-ах они свободны.