1. Pascal / Говнокод #13649

    +110

    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
    // Двухклеточная прямая.
           ({D2A2}(Pixels[X+h,Y-1]=clWhite) and(Pixels[x+h,y-2]=clBlack) and(Pixels[x+h,y-3]=clBlack)     and{D2A2} (Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clWhite)  and{D2A2}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite) and{D2A2}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)) or {D2A2}
        ({D2A2A-1}(Pixels[X+h,Y-1]=clWhite) and(Pixels[x+h,y-2]=clBlack) and(Pixels[x+h,y-3]=clWhite)     and{D2A2A-1}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clWhite)  and{D2A2A-1}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clBlack) and{D2A2A-1}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)) or {D2A2A-1}
           ({D2A3}(Pixels[X+h,Y-1]=clWhite) and(Pixels[x+h,y-2]=clBlack) and(Pixels[x+h,y-3]=clWhite)     and{D2A3}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clBlack)  and{D2A3}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite) and{D2A3}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite) and{D2A3}(Pixels[x+h+4,y-3]=clWhite) and(Pixels[x+h+4,y-4]=clBlack) and(Pixels[x+h+4,y-5]=clWhite)) or {D2A3}
           ({D2A4}(Pixels[X+h,Y-1]=clBlack) and(Pixels[x+h,y-2]=clBlack) and(Pixels[x+h,y-3]=clWhite)     and{D2A4}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clWhite)  and{D2A4}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite) and{D2A4}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)) or {D2A4}
       ... Ещё 20 строк в таком стиле
           ({D2B2}(Pixels[X+h,Y-1]=clWhite) and(Pixels[x+h,y-2]=clWhite) and(Pixels[x+h,y-3]=clBlack)     and{D2B2}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clWhite)      and{D2B2}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite)    and{D2B2}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)     and{D2B2}(Pixels[x+h+4,y-3]=clWhite) and(Pixels[x+h+4,y-4]=clBlack) and(Pixels[x+h+4,y-5]=clWhite)) or {D2B2}
           ({D2B3}(Pixels[X+h,Y-1]=clWhite) and(Pixels[x+h,y-2]=clWhite) and(Pixels[x+h,y-3]=clWhite)     and{D2B3}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clBlack)      and{D2B3}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite)    and{D2B3}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)     and{D2B3}(Pixels[x+h+4,y-3]=clWhite) and(Pixels[x+h+4,y-4]=clBlack) and(Pixels[x+h+4,y-5]=clWhite)) or {D2B3}
           ({D2B4}(Pixels[X+h,Y-1]=clBlack) and(Pixels[x+h,y-2]=clWhite) and(Pixels[x+h,y-3]=clWhite)     and{D2B4}(Pixels[x+h+1,y-1]=clWhite) and(Pixels[x+h+1,y-2]=clBlack) and(Pixels[x+h+1,y-3]=clBlack)      and{D2B4}(Pixels[x+h+2,y-2]=clWhite) and(Pixels[x+h+2,y-3]=clBlack) and(Pixels[x+h+2,y-4]=clWhite)    and{D2B4}(Pixels[x+h+3,y-2]=clWhite) and(Pixels[x+h+3,y-3]=clBlack) and(Pixels[x+h+3,y-4]=clWhite)     and{D2B4}(Pixels[x+h+4,y-3]=clWhite) and(Pixels[x+h+4,y-4]=clBlack) and(Pixels[x+h+4,y-5]=clWhite)) {or} {D2B4}
             {(J1(Pixels[X+h,Y-1]=clWhite) and (Pixels[x+h,y]=clWhite) and (Pixels[x+h,y-2]=clBlack))} then // Проверка, если обрыв по x, начало следующей ступенрки.
             begin
              goto k8;
               end ;
                goto k3;//Если убрать эту строчку,то может фиксироваться вся линия исключая точку с дифектоми, т.к.
                 end;   // если не отрабатывает сравнение пикселей по длине ступеньки и не отрабатывает по переходу на новую ступеньку, прог. прибавляет h и перемещает пиксель опроса в право.
     
        k8: if (CPlx-CPLxI=0) or (CPlx-CPlxI=1) or (CPlxI-CPlx=1)or(CPlxI-CPlx=CPlxI/2) or (CPlx-CPlxI=CPlx/2) or (CPlxI-CPlx=(CPlxI/2)-1) or (CPlx-CPlxI=(CPlx/2)-1) or ((CPlxI-CPlx>(CPlxI/2)-1) and (CPlxI-CPlx<(CPlxI/2)+1)) then
     
        begin
         a:=x+h;
         b:=y-1;
         count:=count+1; // Счет ступеник.
         goto k5;
          end;
     
          k3: OperEnd:=DateTimeToTimeStamp(Now);
     Total:=OperEnd.Time-OperBegin.Time;
     
     
       ListBox1.Items.Add(IntToStr(CPlx0)+' CPlx0');
       ListBox1.Items.Add(IntToStr(CPlxI)+' CPlxI');
       ListBox1.Items.Add(IntToStr(count)+' Ступеньки.');
       ListBox1.Items.Add(IntToStr(Total)+' MSec');
         end; // Конец прог.
           end;
             end.

    Адовый пиздец с киберфорума.

    http://www.cyberforum.ru/delphi-beginners/thread941698.html

    Запостил: murder, 23 Августа 2013

    Комментарии (24) RSS

    • Орфографические ошибки в комментах доставляют
      Ответить
      • Я "дифектоми" прочитал как "дифектОмы", еще думаю, медицинское что-то что ли?
        Ответить
        • ~...Глотать или не глотать вот в чем вопрос.~
           Я уже нашел ответ:
             ГЛОТАТЬ, ОДНОЗНАЧНО!
          Если ты крут в натуре, напиши мне, не ссы:
          [email protected]
          сделай меня мужчиной.
          Ответить
      • Моя прог. имеет 1447 строк, некоторые достигают 400 знак.

        В чем суть задачи кто-нибудь там разобрался? :)
        Ответить
        • это долбоеб походу рисует что-то попиксельно! Вспомнилась Мона Лиза на CSS
          Ответить
        • Распознание нарисованных объектов похоже. Фиг знает - код спагетти, кусочки мяса остались за кадром.
          Ответить
          • Распознавание капч (судя по "если прямая прерываеться помехой")?
            Ответить
            • что же это за капча такая - 2 цветная?

              Если таким перебором писать универсальную программу для распознания капч, да за каждую строку брать по 10 копеек.... миллиардером можно стать
              Ответить
              • Х.з. ну на распознавание образов с какой-нибудь камеры тоже не особо тянет из-за той самой черно-белости. Ну разве что рисунок заранее преобразовали в двухцветку.
                Ответить
                • Есть мнение, что рисует автор сам, мышкой в paintBox. И распознает сам. Самодостаточная программа
                  Ответить
                  • Распознавание рукописного ввода? Ну так его лучше векторно распознавать, а не растрово. На порядки проще, и вроде как все так и делают ;)
                    Ответить
                    • Интересная деталь с форума
                      "Моя прог. имеет 1447 строк, некоторые достигают 400 знак. При отработке появляется окно . Не может найти прог.
                      'C\ProgramFiles\Borland\Delphy7\Projects \Fisher2.exe Если убрать какуинебуть команду прог. все работает. Заранее благодарю."

                      Fisher2.exe

                      Да это ж симулятор рыбалки)
                      Ответить
                    • Векторно - это непосредственно при написании, а не по готовому изображению?

                      Я только один раз с этим сталкивался, и то в лабе, писал нейронку
                      Ответить
                      • > Векторно - это непосредственно при написании, а не по готовому изображению?
                        Угу.
                        Ответить
    • Особенно радует

      if (CPlx-CPLxI=0) or (CPlx-CPlxI=1) or (CPlxI-CPlx=1)or(CPlxI-CPlx=CPlxI/2) or (CPlx-CPlxI=CPlx/2) or (CPlxI-CPlx=(CPlxI/2)-1) or (CPlx-CPlxI=(CPlx/2)-1) or ((CPlxI-CPlx>(CPlxI/2)-1) and (CPlxI-CPlx<(CPlxI/2)+1))

      заменяется на что то типа

      A = CPLxI;
      B = CPlx;
      if (A<B) swap(A,B)
      if (A-B<2) or ((A-2*B<2) and(A-2*B>-1))
      Ответить
      • Возвращение человека-архиватора? :) В прошлый раз это был толстый регэксп...
        Ответить
    • Зашел по ссылке - там еще часть 1 есть. У меня сложилось впечатление, что я попал в лимб для программистов - я ее мотаю, а оно нифига не меняется)
      Ответить
    • Доставил последнее сообщение на форуме: "Так выглядит параллельное программирование по-китайски. 10 китайцев одновременно пишут одно и тоже..."
      Ответить

    Добавить комментарий