1. Куча / Говнокод #20242

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    RunTemplate("WoWADT.bt");
    int i;
    for( i=0; i < 99999; ++i )
    {
        if(ADT_file.mddf.entry[i].pos.z&1)
        ADT_file.mddf.entry[i].pos.z &= ~z&1-100;
    }
    
    // Автор хотел сделать вот это:
    RunTemplate("WoWADT.bt");
    int i;
    for( i=0; i < ADT_file.mddf.hdr.byte_size \ 0x24; ++i )
    {
         ADT_file.mddf.entry[i].pos.z -= 100;
    }
    FileSave();
    FileClose();

    По мере надобности программирую на скриптовом языке 1SC в Sweetscape 010 editor. Один человек прислал мне вот такой вот кусочек кода. Ниже то что он хотел сделать на самом деле (вычесть 100 из каждой координаты). :)

    Skarn, 21 Июня 2016

    Комментарии (4)
  2. Java / Говнокод #20240

    +5

    1. 1
    public static void main(String[] args) throws SQLException // Arguments args can be found in Run Configurations

    I'm still looking for ..

    nik_lazer, 21 Июня 2016

    Комментарии (6)
  3. C# / Говнокод #20239

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public override TItem[] ToArray()
    {
    	TItem[] arr = new TItem[Count];
    	Int64 i = 0;
    	foreach (TItem item in this)
    	{
    		if (i >= Count) break;
    		arr[i] = item;
    		i++;
    	}
    	return arr;
    }

    И пофиг, что foreach и так не даст превысить размер коллекции, всё равно проверим!

    dm_fomenok, 20 Июня 2016

    Комментарии (13)
  4. PHP / Говнокод #20238

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    function setLastHandshake ($carID) {
    	$HsList = json_decode(file_get_contents('carconnection.txt'), 1);
    	if ($HsList == "null" || $HsList == null) {
    		$HsList = json_decode("[]");
    	}
    	$carCount = count($HsList);
    	$i = 0;
    	foreach ($HsList as &$row) {
    		if ($row['car'] == $carID) {
    			$row['lastHS'] = (string)time();
    			break;
    		}
    		else {
    		$i++;
    		}
    		if ($i == $carCount) {
    			$HsList[] = array('car' => (string)$carID, 'lastHS' => (string)time());
    		}
    	}
    	if ($HsList == "null" || $HsList == null) {
    		return -1;
    	}
    	$f = fopen('carconnection.txt', 'w');
    	fwrite($f, json_encode($HsList));
    }

    tooyz, 20 Июня 2016

    Комментарии (1)
  5. C++ / Говнокод #20237

    +4

    1. 1
    data[idata].io_data[i % 4].data

    Когда процессишь данные данных для данных

    Starl1ght, 20 Июня 2016

    Комментарии (0)
  6. 1C / Говнокод #20235

    −53

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    Законы де Моргана в 1С
    Казалось бы, при чем Булева Алгебра к 1С?
    
    
    
    Предположим, есть задача - отобрать действующие договора на некую дату проверки &Дата.
    
    При этом у договора есть дата начала и дата окончания, если дата окончания не задана, то договор действует до конца времен.
    
    Как решается задача? В лоб так:
    
    
    ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И (ДатаОкончания >= &Дата ИЛИ ДатаОкончания = ДатаВремя(1,1,1))
    
    Но операция ИЛИ вызывает некоторые проблемы по скорости, поэтому есть желание обойтись без нее. Как это сделать? Тут приходит на помощь законы Де Моргана.
    
    Перепишем так:
    
    
    ВЫБРАТЬ Ссылка ИЗ Справочник.Договоры ГДЕ ДатаНачала <= &Дата И НЕ (ДатаОкончания < &Дата И ДатаОкончания <> ДатаВремя(1,1,1))
    
    И всё работает.
    
    Проверяем выделенную зеленым часть условия:
    
    1. Если дата окончания договора меньше даты проверки, то получим НЕ (ИСТИНА И ИСТИНА) = ЛОЖЬ
    
    2. Если дата окончания договора больше или равно даты проверки, то получим НЕ (ЛОЖЬ И ИСТИНА) = ИСТИНА
    
    3. Если дата окончания договора не заполнена, то получим НЕ (ЛОЖЬ) = истина.
    
    Торжество формальной логики! Причем некоторые товарщи пытаются оптимизировать этот запрос через запросы с объединением, а ларчик открывается просто!

    Немножко обо мне:
    Действующий пикапер. Честно соблазнил 174 женщин и купил 42 феи (на август 2015)
    Использует функциональную 5 бальную шкалу оценок женщин.
    Известный 1сник с кличкой Гений 1С. Получает от 120 тыщ.
    Изобрел фонд «Секс за ваши» - занимаюсь сексом с проститутками за счет пожертвований фанатов.
    Изобрел Религию Дембеля.

    Genius1C, 20 Июня 2016

    Комментарии (245)
  7. Assembler / Говнокод #20234

    +70

    1. 1
    https://youtu.be/hB6eY73sLV0?t=241

    Исполнение произвольного кода(в данном случае Flappy Bird) в Super Mario World. Запись инструкций в память происходит посредством прыжков в нужных координатах.

    j123123, 20 Июня 2016

    Комментарии (7)
  8. Куча / Говнокод #20233

    +3

    1. 1
    https://geektimes.ru/post/277444/

    LispGovno, 20 Июня 2016

    Комментарии (19)
  9. C++ / Говнокод #20231

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    void Canvas::drawText(const char* text, SDL_Color sdlColor, int x, int y) const noexcept
    {
        if (!font)
            throw std::runtime_error{"TTF_Font* is null"};
    
        SDL_Surface* const sdlSurface =
            ::TTF_RenderText_Solid(const_cast<TTF_Font*>(font->getTtfFont()), text, sdlColor);
        if (!sdlSurface)
            throw std::runtime_error{"SDL_Surface* is null"};
    
        SDL_Texture* const sdlTexture =
            ::SDL_CreateTextureFromSurface(const_cast<SDL_Renderer*>(renderer->getSdlRenderer()), sdlSurface);
        if (!sdlTexture)
            throw std::runtime_error{"SDL_Texture* is null"};
    
        const SDL_Rect srcrect{0, 0, sdlSurface->w, sdlSurface->h};
        const SDL_Rect dstrect{x, y, sdlSurface->w, sdlSurface->h};
    
        ::SDL_FreeSurface(sdlSurface);
    
        ::SDL_RenderCopy(const_cast<SDL_Renderer*>(renderer->getSdlRenderer()), sdlTexture,
                &srcrect, &dstrect);
        ::SDL_DestroyTexture(sdlTexture);
    }

    jangolare, 19 Июня 2016

    Комментарии (41)
  10. PHP / Говнокод #20225

    +2

    1. 1
    2. 2
    3. 3
    <input type="hidden" name="lang" value="<?= LANG ?>"/>
    <input type="hidden" name="ID" value=<?= $arResult["ID"] ?>/>
    <input type="hidden" name="LOGIN" value=<?= $arResult["arUser"]["LOGIN"] ?>/>

    Кусок формы редактирования профиля.. Отвлечемся от горячо любимой CMS и сконцентрируемся на сути...

    Кодер так спешил, что решил просто type="text" превратить в хиддены. Бог с ним что это дает юзеру намек на то как сменить логин.
    Но он забыл кавычки. ID проходит через IntVal и это не заметно. А вот к логину при каждом сохранении дописывается "/", юзера не выкидывает. А вот в следующий раз он должен угадать сколько слэшей добавить к логину. Да и логин запретили менять наверное не просто так, а потому что при регистрации туда прописывается мыло, а вот при апдейте юзера уже не трогают это...

    maddocnc, 17 Июня 2016

    Комментарии (0)