1. C++ / Говнокод #17203

    +50

    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
    switch (player->collision(pos, getRadius()))
    		{
    		case SIDE_UP:
    			ySpeed = -player->baseSpeed.y + player->currentSpeed.y;
    			xSpeed = xSpeed - player->currentSpeed.x;
    			if (abs(xSpeed) > maxXSpeed)
    				xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
    			break;
    		case SIDE_DOWN:
    			setPosition(getPosition().x, getPosition().y - getRadius() * 2 - 20);
    			ySpeed = -player->baseCornerSpeed.y - player->currentSpeed.y;
    			xSpeed = xSpeed - player->currentSpeed.x; 
    			if (abs(xSpeed) > maxXSpeed)
    				xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
    			break;
    		case SIDE_RIGHT:
    		case SIDE_LEFT:
    			xSpeed = -xSpeed + player->currentSpeed.x;
    			break;
    		case CORNER_LEFT_UP:
    			ySpeed = -player->baseCornerSpeed.y;
    			xSpeed = -player->baseCornerSpeed.x;
    			break;
    		case CORNER_RIGHT_UP:
    			ySpeed = -player->baseCornerSpeed.y;
    			xSpeed = player->baseCornerSpeed.x;
    			break;
    		case CORNER_RIGHT_DOWN:
    			ySpeed = player->baseCornerSpeed.y;
    			xSpeed = player->baseCornerSpeed.x;
    			break;
    		case CORNER_LEFT_DOWN:
    			ySpeed = player->baseCornerSpeed.y;
    			xSpeed = -player->baseCornerSpeed.x;
    			break;
    		}

    Только велосипедный Collision detection, только хардкор!

    gost, 27 Ноября 2014

    Комментарии (0)
  2. Java / Говнокод #17202

    +76

    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
    double C54 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
            double C55 = ((C13==0.4)&&(C14!=0)) ? 1 : 0;
            double D56 = (C14 == 0) ? 0 : 1;
            double E56 = (C13 == 0.4) ? 1 : 0;
            double C56 = D56 * E56;
            double C57 = ((C13!=0.4)&&(C14!=0)) ? 1 : 0;
            double D58 = (C14 == 0) ? 0 : 1;
            double E58 = (C13 == 0.4) ? 1 : 0;
            double C58 = D58 * E58;
    
            if (C11 >= 670) {
                if (C12 == 3) {
                    result = C28*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
                } else {
                    result = C28*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
                }
            } else {
                if (C12 == 3) {
                    result = (C28-C31)*C11+((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*B21;
                } else {
                    result = (C28-C31)*C11+(((C54*C36*C11+C56*C34*C11)*B18+(C57*C35*C11+C58*C33*C11)*B19+C55*C37*C11)*2)*B21;
                }
            }

    Часть калькулятора для рассчетов, изначально было на JS

    chsh, 27 Ноября 2014

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

    −126

    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
    Попытка
            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ЗначокОбработкаВПанелиФункций16
    Исключение
            Попытка
                    ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.Выполнить
            Исключение
                    Попытка
                            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.Сформировать
                    Исключение
                            Попытка
                                    ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ПерейтиНаСледующийЭтапСделки
                            Исключение
                                    Попытка
                                            ЭлементыФормы[Надпись].Картинка = БиблиотекаКартинок.ВыполнитьОбменДаннымиИнтерактивно
                                    Исключение
                                    КонецПопытки
                            КонецПопытки
                    КонецПопытки
            КонецПопытки
    КонецПопытки;

    Отака хуєта розкидана в одній і тій самій обробці в кількох місцях

    monstrodev, 27 Ноября 2014

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

    +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
    private static List<User> Users
    {
        get
       {
           if (_customers == null) {             _customers = new List<Customer>(); }
            lock (((ICollection)_customers).SyncRoot)
           {
                    return _customers;
           }
    }
    set
      {
          lock (((ICollection)Customer).SyncRoot)
          {
                _customers = value;
           }
       }

    one12351, 27 Ноября 2014

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

    +131

    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
    double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
                double[] numbers2 = { 2.2 };
    
                IEnumerable<double> onlyInFirstSet = numbers1.Except(numbers2);
    
                foreach (double number in onlyInFirstSet)
                    Console.WriteLine(number);
    
                /*
                 This code produces the following output:
    
                 2
                 2.1
                 2.3
                 2.4
                 2.5
                */

    Привет с msdn
    http://msdn.microsoft.com/en-us/library/bb300779%28v=vs.110%29.aspx

    LispGovno, 27 Ноября 2014

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

    +79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void playersListClearBlacklist() {
    	List<Player> itemsToRemove = new ArrayList<Player>();
    	for (int i = 0; i < blacklist.size(); i++) {
    		Player player = blacklist.get(i);
    		itemsToRemove.add(player);
    		DBCore.getInstance().deletePlayer(player);
    	}
    	blacklist.removeAll(itemsToRemove);
    }

    Из комерческого проекта

    Smekalisty, 27 Ноября 2014

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

    +160

    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
    var action = $(this).attr("action");
    var id_taxi = $('#id_taxi').val();
    var id_car = $('#id_car').val();
    var car_number = $('#number-car').val();
    var car_code = $('#number-car-code').val();
    <....>
    if ( action == "add" ){
        var url = '/api/4/*****/service/taxi/addAvto';
        var data_send={ 'id_taxi':id_taxi, 'car_number':car_number, 'model':model, 'color':color, 'licence_number': licence_number, 'id_type_car_body': id_type_car_body, 'type_car_comfort' : comfort, 'car_options' : option, 'isActive': is_active };
    
    }else if ( action == "edit"  ){
        var url = '/api/4/****/service/taxi/updateAvto';
        var data_send={ 'id_car': id_car, 'car_number':car_number, 'model':model, 'color':color, 'licence_number': licence_number,'id_type_car_body': id_type_car_body,  'type_car_comfort' : comfort, 'car_options' : option, 'isActive': is_active};
    
    }
    <...>
    var request = $.ajax({
      url: url,  
      type: "POST",
      dataType: 'json',
      data: data_send
    });

    Сабмитим формы.
    И так на всем проекте, 3к строк JS кода, которые подобным образом описывают ВСЕ формы на проекте.
    web service architecture, йобана

    heyzea1, 27 Ноября 2014

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

    +135

    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
    public CookieContainer GetCookies(string url, string login, string password)
    {
        try
        {
            var cookies = new CookieContainer();
            string postData = string.Format(@"subaction=dologin&username={0}&password={1}&selected_language=Russian&x=62&y=37", Uri.EscapeDataString(login), Uri.EscapeDataString(password));
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url + "admin.php");
            httpWebRequest.AllowAutoRedirect = true;
            httpWebRequest.CookieContainer = cookies;
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            httpWebRequest.UserAgent = "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.10.289 Version/12.01";
            httpWebRequest.ServicePoint.Expect100Continue = false;
            byte[] ByteQuery = System.Text.Encoding.UTF8.GetBytes(postData);
            httpWebRequest.ContentLength = ByteQuery.Length;
            Stream QueryStream = httpWebRequest.GetRequestStream();
            QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
            QueryStream.Close();
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
            string loginPage = sr.ReadToEnd();
            sr.Close();
            if (loginPage.IndexOf(@"div class=""error""") == -1)
            {
                httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies(httpWebRequest.RequestUri);
                httpWebResponse.Close();
                return cookies;
            }
            else
            {
                return null;
            }
            
        }
        catch (Exception)
        {
            if (n < 3)
            {
                Thread.Sleep(400);
                n++;
                return GetCookies(url, login, password);
            }
            else
            {
                n = 0;
                return null;
            }
        }
    }

    Костыльно-ориентированное велосипедирование. Выдержка из паттерна "тулза для работы с вебом", метод авторизации на какой-то из CMS.

    pushistayapodmyshka, 27 Ноября 2014

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

    +50

    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
    size_t __stdcall ZAsmView::addrSet(DIS const *pDis, unsigned __int64 Va, wchar_t * buf, size_t cb, unsigned __int64 * displacement)
    {
    	FORMATDATA* pf = (FORMATDATA*)pDis->PvClient();
    	size_t fixupLen = pf->fixupLen;
    	pf->fixupLen = 0;
    	*displacement = 0;
    	BOOL f = TRUE;
    	PVOID _Va = (PVOID)Va;
    	ZDbgDoc* pDoc = pf->pDoc;
    	
    __loop:
    	if (PCSTR Name = pDoc->getNameByVa((PVOID)Va))
    	{
    		char cc[256];
    		PCSTR fName = unDNameEx(cc, Name, sizeof(cc), UNDNAME_NAME_ONLY);
    		int len = _snwprintf(buf, cb, L"%S(%p)", fName, Va);
    		if (len < 0)
    		{
    			buf[len = (DWORD)cb - 1] = 0;
    		}
    		else
    		{
    			buf[0] |= 0x4000, buf[len - 3 - 2*sizeof(PVOID)] |= 0x8000;
    		}
    		return len;
    	}
    
    	if (f && 2*sizeof(PVOID)+2<cb)
    	{
    		switch (pDis->Trmta())
    		{
    		case DIS::a_jmp_u_2:
    		case DIS::a_jmp_u_5:
    		case DIS::a_jmp_c_2:
    		case DIS::a_jmp_c_6:
    			_snwprintf(buf, cb, L"%p %c", (PVOID)Va, Va > pf->pLI->Va ? 0x2193 : 0x2191);
    			buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
    			return 2*sizeof(PVOID)+2;
    		}
    	}
    
    	if (fixupLen)
    	{
    		if (0 <= pDoc->Read((PVOID)Va, &Va, sizeof(PVOID)))
    		{
    			fixupLen = 0, f = FALSE;
    			goto __loop;
    		}
    	}
    
    	if (2*sizeof(PVOID)+2<cb && pDoc->getDllByVaNoRef(_Va))
    	{
    		_snwprintf(buf, cb, L"%p", _Va);
    		buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
    		return 2*sizeof(PVOID);
    	}
    
    	return 0;
    }

    zhukas, 27 Ноября 2014

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

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    QByteArray ba;
    char x;
    
    x = 0x05;
    ba.append (&x, sizeof (x));

    Qt. Продолжаем мучить QByteArray :)

    ealx, 26 Ноября 2014

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