Closed Murlakotamus closed 5 years ago
Прямое разнесение классов влечёт за собой необходимость в каждой сцене мультиплеера дублировать почти полностью код каждой такой сцены. Этот эксперимент на данный момент считаем неудачным. Возможно, чуть позже попытку повторим, но при этом где-то попробуем уйти от наследования к композиции.
Осталось пересмотреть работу со стаканом: обычных игроков изменения в стакане не интересуют - только виртуальных.
Решили вынести автоматизацию стакана из стакана в игру, точнее в её автоматизацию.
Теперь единственное, что напоминает о том, что изменения могут быть и они кому-то могут быть интересны - пустой метод setChanges() в классе абстрактной игры и соответствующие ему подробности реализации метода moveDown в классе стакана.
Можно заложить в процесс игры желание отслеживать изменения как таковые и в зависимости от их наличия производить какие-либо действия. Такая картина мира становится вполне естественной.
Вроде как ручные и автоматические игры разнесли полностью. Или по крайней мере на столько, на сколько это было возможно на данный момент.
Код начинает загромождаться нюансами, свойственными только играм для виртуальных игроков. Кажется, пора сделать игры для реальных игроков независимыми от посторонних моментов.