Данный проект представляет из себя отработку модели конечного автомата на практике.
Концепция конечного автомата полностью реализована, но конкретно задача написания Тамагочи под данную модель не подходит. Связано это с тем, что конечный автомат в момент времени должен иметь строго одно состояние. В случае с концепцией Тамагочи данный подход не имеет смысла, потому что Тамагочи должен быть активен сразу в нескольких состояниях, таких как "Хочет есть", "хочет гулять", "хочет спать". В рамках данного проекта проблема была решена путем добавления новых состояний, которые являются одновременно двумя другими, например, "хочет есть и спать". В данном случае это не критично, но с увеличением количества возможных состояний количество состояний конечного автомата росло бы экспоненциально.
Так же среди файлов присуствует жалкая попытка связать данный проект с Telegram, но она неудачная и требует дополнительного изучения. Позже я вернусь к данному проекту, но пока он заморожен.
Из интересных деталей реализации: конечный автомат представляет из себя рекурсивный класс, который при смене состояния вызывает соответственный метод. Вопрос разумности данного решения остается открытым.