Предполагая, что вход x
воспроизводимо показан в примечании ниже, удалите ненужные символы и прочитайте строки, используя read.table
:
read.table(text = gsub("[,+%)]", "", x), sep = "(", strip.white = TRUE,
col.names = c("A", "B"))
, давая:
A B
1 123456 -0.9
2 987456 1.0
x <- c("123,456 (-0.9%)", "987,456 (1.0%)")
зависит от вашей аудитории, разработчики игр, в том числе и я, не очень привыкли к модели MVC, хотя большинству это известно, не так просто поддерживать чистоту, из-за жертв разработки ( никаких серьезных технических причин). Исходя из опыта, я видел десятки игровых фреймворков, начинающихся как MVC, но только пара могла поддерживать его до конца. Моя теория заключается в том, что MVC добавляет слишком большую сложность и небольшие преимущества для небольших одноразовых игр (обычно с несколькими разработчиками), и трудно поддерживать четкое разделение большинства игровых объектов на эти слои для больших / сложных игр. И поскольку у игр есть дата выпуска, они много раз жертвуют ясностью и возможностью повторного использования кода для производительности и быстрых решений adhoc (которые будут переписаны, если потребуется в дальнейшем (если они есть)).
Однако, с оговоркой выше, лучше целиться высоко, потому что, если вы добьетесь успеха, это будет лучше :), а если вы потерпите неудачу - хорошо, плохо. Так что вы, вероятно, должны попробовать MVC, но не беспокойтесь, если он потерпит неудачу, разработчики профессиональной игры много раз терпели неудачу при выполнении этой задачи :)
Я бы, конечно, проголосовал за то, чтобы модель ничего не знала о ее взглядах. Слабая связь хороша: более простой код модели, более простое тестирование, больше вариантов выбора.
Я знаю, что этот вопрос может быть устаревшим, но мне нужно ответить на него. Собственно, я начал программировать игру на Lua (с LÖVE) и начал программировать для нее MVC - Framework. Во-первых, использование MVC действительно зависит от того, чего вы хотите. Я знаю свои проблемы с программированием игр, когда программа становится больше, и в большинстве случаев структура становится слишком сложной, чтобы ее можно было поддерживать. Следующее, что я знаю, я изменю всю графику, когда найду художника, который захочет над этим работать. Но до тех пор я буду использовать свою собственную фиктивную графику. Я хочу, чтобы художник мог свободно делать то, что он хочет, без каких-либо ограничений по разрешению или цвету. Значит, мне, возможно, придется изменить весь (!) Код презентации. Возможно, даже способ взаимодействия объектов (обнаружение столкновений, например). Логика игры отражена в моделях, поэтому я могу сосредоточиться на ней. И я считаю, что игровая логика - самая важная часть создания игры. Не так ли? Надеюсь, вы понимаете мою точку зрения.
Но если у вас есть все вместе: вся графика, звуки, все это; тогда вы можете писать код прямо вперед.
Мой MVC - это конфигурируемая по соглашению задница, которая немного замедляет создание прототипов. НО (!) Итерации разработки сделать намного проще. Тестирование, особенно модульное, выполняется намного быстрее. Я бы сказал, что MVC превращает вашу кривую скорости разработки (которая обычно является антиэкспоненциальной кривой) в экспоненциальную кривую.Медленно в начале, но все быстрее и быстрее в конце.