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

    Всего: 12

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

    +57

    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
    class C3D
    {
    public:
      //C3D()  {}  // Constructor
      //~C3D()  {}  // Destructor
    
      void(*init)(float R, float A, float B, float Rmin, float Rmax, float Bmin, float Bmax);  // Initialize work with 3D standard camera
      void(*setCamera)(int iType);  // Set type of camera
      void(*setPosition)(float x, float y, float z);  // Set position
      void(*setRender3D)();
      UINT(*addMesh)(LPCWSTR sMesh);  // Add Mesh
      void(*renderMesh)(UINT idMesh, float x, float y, float z);
      void(*renderMeshSubset)(UINT idMesh, UINT idSubset, float x, float y, float z);
      void(*renderMeshSubsetRotateX)(UINT idMesh, UINT idSubset, float x, float y, float z, float a);
    // простыня указателей на функции урезана
    
      void setHModule(HMODULE hLib)
      {
        m_hLib = hLib;
    
        (FARPROC &)init = GetProcAddress(m_hLib, "init3D");  // Initialize work with 3D standard camera
        (FARPROC &)setCamera = GetProcAddress(m_hLib, "setCamera");  // Set type of camera
        (FARPROC &)setPosition = GetProcAddress(m_hLib, "setPosition");  // Set position
        (FARPROC &)setRender3D = GetProcAddress(m_hLib, "setRender3D");
        (FARPROC &)addMesh = GetProcAddress(m_hLib, "addMesh");  // Add Mesh
        (FARPROC &)renderMesh = GetProcAddress(m_hLib, "renderMesh");
        (FARPROC &)renderMeshSubset = GetProcAddress(m_hLib, "renderMeshSubset");
        (FARPROC &)renderMeshSubsetRotateX = GetProcAddress(m_hLib, "renderMeshSubsetRotateX");
    // простыня GetProcAddress урезана
      }
    
    protected:
      HMODULE  m_hLib;  // NetWars.dll
    };

    Некий SDK для MMO-игр за авторством одного известного разработчика.

    bazhenovc, 25 Сентября 2014

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

    +17

    1. 1
    2. 2
    3. 3
    #if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)
    #define main    SDL_main
    #endif

    Боже, за что??!

    http://hg.libsdl.org/SDL/file/75726efbf679/include/SDL_main.h

    bazhenovc, 19 Июля 2013

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

    −98

    1. 1
    file.write(struct.pack('c', bytes(str('\x02'), 'ASCII')))

    Потребовалось записать 1 байт в файл...

    bazhenovc, 14 Ноября 2012

    Комментарии (3)
  5. Си / Говнокод #12108

    +136

    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
    typedef char C;typedef long I;
    typedef struct a{I t,r,d[3],p[2];}*A;
    #define P printf
    #define R return
    #define V1(f) A f(w)A w;
    #define V2(f) A f(a,w)A a,w;
    #define DO(n,x) {I i=0,_n=(n);for(;i<_n;++i){x;}}
    I *ma(n){R(I*)malloc(n*4);}mv(d,s,n)I *d,*s;{DO(n,d[i]=s[i]);}
    tr(r,d)I *d;{I z=1;DO(r,z=z*d[i]);R z;}
    A ga(t,r,d)I *d;{A z=(A)ma(5+tr(r,d));z->t=t,z->r=r,mv(z->d,d,r);R z;}
    V1(iota){I n=*w->p;A z=ga(0,1,&n);DO(n,z->p[i]=i);R z;}
    V2(plus){I r=w->r,*d=w->d,n=tr(r,d);A z=ga(0,r,d);
     DO(n,z->p[i]=a->p[i]+w->p[i]);R z;}
    V2(from){I r=w->r-1,*d=w->d+1,n=tr(r,d);
     A z=ga(w->t,r,d);mv(z->p,w->p+(n**a->p),n);R z;}
    V1(box){A z=ga(1,0,0);*z->p=(I)w;R z;}
    V2(cat){I an=tr(a->r,a->d),wn=tr(w->r,w->d),n=an+wn;
     A z=ga(w->t,1,&n);mv(z->p,a->p,an);mv(z->p+an,w->p,wn);R z;}
    V2(find){}
    V2(rsh){I r=a->r?*a->d:1,n=tr(r,a->p),wn=tr(w->r,w->d);
     A z=ga(w->t,r,a->p);mv(z->p,w->p,wn=n>wn?wn:n);
     if(n-=wn)mv(z->p+wn,z->p,n);R z;}
    V1(sha){A z=ga(0,1,&w->r);mv(z->p,w->d,w->r);R z;}
    V1(id){R w;}V1(size){A z=ga(0,0,0);*z->p=w->r?*w->d:1;R z;}
    pi(i){P("%d ",i);}nl(){P("\n");}
    pr(w)A w;{I r=w->r,*d=w->d,n=tr(r,d);DO(r,pi(d[i]));nl();
     if(w->t)DO(n,P("< ");pr(w->p[i]))else DO(n,pi(w->p[i]));nl();}
    
    C vt[]="+{~<#,";
    A(*vd[])()={0,plus,from,find,0,rsh,cat},
     (*vm[])()={0,id,size,iota,box,sha,0};
    I st[26]; qp(a){R a>='a'&&a<='z';}qv(a){R a<'a';}
    A ex(e)I *e;{I a=*e;
     if(qp(a)){if(e[1]=='=')R st[a-'a']=ex(e+2);a= st[ a-'a'];}
     R qv(a)?(*vm[a])(ex(e+1)):e[1]?(*vd[e[1]])(a,ex(e+2)):(A)a;}
    noun(c){A z;if(c<'0'||c>'9')R 0;z=ga(0,0,0);*z->p=c-'0';R z;}
    verb(c){I i=0;for(;vt[i];)if(vt[i++]==c)R i;R 0;}
    I *wd(s)C *s;{I a,n=strlen(s),*e=ma(n+1);C c;
     DO(n,e[i]=(a=noun(c=s[i]))?a:(a=verb(c))?a:c);e[n]=0;R e;}
    
    main(){C s[99];while(gets(s))pr(ex(wd(s)));}

    http://www.kuro5hin.org/story/2002/8/30/175531/763

    Taken from Roger Hui's An Implementation of J.

    One summer weekend in 1989, Arthur Whitney visited Ken Iverson at Kiln Farm and produced — on one page and in one afternoon — an interpreter fragment on the AT&T 3B1 computer. I studied this interpreter for about a week for its organization and programming style; and on Sunday, August 27, 1989, at about four o'clock in the afternoon, wrote the first line of code that became the implementation described in this document.

    Arthur's one-page interpreter fragment is as follows:

    Read inside for the most beautiful code you have ever seen.

    bazhenovc, 12 Ноября 2012

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

    +30

    1. 1
    if( str[0] == '<' || str[1] == '?' || str[2] == 'x' || str[3] == 'm' || str[4] == 'l') {...}

    Проверка на xml-ность

    bazhenovc, 24 Октября 2012

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

    +27

    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
    String MyClass::ConvertToString(int i)
    {
    	switch(i)
    	{
    	case 71:
    		return String::Format("%s", "ab703d2");
    	case 72:
    		return String::Format("%s", "ab70382");
    	case 73:
    		return String::Format("%s", "ab7038c");
    	case 74:
    		return String::Format("%s", "ab70396");
    	case 79:
    		return String::Format("%s", "ab703be");
    	case 80:
    		return String::Format("%s", "ab703c8");
    	case 82:
    		return String::Format("%s", "ab703dc");
    	case 86:
    		return String::Format("%s", "ab703fa");
    	case 75:
    		return String::Format("%s", "ab703a0");
    	case 77:
    		return String::Format("%s", "ab703aa");
    	case 83:
    		return String::Format("%s", "ab703e6");
    	case 84:
    		return String::Format("%s", "ab703f0");
    	case 78:
    		return String::Format("%s", "ab703b4");
    	case 87:
    		return String::Format("%s", "ab70404");
    	case 90:
    		return String::Format("%s", "fe8c33d");
    	case 93:
    		return String::Format("%s", "fe8c35b");
    	case 91:
    		return String::Format("%s", "fe8c347");
    	case 92:
    		return String::Format("%s", "fe8c351");
    	case 81:
    		return String::Format("%s", "fe8c329");
    	case 85:
    		return String::Format("%s", "fe8c333");
    	default:
    		return String::Format("%s", "1a177fd");
    	}
    }

    Фиг с ними, с массивами. Но Format() то зачем???

    bazhenovc, 20 Сентября 2012

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

    +11

    1. 1
    clEnqueueReleaseGLObjects(queue, objects.size(), objects.data(), 9, NULL, NULL);

    В целом ничего страшного, но почему на клавиатуре девятка так рядом с нулём?

    bazhenovc, 15 Сентября 2012

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

    +32

    1. 1
    static_cast<SomeOtherClass>(this)->SomeMethod();

    Чуваки лучше знают, что у них в this

    bazhenovc, 31 Августа 2012

    Комментарии (30)
  10. C# / Говнокод #11619

    +110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static int getRandomNumber(int from, int to)
    {
           System.Threading.Thread.Sleep(10);
           Random r = new Random();
           int var = r.Next(from, to);
           return var;
    }

    No comments

    bazhenovc, 20 Августа 2012

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

    +30

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    InputMapping* GetInputMapping(unsigned int index)
        {
            InputMapping* inputMapping = NULL;
    
            switch (index)
            {
                // Movement
            case 0:
                return &m_LeftStickMapping[InputBindings::StickDirUp];
            case 1:
                return &m_LeftStickMapping[InputBindings::StickDirDown];
            case 2:
                return &m_LeftStickMapping[InputBindings::StickDirLeft];
            case 3:
                return &m_LeftStickMapping[InputBindings::StickDirRight];
    
                // Actions
            case 4:
                return &m_ButtonMappings[Pad::ShoulderRight1];
            case 5:
                return &m_ButtonMappings[Pad::Button2];
            case 6:
                return &m_ButtonMappings[Pad::Button4];
            case 7:
                return &m_ButtonMappings[Pad::Button3];
            case 8:
                return &m_ButtonMappings[Pad::Button1];
    
                // Weapons
            case 9:
                return &m_ButtonMappings[Pad::PadLeft];
            case 10:
                return &m_ButtonMappings[Pad::PadUp];
            case 11:
                return &m_ButtonMappings[Pad::PadRight];
            case 12:
                return &m_ButtonMappings[Pad::PadDown];
            case 13:    // weapon wheel
                return &m_ButtonMappings[Pad::ShoulderRight2];
    
                // Camera
            case 14:
                return &m_RightStickMapping[InputBindings::StickDirUp];
            case 15:
                return &m_RightStickMapping[InputBindings::StickDirDown];
            case 16:
                return &m_RightStickMapping[InputBindings::StickDirLeft];
            case 17:
                return &m_RightStickMapping[InputBindings::StickDirRight];
            case 18:
                return &m_ButtonMappings[Pad::ShoulderLeft1];
            case 19:
                return &m_ButtonMappings[Pad::ShoulderLeft2];
            case 20:
                return &m_ButtonMappings[Pad::StickRight];
    
                // Menus
            case 21:
                return &m_ButtonMappings[Pad::Select];
            case 22:
                return &m_ButtonMappings[Pad::Start];
    
                // First-person camera
            case 23:
                return &m_ButtonMappings[Pad::StickLeft];
            default:
                return NULL;
            }
            return NULL;
        }

    Массивы? Не, не слышал.

    bazhenovc, 17 Июля 2012

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