Mac OS X: лучший способ реализовать графический интерфейс для карточной игры - PullRequest
0 голосов
/ 14 октября 2009

Я начал программировать на Mac OS X в Objective-C и решил создать небольшую карточную игру. Сначала я создаю версию командной строки. Если все работает нормально, я хотел бы реализовать графический интерфейс: ничего большого, просто зеленое окно с карточками, которые можно перетаскивать.

Поскольку я понятия не имею, как это сделать: что я могу использовать для реализации графического интерфейса моей карточной игры?

Поскольку Objective-C и Cocoa выглядят как «связка» в Mac OS X, возможно ли использовать Какао для этого (и как)? Если нет, то что еще я должен использовать или там уже что-то. как это?

С уважением,

Inno

Ответы [ 2 ]

6 голосов
/ 14 октября 2009

У Apple есть пример кода здесь , который может указать вам правильное направление.

4 голосов
/ 14 октября 2009

Это хорошая учеба в MVC.

  • Ваша модель (активная игра, игровые и неигровые персонажи, карты в игре и т. Д.) Будет полностью в фундаменте, по крайней мере, на первый взгляд. Позже вы можете добавить свойства, зависящие от AppKit, такие как изображения, и использовать препроцессор C, чтобы обусловить этот код, если вы хотите продолжать поддерживать программу командной строки.
  • Ваши контроллеры также обычно находятся в чистом фундаменте. Я говорю «Контроллеры», потому что у вас будет один для обеих программ (владеющий моделью, отвечающий на действия пользователя и запускающий игру, то есть раздающий карты, применяющий правила и т. Д.), Один специально для командной строки. программа (содержащая цикл readline / output) и, по крайней мере, одну, специально предназначенную для программы с графическим интерфейсом пользователя (владеющую окном игры).
  • В приложении с графическим интерфейсом вы, конечно, напишите свои виды с помощью AppKit. В приложении командной строки вы можете создать класс View отдельно от контроллеров, чтобы упростить быстрое радикальное изменение вывода (даже во время выполнения, если вы хотите это разрешить). Конечно, это представление не будет происходить из NSView и будет использовать вывод терминала вместо графического рисунка.

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

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