Size: a a a

2021 February 14

AS

Anatoly Shirokov in supapro.cxx
Mikhail Kalugin
+ Ну вот, теперь неделю спать не смогу, буду думать что такого мог джун (да пусть даже мидл) сделать с массивами, что оно аж на треть быстрее чем с векторами. Наверное, пора уже мыслить как сеньеру и спрашивать: что он такое творит с векторами, что они у него такие медленные?
Говнокод написать - дело нехитрое. Бросил в тело цикла создание вектора, вместо массива  - вот, уже деградация
источник

z

zeroid in supapro.cxx
Ну так стек vs куча, вполне ожидаемый прирост производительности
источник

MK

Mikhail Kalugin in supapro.cxx
Anatoly Shirokov
Говнокод написать - дело нехитрое. Бросил в тело цикла создание вектора, вместо массива  - вот, уже деградация
Все ясно.
источник

MK

Mikhail Kalugin in supapro.cxx
zeroid
Ну так стек vs куча, вполне ожидаемый прирост производительности
Не в этом дело, а в лишних векторах, которые создаются и уничтожаются на каждую итерацию.
источник

AS

Anatoly Shirokov in supapro.cxx
Так или иначе, конечно, хотелось от автора получить какой-то семпл, тогда можно было разобрать, что у него действительно происходит. А пока это наши предположения,  где можно накосячить.
источник

MK

Mikhail Kalugin in supapro.cxx
Anatoly Shirokov
Так или иначе, конечно, хотелось от автора получить какой-то семпл, тогда можно было разобрать, что у него действительно происходит. А пока это наши предположения,  где можно накосячить.
источник

AS

Anatoly Shirokov in supapro.cxx
надо же, попал пальцем в небо, действительно на каждом шаге создается вектор векторов - это ахтунг
источник

Q

Queen in supapro.cxx
Пишу сейчас OOP snake и вот пытаюсь понять принцип взаимодействия доски и самый змейки. Хочу также написать объекты вроде награда(яблоко груша и прочее) и наказание (грибы). И думаю, Как объединить это всё, как должна взаимодействоать доска с этими объектами. Подскажите литературу, которая описывает такое взаимодействие. По отдельности я представляю как это работает, но как только дело доходит до доски, у меня ступор
источник

MK

Mikhail Kalugin in supapro.cxx
Queen
Пишу сейчас OOP snake и вот пытаюсь понять принцип взаимодействия доски и самый змейки. Хочу также написать объекты вроде награда(яблоко груша и прочее) и наказание (грибы). И думаю, Как объединить это всё, как должна взаимодействоать доска с этими объектами. Подскажите литературу, которая описывает такое взаимодействие. По отдельности я представляю как это работает, но как только дело доходит до доски, у меня ступор
Никак. Она просто должна уметь их хранить. Общий тип для всего, что может быть на доске и квадратный массив в доске с этим типом.
источник

AS

Anatoly Shirokov in supapro.cxx
Queen
Пишу сейчас OOP snake и вот пытаюсь понять принцип взаимодействия доски и самый змейки. Хочу также написать объекты вроде награда(яблоко груша и прочее) и наказание (грибы). И думаю, Как объединить это всё, как должна взаимодействоать доска с этими объектами. Подскажите литературу, которая описывает такое взаимодействие. По отдельности я представляю как это работает, но как только дело доходит до доски, у меня ступор
ну,  у тебя есть GameEngine - он владеет доской, змейков и произвольным набором абстрактных препятствий (гриб, ягода и т.п.). На каждом шаге Engine проверяет столкновение змейки с препятствием и абстрактному препятствию делегирует что требуется сделать (гриб - смерть, ягода - добавить бонус) и т.п.
источник

AS

Anatoly Shirokov in supapro.cxx
Буч очень неплох в плане введения в ООA/OOП
источник

MK

Mikhail Kalugin in supapro.cxx
Anatoly Shirokov
ну,  у тебя есть GameEngine - он владеет доской, змейков и произвольным набором абстрактных препятствий (гриб, ягода и т.п.). На каждом шаге Engine проверяет столкновение змейки с препятствием и абстрактному препятствию делегирует что требуется сделать (гриб - смерть, ягода - добавить бонус) и т.п.
А доска тогда вырождается до простого контейнера в GameEngine?
источник

Q

Queen in supapro.cxx
Anatoly Shirokov
Буч очень неплох в плане введения в ООA/OOП
thanks
источник

AS

Anatoly Shirokov in supapro.cxx
Mikhail Kalugin
А доска тогда вырождается до простого контейнера в GameEngine?
как один из вариантов, так-то это матрица с указателями на игровой объект: ячейка матрицы либо занята змейкой, либо непреодолимым препятствием (стены), либо бонусы/малусы
источник

MK

Mikhail Kalugin in supapro.cxx
Anatoly Shirokov
как один из вариантов, так-то это матрица с указателями на игровой объект: ячейка матрицы либо занята змейкой, либо непреодолимым препятствием (стены), либо бонусы/малусы
Хотя, если подумать, они все как минимум должны уметь себя рисовать - доски это тоже касается (если уж делать совсем канонический ООП)
источник

IZ

Ilia Zviagin in supapro.cxx
zeroid
Ну так стек vs куча, вполне ожидаемый прирост производительности
Нет
источник

IZ

Ilia Zviagin in supapro.cxx
Mikhail Kalugin
А доска тогда вырождается до простого контейнера в GameEngine?
Фактически да
источник

IZ

Ilia Zviagin in supapro.cxx
Mikhail Kalugin
Хотя, если подумать, они все как минимум должны уметь себя рисовать - доски это тоже касается (если уж делать совсем канонический ООП)
Ну да, ещё размеры, положение объектов, способы рисования - не так и бессмысленно
источник

К

Кемель in supapro.cxx
Добрый день. Пересел на Убунту(новичок). До этого, я компилировал файл так test.cpp и после просто a.  В убунту, мне приходится вместо a, писать ./a.out. Могу ли я изменить это?
P.S. Я писал на windows, и там в терминале вместо bash, было cmd.
источник

D

Danya in supapro.cxx
Кемель
Добрый день. Пересел на Убунту(новичок). До этого, я компилировал файл так test.cpp и после просто a.  В убунту, мне приходится вместо a, писать ./a.out. Могу ли я изменить это?
P.S. Я писал на windows, и там в терминале вместо bash, было cmd.
А в чем проблема-то? Писать ещё 4 символа?
источник