Я пишу карточную игру для Android, и я отчаянно застрял в том, как сохранить свое игровое состояние. Чтобы кратко объяснить мою программу, у меня есть класс Sprite для отображения моих карт, который содержит растровое изображение, точку для позиции и ограничивающий прямоугольник. Я унаследовал этот класс, чтобы создать класс карт, который имеет две битовые карты, которые переключаются в зависимости от того, карта лицевой стороной вверх или вниз, и перечисления для хранения масти и ранга. Эти объекты карты размещаются в объектах CardStack, которые содержат и дополнительную позицию, и массив карт. Модель игры состоит из различных карточных стеков и правил перемещения карт между стопками. Игра отлично работает как есть.
Теперь я пытаюсь выяснить, как сохранить состояние моей игры. Я хотел бы сериализовать весь игровой объект и сохранить его в файл. Однако существует множество объектов (растровое изображение, точка, прямоугольник, цвет и т. Д.), Которые нельзя сериализовать. В C # я знаю, что вы можете использовать MemoryStream и просто скопировать весь объект, но я не могу найти подобный метод в Java, который не требует, чтобы все было сериализуемым. Есть ли что-нибудь подобное в Java? Есть ли лучший способ, которым я мог бы структурировать объект игровой модели? Любой совет будет принята с благодарностью. Спасибо!