Работа над игрой в Objective-C/Cocoa для OS X, и я закончил прототип так же, как и его завершение. Это беспорядок кода, являющийся моей первой игрой, но все работает. Я читал лучший способ собрать вещи, и MVC, кажется, имеет наибольший смысл, но я немного смущен.
С чего это начинается? С контроллером? Это, кажется, имеет самый лучший смысл для меня, но как это началось? В моем беспорядке прототипа у меня есть все, начиная с init
представления и оттуда. Могу ли я сделать то же самое для контроллера и поставить то, что нужно в init
? Или есть что-то еще, что я могу использовать для этого? Если он начался с init
, как я init
контроллера?
Как мне настроить игровой мир? В настоящее время я использую два массива: один для мира (Стены, Полы, Двери, Вода, Лава и т.д.), И один для предметов (я буду добавлять третий для символов). Загружается карта (.plist), а затем объекты создаются и добавляются в массив, к которому она принадлежит. Куда идут массивы? В прототипе они также являются частью представления, поэтому, я думаю, вы могли бы сказать, что я объединил их (View и Controller) вместе. Будет ли создан объект Map для каждой карты? Будет ли объект Maps, содержащий все карты?
Как все это работает вместе? Игрок нажимает клавишу, которая перемещает персонажа в игре. Представление будет обрабатывать вход, правильно? Вы отправите это контроллеру, который будет проверять все (стены, монстры и т.д.) На карте/других массивах, а затем возвращать результат? Или вы отправите его игроку, который отправится на контроллер, который выполнит все проверки, а затем вернет результат?
Я думал, что у меня это довольно красиво выложено в моей голове, но чем больше я думаю об этом, тем менее прочными становятся мои идеи и чем больше я смущаюсь. Во что бы то ни стало, не стесняйтесь что-то нарисовать, если считаете, что это будет лучше.
Если вы потратили время, чтобы прочитать все это, спасибо за ваше терпение. Из того, что я собрал, большинство людей, которые пишут код, не используют какой-либо дизайн. Прочитав это, я понимаю, почему некоторые люди избегают этого, это сбивает с толку, и люди, похоже, думают, что это не стоит времени. Я лично считаю, что преимущества полностью превосходят недостатки (есть ли какие-либо?), И имеет смысл только держать вещи организованными таким образом, что вам не придется делать общий переписывать каждый раз, когда вы хотите реализовать новую функцию. Вы бы не строили дом, машину или прибор без дизайна, почему бы вам написать сложную программу без нее?
Я задал этот вопрос, потому что я хочу сделать это правильно, вместо того, чтобы взломать и наполовину осмыслить свой путь к "победе".