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

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

    −122

    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
    sub translateToSearch {
            my($search)=@_;
            $search =~ s/\ /\*/g;
    
            my $s_up=to_upper($search);
            my $s_low=to_lower($search);
    
    
            my $s="";
            my $last_s="";
            for($i=0;$i<length($search);$i++) {
                    my $ch=substr($search,$i,1);
                    if(!($ch eq "*")) {
                            $s.="[".substr($s_up,$i,1).substr($s_low,$i,1)."]";
                    } elsif( !($last_s eq "*")) {
                            $s.=".*";
                    }
                    $last_s=$ch;
            }
    
            return $s;
    }

    Функция ловеркейзит строку.

    tanenn, 30 Декабря 2010

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

    +104

    1. 1
    Добрый день, подскажите, пожалуйста, как запустить приложение с ярлыка на клиенте. Он находится в дирректории файла странички...Мне кажется, что нужно получить полный путь запускаемого приложения из ярлыка, и потом по открыть его по html ссылке или кнопке.Но никак не могу этот путь вытащить..Если так сделать нельзя, то подскажите, пожалуйста, на каком языке скрипт нужен? jscript?

    Блондинко атакуэ

    Vasiliy, 29 Декабря 2010

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

    +162

    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
    function Sharesize($size) {
        $mb = 1024*1024;
        $gb = 1024*1024*1024;
        $tb = 1024*1024*1024*1024;
        if ( $size >= $tb ) {
            $mysize = sprintf ("%01.3f",$size/$tb) . "</span>";
        } elseif ( $size >= $gb ) {
            $mysize = sprintf ("%01.3f",$size/$gb) . "</span> Гб";
        } elseif ( $size >= $mb ) {
            $mysize = sprintf ("%01.3f",$size/$mb) . "</span> Мб";
        } elseif ( $size >= 1024 ) {
            $mysize = sprintf ("%01.3f",$size/1024) . "</span> Кб";
        } else {
            $mysize = $size . " Б";
        }
        $mysize = str_replace(".", "<span class='seryoga'>.", $mysize);
        return $mysize;
    }

    Unknown, 25 Декабря 2010

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

    +145

    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
    package _3d
    {
    
        public class Matrix3d extends Object
        {
            public var _12:Number;
            public var _11:Number;
            public var _13:Number;
            public var _14:Number;
            public var _32:Number;
            public var _41:Number;
            public var _42:Number;
            public var _21:Number;
            public var _22:Number;
            public var _23:Number;
            public var _24:Number;
            public var _43:Number;
            public var _44:Number;
            public var _34:Number;
            public var _31:Number;
            public var _33:Number;
    
            public function Matrix3d(param1:Number = 1, param2:Number = 0, param3:Number = 0, param4:Number = 0, param5:Number = 0, param6:Number = 1, param7:Number = 0, param8:Number = 0, param9:Number = 0, param10:Number = 0, param11:Number = 1, param12:Number = 0, param13:Number = 0, param14:Number = 0, param15:Number = 0, param16:Number = 1)
            {
                _11 = param1;
                _12 = param2;
                _13 = param3;
                _14 = param4;
                _21 = param5;
                _22 = param6;
                _23 = param7;
                _24 = param8;
                _31 = param9;
                _32 = param10;
                _33 = param11;
                _34 = param12;
                _41 = param13;
                _42 = param14;
                _43 = param15;
                _44 = param16;
                return;
            }// end function
    
            public function toString() : String
            {
                return _11 + "," + _12 + "," + _13 + "," + _14 + "," + _21 + "," + _22 + "," + _23 + "," + _24 + "," + _31 + "," + _32 + "," + _33 + "," + _34 + "," + _41 + "," + _42 + "," + _43 + "," + _44;
            }// end function
    
            public static function product(param1:Matrix3d, param2:Matrix3d) : Matrix3d
            {
                return new Matrix3d(param1._11 * param2._11 + param1._12 * param2._21 + param1._13 * param2._31 + param1._14 * param2._41, param1._11 * param2._12 + param1._12 * param2._22 + param1._13 * param2._32 + param1._14 * param2._42, param1._11 * param2._13 + param1._12 * param2._23 + param1._13 * param2._33 + param1._14 * param2._43, param1._11 * param2._14 + param1._12 * param2._24 + param1._13 * param2._34 + param1._14 * param2._44, param1._21 * param2._11 + param1._22 * param2._21 + param1._23 * param2._31 + param1._24 * param2._41, param1._21 * param2._12 + param1._22 * param2._22 + param1._23 * param2._32 + param1._24 * param2._42, param1._21 * param2._13 + param1._22 * param2._23 + param1._23 * param2._33 + param1._24 * param2._43, param1._21 * param2._14 + param1._22 * param2._24 + param1._23 * param2._34 + param1._24 * param2._44, param1._31 * param2._11 + param1._32 * param2._21 + param1._33 * param2._31 + param1._34 * param2._41, param1._31 * param2._12 + param1._32 * param2._22 + param1._33 * param2._32 + param1._34 * param2._42, param1._31 * param2._13 + param1._32 * param2._23 + param1._33 * param2._33 + param1._34 * param2._43, param1._31 * param2._14 + param1._32 * param2._24 + param1._33 * param2._34 + param1._34 * param2._44, param1._41 * param2._11 + param1._42 * param2._21 + param1._43 * param2._31 + param1._44 * param2._41, param1._41 * param2._12 + param1._42 * param2._22 + param1._43 * param2._32 + param1._44 * param2._42, param1._41 * param2._13 + param1._42 * param2._23 + param1._43 * param2._33 + param1._44 * param2._43, param1._41 * param2._14 + param1._42 * param2._24 + param1._43 * param2._34 + param1._44 * param2._44);
            }// end function
    
        }
    }

    Matrix3d.as

    ноу комментс: матрицо в 3д, экшон

    Lure Of Chaos, 21 Декабря 2010

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    protected function _durationToStr($duration){
            $duration = (int) $duration;
            return $duration * 24;
        }

    Мощная оптимизация... Сюда бы ещё final private и вообще огонь. :)

    kovel, 20 Декабря 2010

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

    +128

    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
    <?xml version='1.0' encoding='utf-8'?>
    <list>
    	<item id="8190" skillId="3603" name="Demonic Sword Zariche">
    		<dropRate val="1" /> <!-- 100000 for 100% -->
    		<duration val="300" /> <!-- in minutes -->
    		<durationLost val="3" /> <!-- in minutes -->
    		<disapearChance val="50" /> <!-- in % -->
    		<stageKills val="10" /> <!-- Integer -->
    	</item>
    	<item id="8689" skillId="3629" name="Blood Sword Akamanah">
    		<dropRate val="1" /> <!-- 100000 for 100% -->
    		<duration val="300" /> <!-- in minutes -->
    		<durationLost val="3" /> <!-- in minutes -->
    		<disapearChance val="50" /> <!-- in % -->
    		<stageKills val="10" /> <!-- Integer -->
    	</item>
    </list>

    Вот ХМЛ код , задроты Л2 поймут))

    Akira, 19 Декабря 2010

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private String get4DigitRandom() {
            final int length = 4;
            int number = (int) (Math.random() * Math.pow(10, length));
            StringBuilder sb = new StringBuilder();
            for (int i = length; i > 0; i--)
                sb.append("" + (int) (number / Math.pow(10, i - 1)) % 10);
    
            return sb.toString();
        }

    yozh, 17 Декабря 2010

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

    −127

    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
    Каталог=СокрЛП(ИмяКаталога); 
    
    Цифры="0123456789"; 
    Д=ТекущаяДата(); 
    ДД=""; 
    Стр=Каталог; 
    
    х=Найти(Стр,"."); 
    Если х>0 Тогда 
    Символ1=Сред(Стр,х-2,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,х-1,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2+"."; 
    КонецЕсли; 
    
    Стр=Сред(Стр,х+1); 
    КонецЕсли; 
    
    х=Найти(Стр,"."); 
    Если х>0 Тогда 
    Символ1=Сред(Стр,х-2,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=ДД+Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,х-1,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2+"."; 
    КонецЕсли; 
    
    Стр=Сред(Стр,х+1); 
    
    Символ1=Лев(Стр,1); 
    Если Найти(Цифры,Символ1)>0 Тогда 
    ДД=ДД+Символ1; 
    КонецЕсли; 
    
    Символ2=Сред(Стр,2,1); 
    Если Найти(Цифры,Символ2)>0 Тогда 
    ДД=ДД+Символ2; 
    КонецЕсли; 
    КонецЕсли; 
    
    Если СтрДлина(ДД)=8 Тогда 
    Д=Дата(ДД); 
    Сообщить(Д); 
    КонецЕсли;

    Вот нашел на одном из форумов. Программер ищет дату.

    Ivon, 09 Декабря 2010

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

    +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
    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
    //CreatorOfBullshit говорит: следите за руками
    void __fastcall TFORM_MENU::pan_newClick(TObject *Sender) //запуск новой игры
    {
      if(fl_sound)sndPlaySound("Data\\Sounds\\push.wav",SND_ASYNC|SND_NODEFAULT);
      tm_showstarthint->Enabled=false;
      pan_cong->Visible=false;
      pan_hider->Visible=false;
      pan_new->Caption="Еще разок";//меняем надпись на кнопке
      pan_new->Hint="Начать новую сборку";
      pan_sign->Color=clBlack;
      lab_timeleft->Caption="00:00";
      lab_timeleft->Hint="...а время течёт, как вода по трубам...";
      tm_gameseconds->Enabled=false; //сначала останавливаем таймер, и после окончания прорисовки стартового поля запускаем его снова
      Label1->Visible=true;
      lab_timeleft->Visible=true;
      game_time_seconds=0;//сброс времени
      game_time_minutes=0;
    
      pb_viewport->Enabled=true;
      for(int i=0;i<128;i++)
      {
        gameplane.recreate();
        if(gameplane.getclosed()<8)
          break;
      }
      game_start_count=gameplane.getclosed();
      gameplane.drawfield();
      lab_per->Caption=IntToStr( (int)( (float)gameplane.getclosed()*100.f/(float)(game_field_width*game_field_height) ) )+"%";
      tm_gameseconds->Enabled=true;  //запускаем таймер
    }
     ...
    //CreatorOfBullshit говорит: "фрагмент из модуля с определениями для класса объекта gameplane" тот самый recreate()
    ...
    void C_GAMEFIELD::recreate()
    {
    /*
      Создаю игровое поле и расположения 
      */
      int i,j;
      for(i=0;i<width;i++)
      {
        for(j=0;j<height;j++)
        {
          pp_field[i][j]=0;
        }//for j
      }//for i
      //определение центральной точки источника воды:
      if( (width&b0001)==0 )
        start_x=(width>>1)-1;
      else
        start_x=(width>>1);
      //_  _  _  _  _  _  _  _  _  _  _  _
      if( (height&b0001)==0 )
        start_y=(height>>1)-1;
      else
        start_y=(height>>1);
      pp_field[start_x][start_y]|=wALWAYSON;//назначение стартовой метки(поднимается флаг)
      crt_crgf();
      checklinkup();
      for(i=0;i<width;i++)for(j=0;j<height;j++)
      {
        pp_mask[i][j]=pp_field[i][j];
      }//for
    }
    ...
    //CreatorOfBullshit говорит: "Теперь проследуем в crt_crgf()"
    void C_GAMEFIELD::crt_crgf() //Соединяет неправильно построеенные трубы 
    { //Проработать мне нужно алгоритм построения!!!
      unsigned __int8 i,j;
      static int brd_right,
                 brd_bottom,
                 bounds;
      crt_setcell(start_x,start_y, TRIPLE);  ///crt_setcell создает трубу, потом тут же ее поворачиваем
      //далее первый шаг построения: сначала создаются совершенно случайные незаконо-
      //мерные ветви, т.е. могут остаться НЕЗАПОЛНЕННЫЕ участки:
      unsigned __int8 startcell=pp_field[start_x][start_y], tryingcell;
      if( (startcell&UP)==UP )
        crt_connect(start_x,start_y-1,DOWN);
      if( (startcell&DOWN)==DOWN )
        crt_connect(start_x,start_y+1,UP);
      if( (startcell&LEFT)==LEFT )
        crt_connect(start_x-1,start_y,RIGHT);
      if( (startcell&RIGHT)==RIGHT )
        crt_connect(start_x+1,start_y,LEFT);
    }
    //CreatorOfBullshit говорит: "Апофеоз говнокодизма - чуть ниже:"
    inline void C_GAMEFIELD::crt_setcell(unsigned __int8 x, unsigned __int8 y, unsigned __int8 pipetype)
    {
      pp_field[x][y]|=pipetype;
      //создаем трубу по заказу и рандумно поворачиваем
      if(random(2))
        rotate_CW(x,y);
      if(random(2))
        rotate_CW(x,y);
      if(random(2))
        rotate_CW(x,y);
    }

    Говнокод написан лично моими руками на первом курсе института. Писал игру в которой нужно поворачивать трубы так чтобы потом по всему игровому полю текла вода. Писал на Буилдере 5.0. Угощайтесь.
    Алсо это не еще не все - там есть фрагмент в котором китайским методом создаются спрайты игровых текстур.
    С:8444

    CreatorOfBullshit, 08 Декабря 2010

    Комментарии (6)
  11. PHP / Говнокод #4861

    +168

    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
    function IsAlphaNumeric($str)
    {
       $old = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
       $new = Array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
       if (str_replace($str, $old, $new) == "")
       {
          return (true);
       }
       else
       {
          return (false);
       }
    }

    говно + валидация = говнодация

    fork, 08 Декабря 2010

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