Search the Community
Showing results for tags 'design-patterns'.
-
Помогите пожалуйста разобраться в вопросе организации кода в простейшей игре. и в результате скажите: 1. правильный первый вариант 2. правильный второй вариант 3. оба варианта правильные и используются в зависимости от ситуации 4. давно уже существует паттерн %patternname% и с успехом используется в такой ситуации Допустим есть 2D-ландшафт, над ним летит корабль игрока. Корабль может стрелять ракетами. Описываю первый вариант организации ООП-кода на js(в js контроллер и представление совмещены): инициализация игры начинается с создания spaceView, который в свою очередь инициализирует: ландшафт, корабль игрока PlayerShipView - корабль игрока. Он может стрельнуть ракетой(PlayerRocketView). То есть объект корабля связан с объектом ракеты Ракета может столкнуться с ландшафтом. То есть объект ракеты связан с объектом spaceView В результате: Имеем 3 связанных объекта, но каждый из них содержит только свою функциональность(это плюс). Но если в программе придётся что-нибудь менять(например отключить кораблю игрока возможность стрелять ракетами), то вносить правки придётся в разных местах программы(это минус). Есть несколько глобальных переменных(это минус) Описываю второй вариант организации ООП-кода на js(в js контроллер и представление совмещены): инициализация игры начинается с создания spaceView, который в свою очередь инициализирует: ландшафт, корабль игрока, ракеты(есть нажата кнопка "огонь") и вообще все остальные объекты Таким образом: Если например игрок нажимает "огонь", то инициализация ракеты происходит в spaceView, а PlayerShipView вообще ничего не знает об объекте ракеты(это плюс). Соответственно нет глобальных переменных(это плюс). Но в spaceView содержится куча логики(всей игры, в котрой кроме корабля игрока и ракеты существует очень много других объектов). Для наглядности я реализовал первый вариант здесь: https://github.com/zlodiak/space-1 В нём используются различные библиотечки типа backbone, underscore, но незнание их не мешает пониманию общей структуры программы Не бейте(ногами), я знаю что вопрос для телепатов
- 4 replies
-
- game-dev
- design-patterns
-
(and 2 more)
Tagged with: