• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Структура программы тетрис

  • Автор темы Rapitos
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rapitos

Добрый день. Суть моего вопроса касается правильной структуры программы. Положим, например, нам нужно написать игру тетрис, используя Direct3D, ну и скажем при помощи MFC, ООП:
1) как логичнее организовать классы, и как правильнее? Например, есть класс MainWnd (Главное окно, обработчик событий) и класс Game(логика, отрисовка и т.д.), ну и App ешче естестно. Что лучше, объявить объект класса Game в MainWnd, или унаследовать Game от MainWnd. Результат в итоге один и тот же, но что правильнее???

2) на какие бы вы классы разбили данную проблему и что от чего унаследовали????

Всем спасибо…
 
E

European

Очень смахивает на тестовое задание для принятия на работу :) У тебя свои мысли есть?
 
G

grigsoft

Правильно - это не высасывать объекты из пальца, а сесть и продумать реализацию сначала. Из того, чем ты будешь оперировать в реализации и проясниться какие будут объекты и где. И если собираешься использовать тот-же MFC, то есть смысл ознакомиться с концепцией doc-view интерфейса - тогда отпадут вопросы наследовать ли Game от MainWnd. Конкретно там отрисовкой занимается view, показывая изменяющиеся данные из документа. Логику можно выделить в класс внутри документа, чтобы не распылять ее между обоими.
 
R

Rapitos

Да, смахивает))) Но это не так))) Я ищу работу и пишу для себя проги. И вот когда я писал тетрис я понял что могу дойти до результата двумя способами а какой вернее не знаю. Мне интересно как правильно, и если вы чувствуете в этом паливо, приведите другой пример и как в нем лучше классы сгрупировать. :(
Что касаеться моих мыслей, то я бы унаследовал Game от MainWnd, т.к. в Game много методов перирисовки, которые должны вызывать методы класса MainWnd :)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!