Мне было интересно, можно ли реализовать следующее.
Что я хочу сделать? Представьте себе мелодию Биг-Бена. Я хочу играть четверть мелодии каждые четверть часа. Мне нужен FSM со следующими состояниями:
- Целый час (так xx:00) = (ввод = 01)
- Прошлая четверть/четверть до (то есть xx:15 / xx:45) = (ввод = 10)
- Половина прошлого (так xx:30) = (ввод = 11).
(хх = все равно)
Для каждого состояния у меня есть другой FSM. Этот FSM гарантирует, что музыка будет воспроизводиться правильно.
If(state = whole hour)
{
switch music_state
case A
{ play 1 sec, next_music_state = F}
case and so on ......
Это работает? Могу ли я сделать FSM, у которого есть разные состояния часа, и для каждого состояния есть другой FSM?
Если что-то непонятно, дайте мне знать, и я постараюсь это прояснить. Я знаю, что эта часть не так сложна, но мне все еще интересно, будет ли работать эта реализация. Я надеюсь и думаю, что так оно и будет, хотя хочу быть уверенным в этом.
Заранее большое спасибо!