Разработать программу, реализующую игру "Выход из лабиринта" на языке Java. При проектировании классов выделить один класс контейнер, в переменные экземпляра которого заносятся объекты других классов. Предусмотреть возможность сериализации объекта класса контейнера, для сохранения и восстановления состояния игры. Разработать абстрактный класс, в котором выделить два метода (draw(), update()), отвечающих за отображение и изменение состояния объектов, а также необходимые переменные экземпляра, отображающие общие характеристики всех объектов. Объекты всех классов, кроме класса контейнера, впоследствии должны наследоваться от абстрактного класса, переопределяя и реализуя его методы (draw(), update()). В одном из методов класса контейнера, реализующего логику игры (игровой цикл), вызывать переопределенные методы draw() и update() для объектов других классов. Описать правила игры.Построить диаграмму классов. Разработать основные алгоритмы. Реализовать и протестировать программу