Войти
ПрограммированиеФорумОбщее

Смена экранов игры (комментарии) (2 стр)

Страницы: 1 2 3 410 Следующая »
#15
0:10, 25 янв. 2013

Чисто моё ИМХО, но class IModule, содержит букву I что значит Interface, а также он содержит члонов класса - 2 була и 1 указатель, а значит не совсем подходит под общее определение интефейса.

Обычно игровых движках/фреймворках используется SceneGraph(например Cocos2d-x), где переключение экранов происходит при помощи замены сцены.


#16
3:47, 25 янв. 2013

А вот скажите, это одному мне кажется, что код со свичом быстрее пишется, проще понимается, более сопровождабельный и т.п. ?

#17
3:49, 25 янв. 2013

да

#18
10:01, 25 янв. 2013

Wraith
Вам одному.

#19
11:17, 25 янв. 2013

Wraith
> А вот скажите, это одному мне кажется, что код со свичом быстрее пишется, проще
> понимается, более сопровождабельный и т.п. ?
Не слушай студентокодеров. Тебе не кажется, так и есть ;)

#20
11:28, 25 янв. 2013

А что, правда *ботву* писать интереснее, чем игру? Чем графику-звук-сеть-геймплей?

#21
12:21, 25 янв. 2013

kvakvs
> код со свичом быстрее пишется
Ну так скажем - свитч в понимании компилятора это разветвленный оператор с хэшем, что и должно быть быстро и удобно.
Но вот именно в приведенном автором примере проще было бы наверное СОЗДАВАТЬ нужные сцены по свитчу в фабрике. А не вызывать функции (то есть налио ненужные вызовы).

#22
12:53, 25 янв. 2013

Классописание - это плановый этап развития программиста

  • Сначала он студент или бывший студент, ему кажется что он может свернуть горы и он начинает говнокодить на паскале или сишечке, получается довольно плохой не-ООП, или минимально-ООП код, читать его без слёз нельзя, но он работает.
  • Затем он находит первую свою работу, узнаёт про ООП, думает как же это офигенно, и начинает говнякать простенькие иерархии классов. Код его всё ещё печален, но в нём появляется структура.
  • Через время ООПянка усиливается, новая работа сложнее, чем предыдущая, ему кажется, что ООП идеально решает задачи его проекта, и классы начинают переть через край, везде где нужно и не нужно, шаблоны векторов, шаблоны шаблонов доступа к шаблонам строк, интерфейсы к интерфейсам классов для загрузки интерфейсов классов текстур классов интерфейсов сцены, класс строк само собой.
  • А вот тут программист вырастает, и понимает, где бесполезная мишура, а где ценный код, и открывает для себя Си и функциональные языки без ООП, внезапно мишура исчезает, классы становятся (почти) не нужны и можно спокойно писать простой и чистый код. Некоторые ещё до этого этапа не дошли, а некоторые никогда не дойдут. Пример можно взять с Дж. Кармака, например, или с меня ;)
  • #23
    12:56, 25 янв. 2013

    kvakvs
    Можно пример движка (любого, достойного), написанного на чистом Си и функциональном языке без ООП?
    Нет таких?
    Тогда кто-то из нас сильно погнал

    #24
    12:58, 25 янв. 2013

    CasDev
    > Можно пример движка (любого, достойного), написанного на чистом Си и
    > функциональном языке без ООП?
    Э, Quake1, Quake2 кажется тоже, например? Doom3 имеет немного плюсов внутри, но весьма символичное количество.
    Плюсы не нужны, совсем-совсем, честно. Они просто модные и все стараются пользоваться. Ну и контейнеры в плюсах удобные, лучше с ними, чем без них.

    #25
    13:04, 25 янв. 2013

    kvakvs
    Ну, сторонники кода без инварианта данных вроде как определились.

    Теперь второй вопрос - что удобнее в плане кода - DirectX или openGL?
    И третий вопрос - нафига родилось и приобрело популярность ООП, если функциональные языки покрывают все с лихвой.

    Я понимаю что хелловорлды легко писать функциями, а вот все что подразумевает хоть какой-то инвариант - тяжеловато дружит с функциональным подходом.
    Можете погуглить об ошибках на том же therac-25 (недавно на хабре проскакивало) и подумать, чем же все-таки плох функциональный подход.

    #26
    13:09, 25 янв. 2013

    CasDev
    > Теперь второй вопрос - что удобнее в плане кода - DirectX или openGL?
    При чём здесь эта тема? Мне лично нравится DX, не претендую на объективность ;)

    > И третий вопрос - нафига родилось и приобрело популярность ООП, если
    > функциональные языки покрывают все с лихвой.
    ООП позволяет представлять иерархии классов. К сожалению не всё в жизни иерархично. Например яблоко лежащее на столе совсем не принадлежит классу стола и легко по нему может покатиться или упасть, или быть съеденным, а в ООП принадлежит. Или монстр теоретически принадлежит сцене и рендерится, как часть сцены, но может между сценами передвигаться, то есть с другой стороны не принадлежит. Луч света между сценами (между 3Д комнатами), принадлежит комнатам, источнику света или всему миру? Или он сам по себе?

    > Можете погуглить об ошибках на том же therac-25 (недавно на хабре проскакивало)
    > и подумать, чем же все-таки плох функциональный подход.
    Я знаю историю с Тераком. Просто плохо написанный нетестированный код, никакого отношения к ООП или ФП.

    #27
    13:17, 25 янв. 2013

    kvakvs
    > Quake2
    > без ООП
    Ну да, написаны на чистом С, но чтобы не застрелиться, им пришлось вручную делать подобие классов С++. Классы не нужны, мы зделаем свои на сях, вся суть С.

    kvakvs
    > Плюсы не нужны, совсем-совсем, честно.
    Ой, вас не слышно, у вас буфер переполнился и память утекла.

    kvakvs
    > Или он сам по себе?
    ООП исключительно про поведение.

    + Показать
    #28
    13:28, 25 янв. 2013

    kvakvs
    > Э, Quake1, Quake2 кажется тоже, например?

    Э, давай сравним повторное использование Q  и U ?

    > ООП позволяет представлять иерархии классов. К сожалению не всё в жизни
    > иерархично. Например яблоко лежащее на столе совсем не принадлежит классу стола
    > и легко по нему может покатиться или упасть, или быть съеденным, а в ООП
    > принадлежит. Или монстр теоретически принадлежит сцене и рендерится, как часть
    > сцены, но может между сценами передвигаться, то есть с другой стороны не
    > принадлежит. Луч света между сценами (между 3Д комнатами), принадлежит
    > комнатам, источнику света или всему миру? Или он сам по себе?

    Ужас! Это неадекватное понимание ООП

    #29
    13:31, 25 янв. 2013

    По теме. 80 %  за ТК в этом вопросе. Имел дело с проектом с аналогичным switch ... столько неожиданности вылезло :)

    Страницы: 1 2 3 410 Следующая »
    ПрограммированиеФорумОбщее

    Тема в архиве.