- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
GetScreenShot()
{
std::string NameScreen = ToString(GameLevel->EngineName) + "_" + ToString(GTime->GetTimeDays()) + "_" + ToString(GTime->GetTimeHours()) + "_" + ToString(GTime->GetTimeSec()) + ".bmp";
IDirect3DTexture9 *tex;
IDirect3DSurface9 *surf;
D3DVIEWPORT9 vp;
Device->GetViewport(&vp);
if FAILED(Device->CreateTexture(vp.Width, vp.Height, 1, 0, D3DFMT_A8R8G8B8,D3DPOOL_SYSTEMMEM, &tex, NULL ))
Beep(1000,100);
if FAILED(tex->GetSurfaceLevel(0, &surf))
Beep(500,100);
if FAILED(Device->GetFrontBufferData(0, surf))
Beep(200,100);
D3DXSaveSurfaceToFile(ToPointChar(ToString(Pather::CutPath()) + "\\ScreenShots\\" + NameScreen), D3DXIFF_BMP, surf, NULL, NULL);
surf->Release();
tex->Release();
}
SaveTrollfaceToFile
даже не знаю, что хуже - лабы, геймдев или посты-оффтопики?
но вместо оптимизаций просто увеличивают минимальные требования.
Поэтому сидите в своём продакшоне и не говорите, о чём не знаете.
При том что все написанное ФЛЕШ! жрало полтора гб памяти, грузило 1800свф ресурсов - а там перс по лесу бегал и почти ничего не умел (застревать умел, грузится дохлым, стрелять по единственному бессмертному мобу).
Он почти ничего не умел, потому что сервер был нечеловечески страшен. Мне приходили 8 метровые хмл рожденные не иначе как в аду для пыток программистов.
В общем это был крик души.
И было это в ооочень известной геймдев компании которая успешно выпускала и выпускает культовые игрушки (с флешом они правда видимо больше не свяжутся).
Потому что по логике x и y - координаты предмета, а z - высота. А на экране при такой логике y получается глубиной, а x и z - координатами предмета на экране.
Не хочется давать названия, тщательно гуглящие могут узнать.
- не могут написать цикл DO на пяти страницах только трусы;
- не любят тернарные операторы ?: (т.к. их использование делает программу более интересной) только трусы;
- используют несамомодифицирующий код только трусы, особенно в тех случаях, когда это добавляет 20 наносекунд в середине очень короткого цикла;
- комментарии используют только трусы: текст программы все объясняет;
дельфепроблемы
Разве что только в оригинале был "арифметический оператор IF", я так понял, это то же самое.
а ненависть к замечательному тернарному оператору сразу детектит махрового дельфебоя, которому несложно заводить временные переменные для хранения временных значений в отдельном разделе var одним-двумя пейджапом выше, подумаешь
вместо
done_correct ? do_success() : do_error_hnd()
было бы
if (done_correct) do_success() else do_error_hnd()
- труднее заметить разделитель условия и true ветки,
- сложнее компилятору обязательно требовать ветки else (тогда бы крестофобы жаловались на нетривиальную семантику еще больше, тут пишем, а тут не обязательно, а тут рыбу заворачиваем)
- банально больше символов
ну и краткость ?: должна служить намёком, что код обязан оставаться читаемым при их применении
else можно было бы сделать обязательным только если выражение с if является rvalue. Вроде несложное правило...
но ты же не хочешь сказать, что специальный синтаксис для тернарного оператора в С настолько ужасен, что тебя тошнит на клавиатуру, когда ты пытаешься заставить себя написать его, вместо таких родных и близких if (expr) expr1 else expr2
я вот когда работал со скалой постоянно переживал не из-за синтаксиса, а по поводу всей этой функциональной неоптимальности, этот миллион промежуточных одноразовых объектов, создаваемых за кулисами, лишь для торжества идеи чистоты функций
но допустим у нас есть коллекция чего то, да например записей
наша функция должна взять эту коллекцию, и вернуть новую, в которой будет добавлена еще одна запись
я верно понимаю, что это приведёт к фактически копированию старой коллекции и появлении в куче новой?
ведь это забота GC удалить старую, если она вдруг станет никому не нужна?
вот о том и речь
эти ваши языки принуждают писать эстетичный, но медленный код
и это напрягает, когда компилятор пытается быть умнее программиста - получается некая золотая клетка
скорость разработки повышает, бесспорно
но я, если честно, не жалуюсь на скорость своей разработки на С++
минули те времена, когда приходилось каждый раз реализовывать всё новые велосипеды
Однако он - настоящий тупица по сравнению с компилятором C++.
Я не имею ничего против C++. А C я просто не могу не любить. Но по моему мнению Scala очень достойный язык. Производительность java-машины уже давно плохо подходит для колких шуток.
В JVM _все_ объекты, которые создаёт пользовательский код, живут в куче, компилятор не может просто так их замещать.
но она должна будет выполнена для того, чтобы дать результат при выходе из оператора "?:", т.е. ничего такого отложенного нет
даже тыкали пальцем в стл для дельфи, только лучше
только вот среда давно уже не борланд и не дельфи
да вроде даже тут, на ГК проскакивали где-то.
2. +1
3. а что плохого в ?: в дельфи частенько не хватает ++ -- ?: += -= *= т.п.
4. во загнул:)
5. в хедерах вообще каждая функция или поле, не говоря уже о классах, должны быть откомментированы. А реализация - если правильно разделить задачу на правильного размера крипичики, то там комментариев понадобится немного.
Источник: http://lib.ru/ANEKDOTY/non_pas.txt
Причём тут Мы, это копипаста.
Я правильно перевёл "арифметический оператор IF" на более понятный язык?
IF (expression) on_negative,on_zero,on_positive
Кстати, я такой оператор тоже ввёл в свою программку для построения функций. Он позволяет обойтись только вещественными числами, без логических типов.
предполагаю что да (вроде бы логично потому что)
квартарный?
калтафый опелатол техпоттелски
оператор горшка
Люто
Бешенно ненавижу "посмотри-по-коду" петухов.
Питухи, желаю вам, чтоб у вас wifi карточка не заработала, а вендор посоветовал бы посмотреть по коду драйвера, как ее включить
ну нихуя себе гейдеваха порвалась
>позавчера
>вчера
>позавчера
нужно было исправить только после
sudo mv 'TIME PARADOX ITT' 'ЛЕСЕНКА PARADOX'
Было бы вовсе идеально, если бы частоты бипов точно соответствовали частотам нот, но ничто не идеально.
Вообще, кодировать бипом ошибки -- старый метод работы прошивок и биосов. По писку можно определить что биосу мешает запуститься
Пусть R = exp(ln(2)/12).
Тогда f(ля-диез) = f(ля) * R;
f(си) = f(ля-диез) * R = f(ля) * R * R.
Так вычисляются частоты всех нот.
Если есть техническая возможность синтезировать звуки произвольной частоты, то на каждую ошибку можно играть свою мелодию.