-
Список говнокодов пользователя gost
Всего: 246
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
void Game::Loadlevel(int which){
stealthloading=0;
if(which==0)Loadlevel((char *)":Data:Maps:map1");
else if(which==1)Loadlevel((char *)":Data:Maps:map2");
else if(which==2)Loadlevel((char *)":Data:Maps:map3");
// [...]
}
// [Почему (char *)? Да вот же!]
void Game::Loadlevel(char *name){
int i,j,k,l,m;
static int oldlevel;
int templength;
float lamefloat;
int lameint;
// [...]
}
Ебём const машиной Тьюринга. Всё тот же https://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp , прямо-таки сокровищница с говном.
gost,
27 Мая 2016
-
+4
- 1
- 2
- 3
- 4
- 5
- 6
if(((player[i].targetanimation!=getupfrombackanim&&player[i].targetanimation!=getupfromfrontanim)||player[i].skeleton.free)&&((player[k].targetanimation!=getupfrombackanim&&player[k].targetanimation!=getupfromfrontanim)||player[k].skeleton.free))
if(((((findLengthfast(&rotatetarget)>150&&(i!=0&&k!=0))||(findLengthfast(&rotatetarget)>50&&player[0].rabbitkickragdoll/*currentanimation==rabbitkickanim*/&&(i==0||k==0)))&&normaldotproduct(rotatetarget,player[k].coords-player[i].coords)>0)&&((i==0||k==0)||((player[i].skeleton.oldfree==1&&k!=0&&animation[player[k].currentanimation].attack==neutral)||(player[k].skeleton.oldfree==1&&i!=0&&animation[player[i].currentanimation].attack==neutral)||(player[i].isFlip()&&!player[i].skeleton.oldfree&&(i==0||k==0))||(player[k].isFlip()&&!player[k].skeleton.oldfree&&(i==0||k==0))||(i==0||k==0))))||((player[i].targetanimation==jumpupanim||player[i].targetanimation==jumpdownanim||player[i].isFlip())&&(player[k].targetanimation==jumpupanim||player[k].targetanimation==jumpdownanim||player[k].isFlip())&&(i==0||k==0)&&(!player[i].skeleton.oldfree&&!player[k].skeleton.oldfree))){
//If hit by body
if((i!=0||player[i].skeleton.free)&&(k!=0||player[k].skeleton.free)||(animation[player[i].targetanimation].height==highheight&&animation[player[k].targetanimation].height==highheight)){
static float gLoc[3];
// ...
Не могу не запостить. Кажется, это самый длинный говнокод, что я видел.
По мотиву #20073, из http://hg.icculus.org/icculus/lugaru/file/97b303e79826/Source/GameTick.cpp .
PS, на всякий случай поставлю C++ - где-то в недрах второй строчки он наверняка есть.
gost,
25 Мая 2016
-
0
- 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
- 28
u_long thisIp = htonl(this->sockaddr.sin_addr.S_un.S_addr);
u_long otherIp = htonl(other.sockaddr.sin_addr.S_un.S_addr);
u_short thisPort = htons(this->sockaddr.sin_port);
u_short otherPort = htons(other.sockaddr.sin_port);
// ip1 + port1 < ip2 + port2
if (thisIp < otherIp)
{
if (thisPort <= otherPort)
{
return true;
}
else
{
return ((unsigned)(thisPort - otherPort) < (unsigned)(otherIp - thisIp));
}
}
else
{
if (thisPort >= otherPort)
{
return false;
}
else
{
return ((unsigned)(thisIp - otherIp) < (unsigned)(otherPort - thisPort));
}
}
Сравнить IPv4 адрес + порт. Т.е., по сути, (thisIP + thisPort) < (otherIP + otherPort).
unsigned long long, приди!
gost,
21 Мая 2016
-
+2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
foreach(mpqn(mpqw("SELECT * FROM {$conf['db']['prefix']}modules_index", "Список модулей", function($error) use($conf){
if(strpos($error, "doesn't exist")){
qw(pre("ALTER TABLE {$conf['db']['prefix']}modules RENAME {$conf['db']['prefix']}modules_index"));
}else{ pre("Ошибка обработки ошибки", $error); }
})) as $modules){
if(array_search($conf['user']['uname'], explode(',', $conf['settings']['admin_usr'])) !== false) $modules['access'] = 5;
$conf['modules'][ $modules['folder'] ] = $modules;
$conf['modules'][ $modules['folder'] ]['modname'] = $modules['modname'] = (strpos($_SERVER['HTTP_HOST'], "xn--") !== false) ? mb_strtolower($modules['name'], 'UTF-8') : $modules['folder'];
$conf['modules'][ $modules['modname'] ] = &$conf['modules'][ $modules['folder'] ];
$conf['modules'][ mb_strtolower($modules['name']) ] = &$conf['modules'][ $modules['folder'] ];
$conf['modules'][ $modules['id'] ] = &$conf['modules'][ $modules['folder'] ];
}
https://github.com/mpak2/mpak.su/blob/master/index.php
https://habrahabr.ru/post/283166/ - "Самый простой способ создать сайт"
gost,
10 Мая 2016
-
0
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
function floatToStringPrec(f, precisionDigits)
{
var PRECISION = Math.pow(10, precisionDigits);
var integerPart = Math.floor(f);
var fractionalPart = f % 1;
if (fractionalPart == 0)
{
return integerPart.toString();
}
var zeroesInFracPart = -Math.log10(fractionalPart);
if (Math.floor(zeroesInFracPart) == zeroesInFracPart)
{
zeroesInFracPart--;
}
else
{
zeroesInFracPart = Math.floor(zeroesInFracPart);
}
fractionalPart = Math.round(fractionalPart * PRECISION);
while (fractionalPart % 10 == 0)
{
fractionalPart /= 10;
}
var zeroes = '';
if (zeroesInFracPart > 0)
{
zeroes = Array(zeroesInFracPart + 1).join('0');
}
return integerPart.toString() + '.' + zeroes + fractionalPart.toString();
}
Преобразовать плавающего питуха в строку; сохранить не более precisionDigits цифр после запятой (остальные - округлить).
gost,
05 Мая 2016
-
+6
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#include <iostream>
using namespace std;
struct One
{
bool operator==(const One &) { cout << "hello from One!" << endl; return true; }
bool operator==(unsigned int) { cout << "hello from One!" << endl; return true; }
};
One operator "" x( unsigned long long int ) { return One{}; }
One operator "" xMAGICK( unsigned long long int ) { return One{}; }
int main()
{
cout << (0xMAGICK == 0x);
return 0;
}
http://ideone.com/gGYFce
Расширяем множество шестнадцатеричных цифр при помощи UDL
В C++17 осталось разрешить перегрузку операторов встроенных типов - вот тогда можно будет оторваться по-полной!
gost,
05 Мая 2016
-
+3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
public class MyEnglishRadGridLocalizationProvider : RadGridLocalizationProvider
{
public override string GetLocalizedString(string id)
{
switch (id)
{
case RadGridStringId.ConditionalFormattingPleaseSelectValidCellValue: return "Please select valid cell value";
case RadGridStringId.ConditionalFormattingPleaseSetValidCellValue: return "Please set a valid cell value";
case RadGridStringId.ConditionalFormattingPleaseSetValidCellValues: return "Please set a valid cell values";
case RadGridStringId.ConditionalFormattingPleaseSetValidExpression: return "Please set a valid expression";
case RadGridStringId.ConditionalFormattingItem: return "Item";
case RadGridStringId.ConditionalFormattingInvalidParameters: return "Invalid parameters";
case RadGridStringId.FilterFunctionBetween: return "Between";
case RadGridStringId.FilterFunctionContains: return "Contains";
case RadGridStringId.FilterFunctionDoesNotContain: return "Does not contain";
case RadGridStringId.FilterFunctionEndsWith: return "Ends with";
case RadGridStringId.FilterFunctionEqualTo: return "Equals";
case RadGridStringId.FilterFunctionGreaterThan: return "Greater than";
case RadGridStringId.FilterFunctionGreaterThanOrEqualTo: return "Greater than or equal to";
case RadGridStringId.FilterFunctionIsEmpty: return "Is empty";
case RadGridStringId.FilterFunctionIsNull: return "Is null";
Зачем мне ресурсы и конфиги локализации, у меня нет времени чтобы ебаться с ними!
Лучше я захардкожу локализацию ещё раз!
http://docs.telerik.com/devtools/winforms/gridview/localization/localization
gost,
12 Апреля 2016
-
−47
- 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
- 28
- 29
- 30
- 31
NATAL_KEYBOARD = (('1234567890-=',
'йцукенгшщзхъ',
'фывапролджэээ',
'ячсмитьбю.ьб'),
('1234567890-=',
'qwertyuiop[]',
'asdfghjkl;\'\\',
'zxcvbnm,.///'))
def natal_typo(char):
if not char.isalnum():
return char
char_lower = char.lower()
for keyboard in range(len(NATAL_KEYBOARD)):
for row in range(len(NATAL_KEYBOARD[keyboard])):
if char_lower in NATAL_KEYBOARD[keyboard][row]:
col = NATAL_KEYBOARD[keyboard][row].index(char_lower)
if random_bool(0.7):
col_new = bounds(0, len(NATAL_KEYBOARD[keyboard][row]) - 1,
col + random.choice([-1, 1]))
row_new = row
else:
col_new = col
row_new = bounds(0, len(NATAL_KEYBOARD[keyboard]) - 1,
row + random.choice([-1, 1]))
if char.isupper():
return NATAL_KEYBOARD[keyboard][row_new][col_new].upper()
else:
return NATAL_KEYBOARD[keyboard][row_new][col_new]
return char
Натализационный ворецианизатор 0.2. Подробности на говнофоруме/viewtopic.php?pid=2372.
gost,
09 Апреля 2016
-
−48
- 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
- 28
def vorec_char(char):
for i in range(len(vorec_keyboard)):
if char in vorec_keyboard[i]:
idx = vorec_keyboard[i].index(char)
if idx > 0:
if idx < len(vorec_keyboard[i]) - 1:
if random_bool(0.5):
idx -= 1
else:
idx += 1
else:
idx -= 1
else:
idx += 1
y = i
if y > 0:
if y < len(vorec_keyboard) - 1:
if random_bool(0.5):
y -= 1
else:
y += 1
else:
y -= 1
else:
y += 1
return vorec_keyboard[y][idx]
return char
Ворецианизатор текстов: жалкая попытка подражания стилю Мастера Вореций.
Скачать бесплатно без смс тут http://pastebin.com/EWFTxyC4. По исходнику тоже прошёлся ворецианизатором, да.
python[4] (мфа:; в ра4пространено русском языке название питбн[5]) — высокоуровневый прог1аммирования назначения2ориентированн4й общего язык на повышение производительностр разработчик и читаемн5ти ядра минималистичен. кода. синтаксис python то в времы же стандартная библио1ек3 большой вкллчает 5ескол0ко объём полезных18ункций.
python поддерживает 1арадигм программирования чиыле том в структ4р1ое, объектно-бриентированное, чу7кциональное, императи0ное основные и архитектур6ые аспектно-ориенти0оваоное. ч4рты — динамическа памятью,6п9лная управление типизация, обработки автоматическо3 интроспекция исключений, механи9м вычислений поддержка многопоточных удобные и высокоуровневые в данных. код стьуктуры python организовываетс в функции и классы которые объединят2ся в модулр могут (они в очередь объединены свол в быть могут являетыя реализуцией python интерпретатор паке4ы).
эталон15й поддерживающий cpython используемых больш4оство он п7атфогм[6]. активно распространяетс под счободной лицензией software python позво7яющей license foundation иыпол0зовать его 2 любых приложениях без ограничений включая проприета2ные[7]. есть реализации (с возможностью для jvm msil компиляции) интерпр4таторов (6 возможнн3тью llvm других
66129т0 21227390 664133 9687736 3858726080 т8237900378 100562 25077
и предла2а0т pypy компиляции), проект реализацию 25мом python python за2раты измен0ная что6уменьшаео н на я6ык2 и экспериментов0над пос6ановку возможностями.
gost,
07 Апреля 2016
-
+8
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
template <size_t capacity, bool is_signed>
class fixed_int
{
// Описание ошибки компиляции в случае использования не поддерживаемой размерности
template <int x> struct unsupported_capacity { int i[1/(x-x)]; };
template <> struct unsupported_capacity<1> {};
template <> struct unsupported_capacity<2> {};
template <> struct unsupported_capacity<4> {};
template <> struct unsupported_capacity<8> {};
// Свойства базовых типов, необходимые для перебора
template<typename type> struct type_traits;
template<> struct type_traits <unsigned char> { typedef unsigned char current_type; typedef unsigned short next_type; };
template<> struct type_traits <unsigned short> { typedef unsigned short current_type; typedef unsigned int next_type; };
template<> struct type_traits <unsigned int> { typedef unsigned int current_type; typedef unsigned long next_type; };
template<> struct type_traits <unsigned long> { typedef unsigned long current_type; typedef unsigned long long next_type; };
template<> struct type_traits <unsigned long long int> { typedef unsigned long long int current_type; typedef unsupported_capacity<capacity> next_type; };
template<> struct type_traits <signed char> { typedef signed char current_type; typedef short next_type; };
template<> struct type_traits <short> { typedef short current_type; typedef int next_type; };
template<> struct type_traits <int> { typedef int current_type; typedef long next_type; };
template<> struct type_traits <long> { typedef long current_type; typedef long long next_type; };
template<> struct type_traits <long long int> { typedef long long int current_type; typedef unsupported_capacity<capacity> next_type;};
// Алгоритм выбора типа
template<typename type, bool>
struct type_choice
{
typedef typename type_traits<type>::current_type std_type;
};
template<typename type>
struct type_choice<type, false>
{
typedef typename type_traits<type>::next_type next_type;
typedef typename type_choice<next_type, sizeof(next_type) == capacity>::std_type std_type;
};
// Базовый тип для начала подбора
template <bool is_signed> struct base_type_selector { typedef signed char base_type; };
template <> struct base_type_selector<false> { typedef unsigned char base_type; };
public:
typedef typename type_choice< typename base_type_selector<is_signed>::base_type, sizeof(base_type_selector<is_signed>::base_type) == capacity >::std_type type;
};
"Зачем мне нужен stdint.h?
У меня нет времени, чтобы ебаться с ним!
Лучше я высру ещё десяток-другой шаблонов!"
https://habrahabr.ru/post/280542/
PS,
Пятая строка - вообще угар.
gost,
31 Марта 2016