Показать сообщение отдельно
Старый 08.01.2013, 12:52
zzSpirit вне форума Посмотреть профиль Отправить личное сообщение для zzSpirit Найти все сообщения от zzSpirit
  № 10  
Ответить с цитированием
zzSpirit
 
Аватар для zzSpirit

Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Во-первых, я такого не говорил. Я не согласен с тем, что код перемещения должен писаться в том, кто перемещается. Во-вторых, это Вам кажется, что скорость обязана храниться в персонаже. Прежде всего потому, что Вы еще не готовы мысленно разделять данные и отображение, и не представляете другого способа, кроме как хранить всю инфу о персонаже в его "картинке".
Но класс Beatle же создан для того, чтобы там хранить его свойства(например speed) + методы(например move_up). Если нет, то зачем он нужен?

После прочтения Вашего сообщения, мне теперь кажется наиболее правильной такая структура:

Класс Main - это главный контроллер, в классе Beatle должны быть свойства + методы, но изменять значения свойств и вызывать методы должен класс Main.
Пример:
Main в ентерфрейме обнаруживает, что Keys вернул клавишу DOWN, запрашивает есть ли объект внизу с помощью какого-то другого класса, если объекта внизу никакого нет, то вызывает beatle.move_down, если объект есть - не вызывает.

P.S. Что посоветуете изучить/прочитать, чтобы усвоить проектирование ООП приложений?