1. PHP / Говнокод #18093

    +132

    1. 1
    2. 2
    $result = mysql_query("INSERT INTO `selled` (`user`, `ip`, `date`, `name`, `mail`, `company`, `phone`, `phone2`, `sum`, `country`, `state`, `town`, `indexcountry`, `allcountry`, `payment`, `dost`) VALUES 
    	('".mysql_real_escape_string($_COOKIE['user'])."', '$_SERVER[REMOTE_ADDR]', NOW(), '".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['mail'])."', '".mysql_real_escape_string($_POST['company'])."', '".mysql_real_escape_string($_POST['phone'])."', '".mysql_real_escape_string($_POST['phone2'])."', '".mysql_real_escape_string($_GET['sum'])."', '".mysql_real_escape_string($_POST['country'])."', '".mysql_real_escape_string($_POST['state'])."', '".mysql_real_escape_string($_POST['town'])."', '".mysql_real_escape_string($_POST['indexcountry'])."', '".mysql_real_escape_string($_POST['allcountry'])."', '".mysql_real_escape_string($_POST['paymethod'])."', '".mysql_real_escape_string($_POST['dost'])."')");

    Добавление товара

    ponchic, 30 Апреля 2015

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

    +143

    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
    public void init() throws Exception {
    
            initGps103Server("gps103");
            initTk103Server("tk103");
            initGl100Server("gl100");
            initGl200Server("gl200");
            initT55Server("t55");
            initXexunServer("xexun");
            initTotemServer("totem");
            initEnforaServer("enfora");
            initMeiligaoServer("meiligao");
            initMaxonServer("maxon");
            initSuntechServer("suntech");
            initProgressServer("progress");
            initH02Server("h02");
            initJt600Server("jt600");
            initEv603Server("ev603");
            initV680Server("v680");
            initPt502Server("pt502");
            initTr20Server("tr20");
            initNavisServer("navis");
            initMeitrackServer("meitrack");
            initSkypatrolServer("skypatrol");
            initGt02Server("gt02");
            initGt06Server("gt06");
            initMegastekServer("megastek");
            initNavigilServer("navigil");
            initGpsGateServer("gpsgate");
            initTeltonikaServer("teltonika");
            initMta6Server("mta6");
            initMta6CanServer("mta6can");
            initTlt2hServer("tlt2h");
            initSyrusServer("syrus");
            initWondexServer("wondex");
            initCellocatorServer("cellocator");
            initGalileoServer("galileo");
            initYwtServer("ywt");
            initTk102Server("tk102");
            initIntellitracServer("intellitrac");
            initXt7Server("xt7");
            initWialonServer("wialon");
            initCarscopServer("carscop");
            initApelServer("apel");
            initManPowerServer("manpower");
            initGlobalSatServer("globalsat");
            initAtrackServer("atrack");
            initPt3000Server("pt3000");
            initRuptelaServer("ruptela");
            initTopflytechServer("topflytech");
            initLaipacServer("laipac");
            initAplicomServer("aplicom");
            initGotopServer("gotop");
            initSanavServer("sanav");
            initGatorServer("gator");
            initNoranServer("noran");
            initM2mServer("m2m");
            initOsmAndServer("osmand");
            initEasyTrackServer("easytrack");
            initTaipServer("taip");
            initKhdServer("khd");
            initPiligrimServer("piligrim");
            initStl060Server("stl060");
            initCarTrackServer("cartrack");
            initMiniFinderServer("minifinder");
            initHaicomServer("haicom");
            initEelinkServer("eelink");
            initBoxServer("box");
            initFreedomServer("freedom");
            initTelikServer("telik");
            initTrackboxServer("trackbox");
            initVisiontekServer("visiontek");
            initOrionServer("orion");
            initRitiServer("riti");
            initUlbotechServer("ulbotech");
            initTramigoServer("tramigo");
            initTr900Server("tr900");
            initArdi01Server("ardi01");
            initXt013Server("xt013");
            initAutoFonServer("autofon");
            initGoSafeServer("gosafe");
            initAutoFon45Server("autofon45");
            initBceServer("bce");
            initXirgoServer("xirgo");
            initCalAmpServer("calamp");
            initMtxServer("mtx");
            initTytanServer("tytan");
            initAvl301Server("avl301");
    
            initProtocolDetector();
        }

    Один я тут вижу говно? Внутри еще интереснее, особенно доставил метод start():
    https://github.com/tananaev/traccar/blob/master/src/org/traccar/ServerManager.java

    sakkath, 30 Апреля 2015

    Комментарии (3)
  3. Си / Говнокод #18091

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    fstat(fd, &s);
    count = s.st_size % sizeof(uint32_t) == 0 ? s.st_size : s.st_size + (sizeof(uint32_t) - s.st_size % sizeof(uint32_t));
    buf = malloc(count);
    /* etc */

    Собственно, round up to nearest 32-bit word. Нет ли метода покрасивше?

    codemonkey, 30 Апреля 2015

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

    +146

    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
    #ifndef FILTER_H
    #define FILTER_H
    
    #include <cassert>
    #include <vector>
    #include <algorithm>
    
    template<typename T>
    class filter_container;
    namespace detail {
    	template<typename Iter, typename Pred>
    	class filter {
    	public:
    		filter(Iter begin, Iter end, Pred pred) :_begin(begin), _end(end), _pred(pred) { }
    		filter(const filter & f) : _begin(f._begin), _end(f._end), _pred(f._pred) { }
    		filter & operator = (const filter & f) {
    			if(this != &f) {
    				_begin = f._begin;
    				_end = f._end;
    				_pred = f._pred;
    			}
    			return *this;
    		}
    		~filter() { }
    
    		class const_iterator {
    		public:
    			typedef typename Iter::reference reference;
    			typedef typename Iter::pointer pointer;
    			const_iterator(Iter iter, const filter & cont) :_iter(iter), _cont(&cont) { advance_until_pred(); }
    			const_iterator(const const_iterator & i) :_iter(i._iter), _cont(i._cont) { }
    			const_iterator & operator = (const const_iterator & i) {
    				if(this != &i) {
    					_iter = i._iter;
    					_cont = i._cont
    				}
    				return *this;
    			}
    			~const_iterator() { }
    			const_iterator & operator++() { advance_until_pred(); return *this; }
    			const_iterator operator++(int) {
    				const_iterator ret = *this;
    				advance_until_pred();
    				return ret;
    			}
    			const reference operator*() const { return *_iter; }
    			const pointer operator->() const { return &*_iter; }
    			bool operator == (const const_iterator & i) const {
    				assert(_cont == i._cont);
    				return _iter == i._iter;
    			}
    			bool operator != (const const_iterator & i) const { return !(*this == i); }
    		protected:
    			Iter _iter;
    			const filter * _cont;
    		private:
    			void advance_until_pred() {
    				if(_iter != _cont->_end) {
    					std::advance(_iter, 1);
    				}
    				_iter = std::find_if(_iter, _cont->_end, _cont->_pred);
    			}
    		private:
    			const_iterator();
    		};
    
    		class iterator : public const_iterator {
    		public:
    			iterator(Iter iter, const filter & cont) :const_iterator(iter, cont) { }
    			iterator(const iterator & i) :const_iterator(i) { }
    			iterator & operator = (const iterator & i) { const_iterator::operator=(i); return *this; }
    			~iterator() { }
    			reference operator*() { return *_iter; }
    			pointer operator->() { return &*_iter;  }
    		private:
    			iterator();
    		};
    
    		iterator begin() { return iterator(_begin, *this); }
    		iterator end() { return iterator(_end, *this); }
    		const_iterator cbegin() const { return const_iterator(_begin, *this); }
    		const_iterator cend() const { return const_iterator(_end, *this); }
    	private:
    		Iter _begin, _end;
    		Pred _pred;
    	private:
    		filter();
    	}; 
    }
    
    template<typename Iter, typename Pred> 
    detail::filter<Iter, Pred> filter(Iter begin, Iter end, Pred pred) {
    	return detail::filter<Iter, Pred>(begin, end, pred);
    }
    
    #endif // FILTER_H

    Тривиальная крестовщина, ничего выдающегося. Внезапно подумалось, что подобный контейнер был бы довольно удобен.
    Мне просто любопытно, насколько быстро этот пост будет слит автоминусаторами :)

    Xom94ok, 29 Апреля 2015

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

    +142

    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
    public List<MainTZInfoVO> GetMyJobs(bool flag1, bool flag2, bool flag3, bool flag4, string date1, string date2)
    {
        List<MainTZInfoVO> ulist = new List<MainTZInfoVO>();  // список заданий пользователя
        string sIdUser = usr.GetUserOrAssistansID().ToString();   // ID пользователя
        
        //выданы мне задания
        string sql1 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '1' as NOT_RECEIVED from tz_all_jobs where (trim(id_ispol) like '%,'||'" + sIdUser + "'||',%' or trim(id_ispol) like '" + sIdUser + "'||',%') and (status='Выдано' or status = 'Отклонено частично') and nvl(id_prin,' ') not like  '%,'||'" + sIdUser + "'||',%' and  nvl(id_prin,' ') not like '" + sIdUser + "'||',%' and nvl(id_otkl,' ') not like  '%,'||'" + sIdUser + "'||',%' and  nvl(id_otkl,' ') not like '" + sIdUser + "'||',%'";
        //принятые мной, не рассмотренные другими
        string sql2 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '0' as NOT_RECEIVED from tz_all_jobs where (status='Выдано' or status = 'Отклонено частично') and (nvl(id_prin,' ')  like  '%,'||'" + sIdUser + "'||',%' or  nvl(id_prin,' ')  like '" + sIdUser + "'||',%' or nvl(id_otkl,' ')  like  '%,'||'" + sIdUser + "'||',%' or  nvl(id_otkl,' ')  like '" + sIdUser + "'||',%')";
        //выданные мне в статусе отклонено
        string sql3 = "select ID_TZ as ID, DATE_VYD, DESCR, SODER, STATUS||' '||CASE WHEN NVL(LAST_TZ,'0')=1 THEN chr(10)||' !Последнее' END as STATUS, '2' as NOT_RECEIVED from tz_all_jobs where  (id_ispol like '%,'||'" + sIdUser + "'||',%' or id_ispol like '" + sIdUser + "'||',%') and (status='Отклонено' or status='Аннулировано')";
        //ограничение по дате
        string sql4 = "date_vyd between to_date('" + date1 + "','DD.MM.YYYY') and to_date('" + date2 + "','DD.MM.YYYY')";
        string sql = " ";
        //формируем sql-ку по флажкам, которые передаем в функцию
        if (flag1 == true)
        {
            sql = sql1;
        }
        if (flag2 == true)
        {
            if (sql.Length > 1)
            {
                sql = sql + " union " + sql2;
            }
            else
            {
                sql = sql2;
            }
        }
        if (flag3 == true)
        {
            if (sql.Length > 1)
            {
                sql = sql + " union " + sql3;
            }
            else
            {
                sql = sql3;
            }
        }
        if ((flag4 == true) & (sql.Length > 1))
        {
            sql = "select * from (" + sql + ") tabl where " + sql4;
        }
        sql = sql + " order by date_vyd desc";
    
        OracleCommand cmd = new OracleCommand(sql, connection);
        OracleDataReader reader = cmd.ExecuteReader();
        //ТУТ ПЕРЕДЕЛАТЬ ВСЕ
        /*заполнение полей из ридера*/
        while (reader.Read())
        {
            //...
        }
        return ulist; 
    }

    в этом коде прекрасно все (имена и типы переменных, жестокое обращение с датами, чуть менее жестокое обращения с "флажками", соединение с Ораклом, которое открывается где-то за пределами вселенной и не закрывается нигде, и еще много всего)...
    дочитав этот шедевр до строчки //ТУТ ПЕРЕДЕЛАТЬ ВСЕ, просто невозможно не прослезиться...

    svetkeen, 29 Апреля 2015

    Комментарии (0)
  6. SQL / Говнокод #18088

    −161

    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
    select distinct cast(null as integer) NZAP,d_ext_uslug_napr_zag.id_doc_public NNAPR,d_ext_uslug_napr_zag.date_doc DNAPR, 
     d_ext_uslug_napr_zag.form_med_pom  FOMP, tab_lpu.lpu_ext_code MONAPR, tab_struct_obos_unit.code_ffoms PMONAPR, cast (:lpu_ext_code  as varchar(20)) MO, TSOU1.code_ffoms PMO, 
     tab_other_strings.code_external VPOLIS,patients.polis_s SPOLIS,patients.polis_n NPOLIS, 
     tab_msk.smocod SMO, tab_msk.TF_OKATO TER, 
     d_ext_uslug_napr_zag.fam FAM, d_ext_uslug_napr_zag.nam IM, d_ext_uslug_napr_zag.otch OT, d_ext_uslug_napr_zag.male P, d_ext_uslug_napr_zag.born DR, 
     patients.TELEFON TEL, 
     d_ext_uslug_napr_zag.ds_osn_mkb DSNAPR, TAB_PLACE_PARAM.profil_koek_for_foms PROFK,tab_profile.CODE_PROFILE_EGISZ_PRFO PROFO, 
     TAB_PLACE_PARAM.profil_koek_for_foms PROFKNAPR, 
     tab_profile.CODE_PROFILE_EGISZ_PRFO  PROFONAPR,
     users.snils MEDRAB, 
     med_kart.id_kart_public NKART, med_kart.ds_priem_mkb DS,           
     d_ext_uslug_napr_zag.date_plan_gosp  DPGOSP, 
     MED_KART.date_vipis_planed DPOGOSP  
     from d_ext_uslug_napr_zag 
     left outer join patients on patients.id_pac=d_ext_uslug_napr_zag.pac_id and patients.dae>='31.12.9999'    
     left outer join tab_other_strings on tab_other_strings.id_string=patients.polis_type             
     left outer join tab_profile on tab_profile.id_profile=d_ext_uslug_napr_zag.TARGET_PODR_PROFILE   
     left outer join R_USERS_DOLGN on R_USERS_DOLGN.ID_KD=d_ext_uslug_napr_zag.NAPR_DOCTOR_KD_ID 
     left outer join users on users.id_user=d_ext_uslug_napr_zag.napr_doctor_user_id                  
     left outer join tab_msk on tab_msk.id_msk=patients.msk                                           
     left outer join tab_place on tab_place.id_place=d_ext_uslug_napr_zag.napr_place_id               
     left outer join tab_struct_obos_unit on tab_struct_obos_unit.lpu_id=d_ext_uslug_napr_zag.from_lpu_id 
     left outer join tab_struct_obos_unit TSOU1 on TSOU1.id_obos_unit=tab_place.obos_unit_id          
     left outer join d_diagn on d_diagn.id_doc = d_ext_uslug_napr_zag.id_doc                          
     left outer join med_kart on med_kart.pac_id = patients.id_pac 
     and med_kart.dt_coming>=:O_BEG and med_kart.dt_coming<=:O_END 
     left outer join d_dvig on d_dvig.med_kart=med_kart.id_kart and d_dvig.type_dvig=31                   
      left outer join  tab_place_param on tab_place_param.id_place=d_dvig.target_place                    
           and tab_place_param.dab<=:O_BEG and tab_place_param.dae>:O_BEG                                 
     left outer join tab_struct_place_har on tab_struct_place_har.place_id=tab_place.id_place         
     left outer join tab_lpu on tab_lpu.lpu_code= med_kart.napr_lpu 
     where d_ext_uslug_napr_zag.IS_INCOMING=0 and d_ext_uslug_napr_zag.pay_id=1  --IS_INCOMING=0 только исходящие,      
     and d_ext_uslug_napr_zag.date_doc>=:O_BEG and d_ext_uslug_napr_zag.date_doc<=:O_END

    Обратите внимание на tab_place_param
    Также стоит отметить, что в таблице d_ext_uslug_napr_zag имеются поля med_kart_id, lpu_id, obos_unit_id.
    Ещё: obos_unit — на самом деле подразделение lpu, их может быть несколько. Автор почему-то об этом не подумал.

    tucvbif, 29 Апреля 2015

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

    +144

    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
    cs_zagl.Edit;
          cs_zagl.fieldbyname('count_z').asinteger:=cs_tab.RecordCount;
          cs_zagl.Post;
    
    cs_mk.Edit;
    cs_mk.FieldByName('med_kart_id').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_kart').asinteger;
    cs_mk.FieldByName('id_kart_public').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_kart_public').asinteger;
    cs_mk.FieldByName('id_pac').Asinteger:=select_row_Form.ClientDataSet1.FieldByName('id_pac').asinteger;
    cs_mk.FieldByName('type_kart').asinteger:=select_row_Form.ClientDataSet1.FieldByName('type_kart').asinteger;
    cs_mk.post;
    
    
          IF (cs_mk.FieldByName('med_kart_id').Value=0) or (cs_mk.FieldByName('type_kart').asinteger<>27) then begin
          cmd := VarArrayCreate([0,20],varVariant);
          cmd[1] := 6832;
          cmd[2] := 17;
          cmd[5] := 1;
          cmd[6] := 0;
          ProvOptions := [grMetadata, grReset];
          cmd[7] := dsp_mk.GetRecords(-1, RecsOut, Byte(ProvOptions));
    
    
      try
    
        rez := MainFormInterface.EXT_call_server('spr_read', cmd);
        cs_tab.Edit;
        cs_tab.FieldByName('med_kart_id').Asinteger:=rez[3];
        cs_tab.Post;
    
    
    
        if rez[1] < 0 then begin
          debug_sql('Ошибка: ' + varastype(rez[1], varstring), 2);
          MessageDlg('Ошибка: '+ #10 + #13 +
                     varastype(rez[1],varstring),mtError,[mbok],0);
          Exit;
        end;
    
    
       except
        on e:exception do
        begin
          MessageDlg(ERROR_MESS_5 + 'Исключение:' + E.ClassName + 'Mess:' + E.Message, mterror, [mbok], 0);
          debug_sql('Ошибка записи документа!', 2);
          debug_all('Err при записи документа тип=' + varastype(cmd[1], varstring)+
                   ' id=' + inttostr(id_doc) + 'Исключение:' + E.ClassName + 'Mess:' + E.Message,2);
    
        end;
      end;
    
    
    
    
    
          end;
          end else begin
    
          
    
    
          end;
          end
          else exit;
    
    
       end else
         begin
        id_pac:=rez[3];
        id_med_kart:=rez[2];
        Application.MessageBox(pchar('Ошибка: '+#10+#13+
               'Даный пациент не найден!!!'),pchar(application_title_short),MB_OK+MB_ICONERROR);
        exit;
        end;
    
    end;

    Это называется стиль

    tucvbif, 29 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    $("input[name=remarks[]][type=checkbox]:checked").each(function(){
    ....
    })

    Что бывает когда начинают "программировать" на jquery

    Vasiliy, 29 Апреля 2015

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

    +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
    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
    class ammo
    {
        public:
            bool existance;
            COORD alloc;
        void print()
            {
                pole[alloc.Y+1][alloc.X]=' ';
                pole[alloc.Y][alloc.X]='*';
            }
    };
    
    ammo bullet[10];
    
    void initpole();
    void replaceunit();
    void printpole();
    void redirect();
    void fire();
    void ammomove();
    
    int main(int argc, char* argv[])               //òåëî
    {
        initpole();
        do{
            if(kbhit())
                redirect();
            printpole();
            ammomove();
            Sleep(0);
            }
        while(chk!=27);
        return 0;
    }
    
    void redirect()                              //обработка нажатой клавиши
    {
        chk=getch();
        if(chk==32)
            {
                bullet[bulletcounter].existance=true;
                if(bulletcounter<10)
                    bulletcounter++;
                else
                    bulletcounter=0;
                fire();
            }
        else if(chk==75 || chk==77)
            replaceunit();
        else if(chk==112)
            {
            system("pause");
            system("cls");
            }
    }
    
    void fire()                                         //инициализация пули
    {
        bullet[bulletcounter].alloc.X=x;
        bullet[bulletcounter].alloc.Y=y-3;
        if(bullet[bulletcounter].existance==true)
            bullet[bulletcounter].print();
    }
    
    void ammomove()                                     //сдвиг пули
    {
        if(bullet[bulletcounter].existance==true)
            if(bullet[bulletcounter].alloc.Y>1)
                {
                    bullet[bulletcounter].alloc.Y--;
                    bullet[bulletcounter].print();
                }
            else
                {
                    bullet[bulletcounter].existance=false;
                    pole[bullet[bulletcounter].alloc.Y][bullet[bulletcounter].alloc.X]=' ';
                }
    }

    по нажатию пробела должна вылетать пулька, но чегот не хочет она вылетать, есть идеи? :3

    Morozz, 29 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    ...
    if (!empty($desc_for_filters) && empty($desc_for_filters)) {
    ...

    код Шрёдингера

    breathe, 29 Апреля 2015

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