-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+107
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
var
OGTC: cardinal; // для сверки с таймером
procedure CheckPhys;
begin
if OGTC < GetTickCount then begin
Phys; // тут считается вся игровая физика и все изменения состояний. Звуки тоже здесь.
Inc(OGTC, dT);
end;
end;
procedure Graph; // процедура отрисовки графики
var
i: integer;
begin
CheckPhys;
for i := 0 to ItemCount - 1 do with Items[i]^ do CopyPosition := Position; // делаем копию состояния перед отрисовкой мира!
for i := 0 to ItemCount - 1 do begin
ShowItem(Items[i]^); // рисуем элемент мира
CheckPhys; // проверяем, не пора ли снова считать физику
end;
end;
procedure OnIdle;
begin
if PlayingGame then Graph;
end;
Надо, чтобы в игре скорость игрового процесса не зависела от тормозов графики. Даже когда кадр долго рисуется, звуки и движения делаются строго по таймеру. Создавать лишний поток мне в лом, и вообще я дико боюсь приколов с синхронизациями и так далее. Поэтому сделал такую хрень. Сэмулировал многопоточность банальным однопоточным кодом.
TarasB,
26 Мая 2010
-
0
#6: (vanished) https://govnokod.xyz/_26648
#7: https://govnokod.ru/26673 https://govnokod.xyz/_26673
#8: https://govnokod.ru/27052 https://govnokod.xyz/_27052
#9: (vanished) https://govnokod.xyz/_27852
#10: https://govnokod.ru/28060 https://govnokod.xyz/_28060
#11: https://govnokod.ru/28091 https://govnokod.xyz/_28091
#12: https://govnokod.ru/28103 https://govnokod.xyz/_28103
#13: https://govnokod.ru/28144 https://govnokod.xyz/_28144
#14: https://govnokod.ru/28270 https://govnokod.xyz/_28270
#15: https://govnokod.ru/28341 https://govnokod.xyz/_28341
#16: https://govnokod.ru/28379 https://govnokod.xyz/_28379
#17: https://govnokod.ru/28394 https://govnokod.xyz/_28394
#18: https://govnokod.ru/28440 https://govnokod.xyz/_28440
#19: https://govnokod.ru/28572 https://govnokod.xyz/_28572
#20: https://govnokod.ru/28656 https://govnokod.xyz/_28656
#21: (vanished) https://govnokod.xyz/_28666
#22: https://govnokod.ru/28676 https://govnokod.xyz/_28676
#23: https://govnokod.ru/28684 https://govnokod.xyz/_28684
#24: https://govnokod.ru/28691 https://govnokod.xyz/_28691
#25: https://govnokod.ru/28698 https://govnokod.xyz/_28698
#26: https://govnokod.ru/28704 https://govnokod.xyz/_28704
#27: https://govnokod.ru/28711 https://govnokod.xyz/_28711
#28: https://govnokod.ru/28721 https://govnokod.xyz/_28721
#29: https://govnokod.ru/28728 https://govnokod.xyz/_28728
#30: (vanished) https://govnokod.xyz/_28747
#31: https://govnokod.ru/28757 https://govnokod.xyz/_28757
#32: https://govnokod.ru/28770 https://govnokod.xyz/_28770
#33: https://govnokod.ru/28835 https://govnokod.xyz/_28835
#34: https://govnokod.ru/28924 https://govnokod.xyz/_28924
#35: https://govnokod.ru/29080 https://govnokod.xyz/_29080
nepeKamHblu_nemyx,
11 Сентября 2025
-
0
- 1
$ find ~ -name .git -type d -prune -printf "***\n%p\n***\n" -exec git -C '{}/..' status \;
MAKAKA,
21 Февраля 2021
-
0
- 1
https://tproger.ru/articles/frontend-roadmap-2021/
Как много надо учить ради того, чтобы клепать красивые формочки.
Они там совсем ебанулись?
YpaHeLI_,
12 Ноября 2020
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
std::optional<int64_t> readNumber(const wchar_t *&str)
{
const wchar_t *origStr = str;
if (*str == L'-' || *str == L'+') {
str++;
if (!std::iswdigit(*str)) {
str--;
return {};
}
} else {
if (!std::iswdigit(*str)) {
return {};
}
}
while (std::iswdigit(*str)) {
str++;
}
return wcstoll(origStr, NULL, 10);
}
А всё потому, что доки по «wcstoll» надо читать!
gost,
07 Января 2019
-
−3
Экшскрипт сгнил.
3oJIoTou_xyu,
03 Декабря 2018
-
+156
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
var old = 47;
function getRate() {
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20yahoo.finance.xchange%20where%20pair%20in%20%28%22USDRUB%22%29&env=store://datatables.org/alltableswithkeys",
dataType: "text"
}).done(function(msg) {
var value = /<Rate>(.+)<\/Rate>/.exec(msg)[1];
//$("#p-rate").html(/<Rate>(.+)<\/Rate>/.exec(msg)[1]);
$("#p-rate").html(value);
if(value > old) $("#p-message").html("МНЕ ОТ ЭТОГО ТОЛЬКО ЛУЧШЕ! ТОЛЬКО НА ПОЛЬЗУ!");
else if(value < old) $("#p-message").html("СКАЛЕН! СКАЛЕН!");
else $("#p-message").html("МНОГОХОДОВОЧКА!");
old = value;
});
}
setInterval(getRate,1500);
gost,
24 Ноября 2014
-
+142
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
public class PDFVPage
{
....
public int GetX()
{
return m_x;
}
public int GetY()
{
return m_y;
}
Либа Android PDF :)
kovel,
31 Декабря 2013
-
+160
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
for(var i = 0, l = requestParams.length; i < l; i++) {
var param_pair = requestParams[i];
key = encodeURIComponent(param_pair[0]);
val = param_pair[1];
if ( val && val.constructor.toString().match(/array/i) ) {
val = val.join('+');
}
// ...
}
Кусочек велосипеда, который заменяет функционал jQuery.ajax
Если вдруг наш параметр оказался массивом ... ну что ж еще с ним сделать кроме как соединить через "+". Обратите внимание на саму проверку.
Elvenfighter,
05 Декабря 2012
-
−157
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
uint16_t (*tArray16[20])[16];
uint16_t (*tArray64[5])[64];
//////
где-то в начале это malocaется
//////
for( i = 0; i < 25; i++ )
{ ....
free( h->tArray16[i] );
}
это работает. т.к. структуры идут в памяти последовательно
3.14159265,
18 Июня 2010