Советы по внедрению / дизайну для простой игры для iPhone - PullRequest
1 голос
/ 28 июня 2011

Задача

Я создаю калькулятор очков для определенной карточной игры.Это становится довольно сложно с точки зрения контроллеров навигации и просмотра.

По сути, мне нужен способ отслеживать текущий счет, объекты 4 игроков, созданные при запуске, и способ отслеживать ход игры (в игре есть 4 вида «уровней» или «циклов»).

Возможные решения

Итак, я собираюсь создать класс Singleton дляменеджер баллов.Я также создал объект Player , который я, вероятно, создам в классе AppDelegate и сохраню, передавая их в массиве при новых загрузках VC.

Продолжить последнюю игру

Я бы хотел, чтобы приложение сохраняло последнюю игру, если приложение было прекращено, и возможность возобновить ее при запуске.Мне нужно будет отслеживать: имена игроков, очки каждого игрока, а также подробный счет для каждого сыгранного раунда.

Мои вопросы

  • Является ли мое решение для создания объектов 4 игроков в AppDelegate и передачи их вместе с венчурным капиталом на каждом виртуальном канале хорошим решением?Если нет, то как игры обычно реализуют объект Player?В прошлом я создавал игры с использованием C ++ и Java, но все было слишком просто, и «игровой менеджер» был всего лишь одним классом, поэтому мне никогда не приходилось сталкиваться с передачей объектов Players раньше.Кроме того, если игрок нажимает «Назад» и контроллер навигации вытаскивает предмет из своего стека, будет ли объект игрока по-прежнему создаваться в предыдущем VC?Если нет, то мне также придется пропустить ее, когда нажата кнопка «назад»?

  • Возможно, у меня будет система управления счетами, также отслеживающая ход игры или где играэто при использовании класса Singleton.Это хорошее дизайнерское решение?

  • Для хранения имен, партитур и всей таблицы баллов целесообразно просто использовать NSUserDefault, или лучше использовать plist,тем более, что мне нужно отслеживать таблицу результатов?

Любые советы по внедрению высоко ценятся.

1 Ответ

2 голосов
/ 28 июня 2011

Хороший вопрос. Мне нравится ваша идея реализации игры. Единственная концепция, которую я не предлагаю вам реализовать, - это создать игроков в вашем AppDelegate . В этом нет никакого вреда, но также не рекомендуется изменять свой AppDelegate. Вместо этого вы можете создать отдельный класс, скажем, Player.h и Player.m (Player.mm, если вы используете Box2d). Делайте то, что вы хотите сделать, и вызывайте переменные и функции класса в вашей сцене.
Во-вторых, идея использования PList over NSUserDefault будет более эффективной, если вы хотите хранить большой объем данных и наоборот, если вы хотите хранить небольшие данные. Это - хорошее обсуждение, которое может помочь вам в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...