1. Лучший говнокод

    В номинации:
    За время:
  2. C++ / Говнокод #15970

    +13

    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
    #include <iostream>
    
    using namespace std;
    
    class Foo
    {
    public:
    	void foo()
    	{
    		cout << "Destruct" << endl;
    	}
    };
    
    int main() 
    {
    	void (Foo::*func)() = &Foo::foo;
    	void *adress = (void*&)func;
    	void (*new_func)(Foo*) = (void (*)(Foo*))adress;
    	Foo obj;
    	new_func(&obj);
    }

    Юный падаван постигает силу void-указателей.

    west_coast_coders, 13 Мая 2014

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

    +132

    1. 1
    <!--php session_start(); include('blocks/sessions.php'); -->

    Комментарии в php? Не, не слышали

    Webius, 09 Мая 2014

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

    +117

    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
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    DataSection
      Data.f 0.0025,0.0026,0.00235
    EndDataSection
    
    Global SCREENWIDTH,SCREENHEIGHT
    
    Define .f:bitplanes.b=32
    
    SCREENWIDTH=GetSystemMetrics_(#SM_CXSCREEN)
    SCREENHEIGHT=GetSystemMetrics_(#SM_CYSCREEN)
    
    If InitSprite()=0 Or InitSprite3D()=0 Or InitKeyboard()=0
      MessageRequester("Error","Can't access DirectX",0)
      End
    EndIf
    
    desktop.l = CreateImage(0,DesktopWidth(0),DesktopHeight(0))
    hdc.l = StartDrawing(ImageOutput(0))
    SelectObject_(hdc,desktop)
    BitBlt_(hdc,0,0,DesktopWidth(0),DesktopHeight(0),GetDC_(GetDesktopWindow_()),0,0,#SRCCOPY)
    StopDrawing()
    DeleteDC_(hdc)
    
    While OpenScreen(SCREENWIDTH,SCREENHEIGHT,bitplanes.b,"FullScreen")=0
      If bitplanes.b>16
        bitplanes.b-8
      ElseIf SCREENHEIGHT>600
        SCREENWIDTH=800
        SCREENHEIGHT=600
      ElseIf SCREENHEIGHT>480
        SCREENWIDTH=640
        SCREENHEIGHT=480
      ElseIf SCREENHEIGHT>400
        SCREENWIDTH=640
        SCREENHEIGHT=400
      ElseIf SCREENHEIGHT>240
        SCREENWIDTH=320
        SCREENHEIGHT=240
      ElseIf SCREENHEIGHT>200
        SCREENWIDTH=320
        SCREENHEIGHT=200
      Else
        MessageRequester("Listen:","Can't open Screen!",0)
        End
      EndIf
    Wend
    w=DesktopWidth(0)
    h=DesktopHeight(0)
    z=1000/Sqr(3)
    perspw=w
    PerspectiveAngle.d=#PI/16
    CreateSprite(0,w,h,#PB_Sprite_Texture)
    StartDrawing(SpriteOutput(0))
    DrawImage(ImageID(0),0,0)
    StopDrawing()
    DisplaySprite(0,0,0)
    FlipBuffers()
    DisplaySprite(0,0,0)
    CreateSprite3D(0,0)
    x3=w-1
    x4=0
    y3=h
    y4=h
    z3=z
    z4=z
    For t.b=1 To 3
      omega=-omega
      Read alfa
      Repeat
        ExamineKeyboard()
        ClearScreen(0)
        Incrz=h*Sin(Angle)
        x1=Incrz*Tan(PerspectiveAngle)
        x2=x3-x1
        y1=h-h*Cos(Angle)
        y2=y1
        z1=z+Incrz/4.75
        z2=z1:Start3D()
        TransformSprite3D(0,x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4)
        DisplaySprite3D(0,0,0,255)
        Stop3D()
        omega+alfa
        If omega<0
          Angle-Pow(omega,2)
        Else
          Angle+Pow(omega,2)
        EndIf
        If Angle<0 Or Angle>4/5*#PI
          Break
        EndIf
        FlipBuffers()
        Delay(10)
      Until KeyboardPushed(#PB_Key_Escape)
    Next
    DisplaySprite(0,0,0)
    FlipBuffers()
    Delay(10)
    DisplaySprite(0,0,0)

    Очень интересный эффект - экран "отшатывается" от юзера :)
    Для компиляции понадобится PureBasic не ниже 4.50

    brutushafens, 01 Мая 2014

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

    +141

    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
    ...
    else if ( (!BG_InSpecialJump( legsAnim )//not in a special jump anim 
    						||BG_InReboundJump( legsAnim )//we're already in a rebound
    						||BG_InBackFlip( legsAnim ) )//a backflip (needed so you can jump off a wall behind you)
    					//&& pm->ps->velocity[2] <= 0 
    					&& pm->ps->velocity[2] > -1200 //not falling down very fast
    					&& !(pm->ps->pm_flags&PMF_JUMP_HELD)//have to have released jump since last press
    					&& (pm->cmd.forwardmove||pm->cmd.rightmove)//pushing in a direction
    					//&& pm->ps->forceRageRecoveryTime < pm->cmd.serverTime	//not in a force Rage recovery period
    					&& pm->ps->fd.forcePowerLevel[FP_LEVITATION] > FORCE_LEVEL_2//level 3 jump or better
    					//&& WP_ForcePowerAvailable( pm->gent, FP_LEVITATION, 10 )//have enough force power to do another one
    					&& BG_CanUseFPNow(pm->gametype, pm->ps, pm->cmd.serverTime, FP_LEVITATION)
    					&& (pm->ps->origin[2]-pm->ps->fd.forceJumpZStart) < (forceJumpHeightMax[FORCE_LEVEL_3]-(BG_ForceWallJumpStrength()/2.0f)) //can fit at least one more wall jump in (yes, using "magic numbers"... for now)
    					//&& (pm->ps->legsAnim == BOTH_JUMP1 || pm->ps->legsAnim == BOTH_INAIR1 ) )//not in a flip or spin or anything
    					)
    			{//see if we're pushing at a wall and jump off it if so
    				if ( allowWallGrabs )
    				{
    					//FIXME: make sure we have enough force power
    					//FIXME: check  to see if we can go any higher
    					//FIXME: limit to a certain number of these in a row?
    					//FIXME: maybe don't require a ucmd direction, just check all 4?
    					//FIXME: should stick to the wall for a second, then push off...
    ...

    Больше условий богу условий!
    Jedi Academy source, 2003

    gost, 21 Апреля 2014

    Комментарии (7)
  6. Java / Говнокод #15775

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    private int[] pageBreaks = new int[] { 25, 48, 71, 94, 117, 140, 163, 186,
    			209, 232, 255, 278, 301, 324, 347, 370, 393, 416, 439, 462, 485,
    			508, 531, 554, 577, 600, 623, 646, 669, 692, 715, 738, 761, 784,
    			807, 830, 853, 876, 899, 922, 945, 968, 991, 1014, 1037 };

    evg_ever, 17 Апреля 2014

    Комментарии (7)
  7. PHP / Говнокод #15766

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    $fp = fopen('log.php', 'a');
    fwrite($fp, $_GET['Message']." \n");
    fclose($fp);
    ?>
    
    file log.php
    <?PHP header("Content-Type: text/html; charset=CP1251");?>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    Пишем логи на сервере.

    any0ne2567, 17 Апреля 2014

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

    +160

    1. 1
    $result = (string)(int)false;

    drull, 04 Апреля 2014

    Комментарии (7)
  9. PHP / Говнокод #15609

    +152

    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
    public function validateItem() {
      $orderPricesSum = null;
      if($orderPricesSum == null) {
    	$orderPricesSum = $this->getPricesSum();
      }
    
     if($this->minimal && $orderPricesSum < $this->minimal) {
    	return false;
      }
    
      if($this->maximum && $orderPricesSum > $this->maximum) {
    	return false;
      }
    
      return true;
    }

    $orderPricesSum другой ведь какой-то может быть...

    farit_slv, 28 Марта 2014

    Комментарии (7)
  10. Си / Говнокод #15588

    +129

    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
    int minus(int ch)
    {
    if (ch < 0)
    {
    char buf[255];
    char *chs = itoa(ch);
    char *chsn = (char*)calloc(1, strlen(chs)+1];
    memset(chsn, 0, strlen(chs)+1);
    chsn[0] = '-';
    for (int i = 1, int j = 0; j < strlen(chs); i++, j++)
    {
    chsn[i] = chs[j];
    }
    int ret = atoi(chsn);
    return ret;
    }
    else
    {
    char buf[255];
    char *chs = itoa(ch);
    char *chsn = (char*)calloc(1, strlen(chs)+1];
    memset(chsn, 0, strlen(chs)+1);
    for (int i = 1, int j = 0; i < strlen(chs); i++, j++)
    {
    chsn[j] = chs[i];
    }
    int ret = atoi(chsn);
    return ret;
    }
    }

    gost, 27 Марта 2014

    Комментарии (7)
  11. Си / Говнокод #15576

    +133

    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
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    FRebuildSubdocPlcpcd(pdsr, ddsr, edcDrp)
    struct DSR *pdsr;
    int ddsr;
    int edcDrp;
    {
    /* we pull some tricks here because the normal editing situation doesn't cover
    	what we're trying to do:
    		1. We don't disturb the old chEop at the end of the subdoc until after
    			we have replaced the old pieces with the new one; then we delete it
    			surgically (we know it has either a different fn or noncontiguous
    			fc from the new stuff -- so just subtract ccpEop from cpMac and
    			remove the last pcd entry)
    		2. The plcfnd/plchdd needn't take part in the editing, since the CP
    			bounds will be the same after as they were before, and in fact
    			AdjustCp doesn't know how to handle editing the subdoc data -- so
    			we hide the plc from the editing
    */
    	int doc = pdsr->doc;
    	int docSubdoc;
    	int ipcd;
    	CP ccpSubdoc;
    
    	struct DOD *pdod;
    	struct PLC **hplcfnd;
    	struct PLC **hplcfld;
    	struct DRP *pdrp;
    	struct CA ca1, ca2;
    	struct PLC **hplcpcd, **hplcpcdSub;
    	CP *pccpSubdoc;
    	struct PCD pcd;
    
    	/*  momentarily break link to subdoc doc in dod so that ReplaceCps
    		doesn't get confused. */
    	pdrp = ((int *)PdodDoc(doc)) + edcDrp;
    	docSubdoc = pdrp->doc;
    	pccpSubdoc = ((int *)pdsr) + ddsr;
    	ccpSubdoc = *pccpSubdoc;
    	pdrp->doc = docNil;
    
    	if (docSubdoc != docNil && ccpSubdoc != cp0)
    		{
    		/* hide the subdoc plcfnd */
    		pdod = PdodDoc(docSubdoc);
    		hplcfnd = pdod->hplcfnd;
    		hplcfld = pdod->hplcfld;
    		pdod->hplcfnd = hNil;
    		pdod->hplcfld = hNil;
    
    		/* replace original piece table for subdoc with new --
    			note that we leave the chEop at end temporarily */
    		ccpSubdoc -= ccpEop;
    		if (!FReplaceCps(PcaSet(&ca1, docSubdoc, cp0, ccpSubdoc),
    				PcaSet(&ca2, doc, pdsr->ccpText, pdsr->ccpText + ccpSubdoc)))
    			return fFalse; 
    
    		/* now replace the PCD for the chEop left over from olden times;
    		   unfortunately, the editing routines can't do this for us */
    		hplcpcd = PdodDoc(doc)->hplcpcd;
    		if ((ipcd = IpcdSplit(hplcpcd, pdsr->ccpText + ccpSubdoc)) == iNil)
    			return fFalse;
    		GetPlc(hplcpcd, ipcd, &pcd);
    		hplcpcdSub = PdodDoc(docSubdoc)->hplcpcd;
    		PutPlc(hplcpcdSub, IMacPlc(hplcpcdSub) - 1, &pcd);
    		if ((ipcd = IpcdSplit(hplcpcdSub, ccpSubdoc+ccpEop)) == iNil)
    			return fFalse;
    		PutPlc(hplcpcdSub, ipcd-1, &pcd);
    
    		/* eliminate the footnote/header text from the main doc */
    		ca2.cpLim += ccpEop;
    		if (!FDelete(&ca2))
    			return fFalse;
    		pdod = PdodDoc(docSubdoc);
    
    		/* restore plcfnd */
    		pdod->hplcfnd = hplcfnd;
    		pdod->hplcfld = hplcfld;
    		pdod->fDirty = fFalse;
    
    		TruncateAllSels(docSubdoc, pdod->cpMac);
    		}
    
    	/* restore docFtn/docHdr */
    	pdrp = ((int *)PdodDoc(doc)) + edcDrp;
    	pdrp->doc = docSubdoc;
    
    	return fTrue;
    }

    Word for Windows 1.1a. 17 мегабайт отборного говнокода.

    http://habrahabr.ru/post/217081/

    gost, 26 Марта 2014

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