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

    Всего: 5

  2. Куча / Говнокод #13747

    +121

    1. 1
    #include "commode.h"

    //development might be long and harassing
    //we'll need some furniture to keep food and coffee

    ckopo, 06 Сентября 2013

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

    +15

    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
    #include <cstdio>
    #include <cstdlib>
    #include <fstream>
    // #include <cstring>
    #include <string>
    using namespace std;
    
    string exec = "\"c:\\Program Files (x86)\\GnuWin32\\bin\\wget.exe\"";
    string root = "http://techno.org/electronic-music-guide/";
    const char* flist = "list.txt";
    
    void getFile(string name)
    {
    	string command = exec + " " + root + name;
    	system(command.c_str());
    }
    
    int main(int argc, char* argv[])
    {
    	ifstream fin(flist);
    	string name = "";
    
    	while(true)
    	{
    		if (fin.eof()) break;
    		getline(fin, name);
    		getFile(name);
    	}
    	return 0;
    }

    Суть такова: ваш покорный слуга копался в исходниках этого: http://techno.org/electronic-music-guide/ -- ради музыкальных лупов на рингтон. Узнал, что это реализовано swf-модулями, список которых он добыл после объединения кучи скриптов и сортировки в NPP. Осталось лишь найти способ загрузить эти файлы по списку.
    Но искать было лень, поэтому реализовано подручными средствами: мозгом, компилятором и случайно попавшимся wget'ом (FTW).

    ckopo, 28 Августа 2013

    Комментарии (2)
  4. Pascal / Говнокод #12978

    +103

    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
    if (s[n][c]='1')and(s[n][c+1]='0')and(s[n+1][c]='0')and(n=1)and(c=1) then writeln('*');
    if (s[n][c]='1')and(s[n][c-1]='0')and(s[n+1][c]='0')and(s[n][c+1]='0')and(n=1) then writeln('*');
    if (s[n][c]='1')and(s[n][c-1]='0')and(s[n+1][c]='0')and(n=1)and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n-1][c]='0')and(s[n][c-1]='0')and(s[n+1][c]='0')and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n-1][c]='0')and(s[n][c-1]='0')and(n=10)and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n][c+1]='0')and(s[n-1][c]='0')and(s[n][c-1]='0')and(n=10) then writeln('*');
    if (s[n][c]='1')and(s[n][c+1]='0')and(s[n-1][c]='0')and(n=10)and(c=1) then writeln('*');
    if (s[n][c]='1')and(s[n+1][c]='0')and(s[n][c+1]='0')and(s[n-1][c]='0')and(c=1) then writeln('*');
    if (s[n][c]='1')and(s[n][c+1]='.')and(s[n+1][c]='.')and(n=1)and(c=1) then writeln('*');
    if (s[n][c]='1')and(s[n][c-1]='.')and(s[n+1][c]='.')and(s[n][c+1]='.')and(n=1) then writeln('*');
    if (s[n][c]='1')and(s[n][c-1]='.')and(s[n+1][c]='.')and(n=1)and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n-1][c]='.')and(s[n][c-1]='.')and(s[n+1][c]='.')and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n-1][c]='.')and(s[n][c-1]='.')and(n=10)and(c=10) then writeln('*');
    if (s[n][c]='1')and(s[n][c+1]='.')and(s[n-1][c]='.')and(s[n][c-1]='.')and(n=10) then writeln('*');
    if (s[n][c]='1')and(s[n][c+1]='.')and(s[n-1][c]='.')and(n=10)and(c=1) then writeln('*');
    if (s[n][c]='1')and(s[n+1][c]='.')and(s[n][c+1]='.')and(s[n-1][c]='.')and(c=1) then writeln('*');

    Конец решения первой задачи все из той же дистанционки.
    На этот раз мопед не мой, а одной юной дамы.
    Вот за ЭТО я и недолюбливаю Паскаль: иногда код хер прочитаешь. А еще путаница с типами. И логикой. Гы.

    ckopo, 08 Мая 2013

    Комментарии (56)
  5. VisualBasic / Говнокод #12966

    −114

    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
    Function Shoot(lay() As String, x, y) As String
     Let Shoot = ssMiss
     Dim HorCheck As Boolean
     Dim i As Byte
     If lay(x, y) = ssShip Then
      If 1 < x Then
       If lay(x - 1, y) = ssEmpty Then GoTo Shoot_Right_Check
       Let HorCheck = True
       If lay(x - 1, y) = ssShip Then GoTo Shoot_WriteHit
      End If
      If 2 < x Then
       If lay(x - 2, y) = ssEmpty Then GoTo Shoot_Right_Check
       If lay(x - 2, y) = ssShip Then GoTo Shoot_WriteHit
      End If
      If 3 < x Then
       If lay(x - 3, y) = ssEmpty Then GoTo Shoot_Right_Check
       If lay(x - 3, y) = ssShip Then GoTo Shoot_WriteHit
      End If
    Shoot_Right_Check:
      If x < N Then
       If lay(x + 1, y) = ssEmpty Then GoTo Shoot_Up_Check
       Let HorCheck = True
       If lay(x + 1, y) = ssShip Then GoTo Shoot_WriteHit
      End If
      If x < (N - 1) Then
       If lay(x + 2, y) = ssEmpty Then GoTo Shoot_Up_Check
       If lay(x + 2, y) = ssShip Then GoTo Shoot_WriteHit
      End If
      If x < (N - 2) Then
       If lay(x + 3, y) = ssEmpty Then GoTo Shoot_Up_Check
       If lay(x + 3, y) = ssShip Then GoTo Shoot_WriteHit
      End If
    Shoot_Up_Check:
      If HorCheck Then GoTo Shoot_Write_Sink
      For i = 1 To 3
       If i < y Then
        If lay(x, y - i) = ssEmpty Then GoTo Shoot_Down_Check
        If lay(x, y - i) = ssShip Then GoTo Shoot_WriteHit
       End If
      Next i
    Shoot_Down_Check:
      For i = 1 To 3
       If y < N - i + 1 Then
        If lay(x, y + i) = ssEmpty Then GoTo Shoot_Write_Sink
        If lay(x, y + i) = ssShip Then GoTo Shoot_WriteHit
       End If
      Next i
    Shoot_Write_Sink:
      Let Shoot = ssSink
     End If
     Exit Function
    Shoot_WriteHit:
     Let Shoot = ssHit
    End Function

    Из решения задачи про морской бой из заочной олимпиады.
    Процедура выстрела на твердой логике (ближе к концу перекроил на цикл) и грешном GoTo.
    А еще строчка из другой процедуры порадовала. Оставлю её здесь: Dim x, y, i As Byte

    ckopo, 05 Мая 2013

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

    −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
    37. 37
    38. 38
    39. 39
    Select Case Figure mod 6  
     ...
     Case chsQueen 'Ферзь
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.5 * Side, Y + 0.15 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.15 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.45 * Side, Y + 0.55 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.3 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.3 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.55 * Side, Y + 0.55 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.7 * Side, Y + 0.25 * Side), Border
       Picture.Circle (X + 0.7 * Side, Y + 0.25 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.65 * Side, Y + 0.6 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.85 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.85 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.35 * Side, Y + 0.6 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.15 * Side, Y + 0.35 * Side), Border
       Picture.Circle (X + 0.15 * Side, Y + 0.35 * Side), 0.08 * Side, Border
       Picture.Line (X + 0.27 * Side, Y + 0.65 * Side)-(X + 0.27 * Side, Y + 0.8 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.65 * Side)-(X + 0.73 * Side, Y + 0.8 * Side), Border
       Picture.Circle (X + 0.5 * Side, Y + 0.35 * Side), 0.5 * Side, Border, 1.35 * Pi, 1.65 * Pi
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.5 * Side, Border)
       Picture.Circle (X + 0.5 * Side, Y + 1.24 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Circle (X + 0.5 * Side, Y + 1.1 * Side), 0.5 * Side, Border, 0.35 * Pi, 0.65 * Pi
       Picture.Line (X + 0.73 * Side, Y + 0.68 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.73 * Side, Y + 0.77 * Side)-(X + 0.65 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.68 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.27 * Side, Y + 0.77 * Side)-(X + 0.35 * Side, Y + 0.7 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.4 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.63 * Side), Border
       Picture.Line (X + 0.6 * Side, Y + 0.68 * Side)-(X + 0.5 * Side, Y + 0.72 * Side), Border
       Let Picture.FillColor = Border
       Call FloodFill(Picture.hdc, X + 0.5 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.73 * Side, Y + 0.7 * Side, Border)
       Call FloodFill(Picture.hdc, X + 0.31 * Side, Y + 0.68 * Side, Border)
       Let Picture.FillColor = Fill
     ...
    End Select

    Пишу свои шахматы, с блекджеком и не без них.
    Вот, набацал алгоритм векторного рисования ферзя.
    Только на это ушло около получаса времени чистого с примесями (подстройки, мать их).
    Чую нутром, лучше забить и вырвать клипарт из интернета.

    ckopo, 18 Марта 2013

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