1. Список говнокодов пользователя CPPGovno

    Всего: 41

  2. C++ / Говнокод #7674

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    String str=String::Format("a=<^>, b=<^>, c=\"<^>\"")(a)(b, 4)(c);  //str будет равно: a=234, b=32422.1231, c="Текст"
    str=String::Format(nullptr)(a)("+")(b, 4)("=")(a+b, 4);  //str будет равно: 234+32422.1231=32656.1231
    str=String::Format("<^><^>")(5);  //Выбрасывает исключение, так как переданы не все аргументы
    str=String::Format("<^>")(3252)(3.1415926);  //Выбрасывает исключение, так как передан лишний аргумент

    Форматирование строк с помощью смайликов.

    http://www.gamedev.ru/code/forum/?id=148200&page=4#m55

    CPPGovno, 27 Августа 2011

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

    +158

    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
    DWORD WINAPI SexToClient(LPVOID client_socket) // Поток для клиента 
    { 
    SOCKET my_sock; 
    my_sock=((SOCKET *) client_socket)[0]; 
    char buffer[1024] = {0}; 
    int ral;
    
    while(1){ 
    ral =recv (my_sock,&buffer[0],sizeof(buffer), 0); 
    if(ral == SOCKET_ERROR) 
    {std::cout << "хуй" << "\n";} 
    else{ 
    std::cout << buffer << "\n"; 
    } 
    }
    
    closesocket(my_sock); 
    return 0; 
    }

    http://www.gamedev.ru/code/forum/?id=151671

    CPPGovno, 27 Августа 2011

    Комментарии (12)
  4. C++ / Говнокод #7660

    +159

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    Obj = 0;
      while (dsmodel1.tellg () < LEN)
      {
        dsmodel1.read ( (char*)&ID, 2);
        dsmodel1.read ( (char*)&length, 4);
    
        switch (ID)
        {
        case 0x4d4d: break;
        case 0xb000: break;
        case 0xb002: break;
        case 0xb010: 
    
          char ch;
                do
                {
                    dsmodel1.read ( (char*)&ch, 1);
                }while (ch != '\0' && !dsmodel1.eof ());
    
          dsmodel1.ignore (4);
          dsmodel1.read ( (char*)&father_id [Obj], 2); // айди родительского объекта в иерархии
    
          break;
    
        case 0xb013:
    
          dsmodel1.read ( (char*)&(pivot [Obj].x), 4);   //координаты точки, вокруг которой будет вращаться объект
          dsmodel1.read ( (char*)&(pivot [Obj].y), 4);
          dsmodel1.read ( (char*)&(pivot [Obj].z), 4);
          break;
    
    
        case 0xb020:                                                                             // это поле описывает перенос объекта
          dsmodel1.ignore (10);
          number_of_keys [Obj] = new DWORD;
    
          dsmodel1.read ( (char*)&(number_of_keys [Obj][0]), 4);  //сколько кадров анимации будет у объекта
          key_number [Obj] = new DWORD [number_of_keys [Obj][0]];
          frameTran [Obj] = new D3DXVECTOR3 [number_of_keys [Obj][0]];
    
          how_much_to_ignore = 0;
    
          accel_flags = 0;
          for (i = 0; i < number_of_keys [Obj][0]; i++)
          {
            dsmodel1.read ( (char*)&(key_number [Obj][i]), 4);  
            dsmodel1.read ( (char*)&(accel_flags), 2);              //это флаги сплайнов, в этом примере всегда = 0
    
            if (accel_flags && (1 << 15)) how_much_to_ignore++;
            if (accel_flags && (1 << 14)) how_much_to_ignore++;
            if (accel_flags && (1 << 13)) how_much_to_ignore++;
    //...
     dsmodel1.read ( (char*)&(frameRot [Obj][i].y), 4);    // как я понял он должен быть помещен в точку pivot (она считывалась выше в поле 0хb013)
    //...
    case 0xb030:
          dsmodel1.read ( (char*)&(hierarchy_id [Obj]), 2);            // номер объекта в иерархии, в нашем примере = номеру объекта по порядку считывания

    Полный код:

    http://www.gamedev.ru/code/forum/?id=151570

    CPPGovno, 26 Августа 2011

    Комментарии (11)
  5. Куча / Говнокод #7653

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Делфи есть светочь всего человечества... 
    и мне всё пофиг...
    СИонистам просьба тут слюной не брызгать...
    
    тут обсуждать только величие великого паскаля и его семейство... можно также чуть чуть о обероне и модуле...
    
    положительно воспринимаються стихи и песни про дельфиноф в героическом ракурсе (например о героических победах в холиварах против СИПиПишникоф)
    
    
    всякие джокеры, лакмусы и прочие нупы - фтопку, кг/ам, йаду...

    http://www.gamedev.ru/flame/forum/?id=12560

    CPPGovno, 25 Августа 2011

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    class GameDevTroll:public Troll{};
    
    GameDevTroll TarasB;
    TarasB.throwIn( Url("Какие проблемы в данных отрывках кода? (5 стр)") );

    http://www.gamedev.ru/flame/forum/?id=150336&page=5#m65

    TarasB:
    >Крестоламеры такие крестоламеры.

    CPPGovno, 24 Августа 2011

    Комментарии (17)
  7. C++ / Говнокод #7611

    +146

    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
    // file.h
    template <class T>
    void gg (T i)
    {
     a = i;
    }
    // file1.cpp
    #include "file.h"
    static int a;
    ...
    gg (a);
    // file2.cpp
    static int a;
    ...
    gg (a);
    // компилюем, линкуем - где напёрсточек^W^W в какое a стучится gg<int>?

    >Мне тут некоторые граждане, на пару с некоторыми компиляторами и стандартом наперевес, пытались неубедительно доказывать, что-де такого не позволяет ODR, но пояснить свою мысль в математически непротиворечивой форме что-то не получилось. А между тем, не грех было бы взять пример с презренного пхп и заставить программизда все глобальные переменные, используемые в какой-либо функции, специфицировать в ней явным образом.

    CPPGovno, 21 Августа 2011

    Комментарии (4)
  8. C++ / Говнокод #7610

    +161

    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
    /// ...хде-то в начале огромной-преогромной функции...
    #define ADD_GRAPH(gid,gmod) m_Registry[TGraphId(gid,gmod)] = new
    /// ...хде-то по её середине...
    #define ADD_MAP_WEAPON_OVERLAY(name_base,file_name)\
      for (i=0; i<8; i++)\
      {\
        ADD_GRAPH(name_base _T("S"),i) (CLoadImage (\
          file_name,\
          TImageFX ()\
          .SetColorReplacementFX (g_WeaponRecolor[i],2,0)\
          ));\
        ADD_GRAPH(name_base _T("Q"),i) (CLoadImage (\
          file_name,\
          TImageFX ()\
          .SetColorReplacementFX (g_WeaponRecolor[i],2,1)\
          ));\
      }
    #define ADD_MAP_WEAPON_OUTLINE(name_base,file_name)\
      ADD_GRAPH(name_base _T("C"),0) (CLoadImage (\
          file_name,\
          TImageFX ()\
          .SetColorReplacementFX (g_WeaponRecolor[0],2,2)\
          ));
    
    ADD_MAP_WEAPON_OVERLAY (_T("CellSword"),_T("cell_weap_sword.png"));
    ADD_MAP_WEAPON_OVERLAY (_T("CellAxe"),_T("cell_weap_axe.png"));
    ADD_MAP_WEAPON_OVERLAY (_T("CellEshock"),_T("cell_weap_eshock.png"));
    ADD_MAP_WEAPON_OVERLAY (_T("CellLance"),_T("cell_weap_lance.png"));
    //... тут очень много в таком же духе ...
    ADD_MAP_WEAPON_OUTLINE (_T("CellXbow"),_T("cell_weap_xbow.png"));
    ADD_MAP_WEAPON_OUTLINE (_T("CellRifle"),_T("cell_weap_rifle.png"));
    ADD_MAP_WEAPON_OUTLINE (_T("CellPistol"),_T("cell_weap_pistol.png"));

    >Как бы оно выглядело без макросов, предоставляю гадать желающим.
    Эстеты, разумеется, могут возопить: "Пошто было не вынести всё это в функцию?!" Пото, что функцию (а она потребовалась бы методом) пришлось бы описывать в хедере вместе с классом + имплементировать где-то снаружи текущей функции - весёлое занятие, нечего сказать. Это при том, что данный конкретный кусок кода на момент написания сильномутабелен в плане кол-ва требующихся параметров, и в перспективе мог вообще исчезнуть/слиться с другим. И таких кусков там ~100500. Возможностей, с которыми использование функций для подобного действа не является злобным буратинством, в моём местном С++ пока не наличенствует. А так все релевантные к специфике данного куска пиписьки сконцентрированы в одном месте, умещаются на 1 экран, и я спокоен за возвращение к нему через много времени.

    CPPGovno, 21 Августа 2011

    Комментарии (10)
  9. Куча / Говнокод #7609

    +146

    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
    Boost
    December 25th, 2009 (07:36 pm)
    Tags: мудаки
    current mood: ненависть
    
    Как же меня заебали люди, изобретающие свои велосипеды, и не желающие пользоваться бустом. "От буста одни тормоза". 
    "Он долго компилируется". "Он жрет многа памяти".
    
    Ну пиздец, слов нет. Дай обезьяне компьютер, так она пойдет им гвозди забивать. Буст охуенен, блять. 
    Буст - это плод многолетней кропотливой работы самых светлых умов планеты. В мире просто нет ей аналога, даже отдаленного.
    
    Прежде чем, блять, иметь ахуй критиковать буст, посмотрите объективно на то невероятно уебищное, запредельно
    сверхблевотное термоядерное убер-гавно, которое выходит из под ваших кривых культяпок. Это же невообразимый пиздец.
    Студия плачет стекловидным телом, у компилятора кровавый понос, линкер блюет собственными кишками.
    Сравнивать буст и собственную говноподелку - это все равно что сравнивать телескоп Хаббл и бабушкины очки.
    
    Если даун не смог качественно решить задачу с помощью буста, то это не потому что буст - гавно, а потому что он даун.
    
    Предлагаю новый тест на IQ из одного вопроса: "Используете ли вы Boost?".

    http://outsidecpp.livejournal.com/8678.html

    CPPGovno, 21 Августа 2011

    Комментарии (18)
  10. Куча / Говнокод #7605

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Masters Of Doom
    Вот уже где-то неделю по-тихоньку сидю и читаю сабжевую книжку.
    Не запоем конечно, но почти половину уже прочел. Книга рульная.
    Я от неё заряжаюсь программистской энергией. :)Но дочитал на днях до места где Кармак
    отдает на усыпление свою кошку, которую ему подарили.
    По причине что она писнула на его диван, который он купил с барышей Wolfeinstein.
    И теперь уже читаю книгу с гораздо меньшим энтузиазмом.  :/
    И его команда (Romero, Hall, другой Carmack) от него этого не ожидали тоже.
    Хотя может кошка была старая и мучалась от чего-нибудь. Но книга об этом умалчивает.
    Тем самым вносит негативизм в портрет Кармака.  Я сам не эмоциональный,
    но тронуло меня это - сознательно отправить своего друга на тот свет. Я б этого не сделал.

    http://www.gamedev.ru/flame/forum/?id=12573

    CPPGovno, 21 Августа 2011

    Комментарии (4)
  11. Куча / Говнокод #7554

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Программист С++ с опытом:
    Но самое брутальное и бессердечное из того, что мне приходилось видеть
    в коммерческих продуктах, было полноценным динамическим полиморфизмом,
    реализованном на макросах и механизме исключений. Так уж получилось,
    что автор проекта знал обо всех возможностях языка C++, кроме виртуальных функций.
    вместо вызова виртуальной функции кидалось специальное исключение, а последовательность
    блоков catch выступала в роли динамического диспетчеризатора. Вот это было реально круто —
    если бы был конкурс работ на самую нестандартную реализацию какого-нибудь стандартного механизма,
    то я бы отдал этой работе первое место, хоть она и абсолютно несовместима с реальной жизнью.

    CPPGovno, 16 Августа 2011

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