Задача
Я создаю калькулятор очков для определенной карточной игры.Это становится довольно сложно с точки зрения контроллеров навигации и просмотра.
По сути, мне нужен способ отслеживать текущий счет, объекты 4 игроков, созданные при запуске, и способ отслеживать ход игры (в игре есть 4 вида «уровней» или «циклов»).
Возможные решения
Итак, я собираюсь создать класс Singleton дляменеджер баллов.Я также создал объект Player , который я, вероятно, создам в классе AppDelegate и сохраню, передавая их в массиве при новых загрузках VC.
Продолжить последнюю игру
Я бы хотел, чтобы приложение сохраняло последнюю игру, если приложение было прекращено, и возможность возобновить ее при запуске.Мне нужно будет отслеживать: имена игроков, очки каждого игрока, а также подробный счет для каждого сыгранного раунда.
Мои вопросы
Является ли мое решение для создания объектов 4 игроков в AppDelegate и передачи их вместе с венчурным капиталом на каждом виртуальном канале хорошим решением?Если нет, то как игры обычно реализуют объект Player?В прошлом я создавал игры с использованием C ++ и Java, но все было слишком просто, и «игровой менеджер» был всего лишь одним классом, поэтому мне никогда не приходилось сталкиваться с передачей объектов Players раньше.Кроме того, если игрок нажимает «Назад» и контроллер навигации вытаскивает предмет из своего стека, будет ли объект игрока по-прежнему создаваться в предыдущем VC?Если нет, то мне также придется пропустить ее, когда нажата кнопка «назад»?
Возможно, у меня будет система управления счетами, также отслеживающая ход игры или где играэто при использовании класса Singleton.Это хорошее дизайнерское решение?
Для хранения имен, партитур и всей таблицы баллов целесообразно просто использовать NSUserDefault
, или лучше использовать plist,тем более, что мне нужно отслеживать таблицу результатов?
Любые советы по внедрению высоко ценятся.