1. JavaScript / Говнокод #13667

    +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
    /* mootools javascript */
    function animateCd() {
        $$('.countdown').each(function(el) {
            var inp = $(el).getElement('.ts');
            var time = +$(inp).get('text')-1;
            $(inp).set('text', time);
     
            var _time = Math.abs(time);
            var h = Math.floor(_time/3600);
            var _h = (h < 10 ? '0' : '') + h;
     
            var m = Math.floor(_time/60)-h*60;
            var _m = (m < 10 ? '0' : '') + m;
     
            var s = _time-(h*3600+m*60);
            var _s = (s < 10 ? '0' : '') + s;
     
            var timeStr = _h+' : '+_m+' : '+_s;
            if ( time < 0 ) {
                timeStr = '- '+timeStr;
            }
     
            $(el).getElement('.timer_cd').set('text', timeStr);
        });
        setTimeout(animateCd, 1000);
    }
    animateCd();
    
    <!-- html -->
    <div class="countdown">
        <div class="timer_cd"></div>
        <div style="display: none" class="ts">7200</div>
    </div>

    "Для создания таймера будем отталкиваться от стартового времени указанного в секундах, в примере 7200 (2 часа). Сначала из скрытого блока <div style="display: none" class="ts">7200</div> вытягиваем текущее значение счетчика в секундах, декрементируем его и возвращаем туда новое значение. Потом разбиваем значение счетчика на часы, минуты и секунды, при этом формируя значения в двухзначном формате. Собираем все в кучу и вставляем полученную строку в блок <div class="timer_cd"></div>. Данную операцию повторяем раз в секунду setTimeout(animateCd, 1000);."
    http://webbystep.ru/all-posts/16-js-clock/

    psycho-coder, 26 Августа 2013

    Комментарии (12)
  2. PHP / Говнокод #13666

    +160

    1. 1
    if($this->rollbackFilter == 3) $this->draftId ? $this->rollbackFilter : 0;

    бессмысленный и беспощадный код

    dimkich, 26 Августа 2013

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

    −167

    1. 1
    2. 2
    3. 3
    4. 4
    foreach my $ex (@excluded)
    {
            .....
    }

    О чем думал, когда имя переменной давал?

    Alexandris, 25 Августа 2013

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

    +23

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void main()
    {
    	// Откуда в программе баги берутся???
    	struct ╯°□°{}╯︵┻━┻;
    	// Понятия не имею.
    	// Код классный, имена переменных говорят сами за себя...
    	// Строк комментариев больше, чем строк кода...
    	// А баги всё-равно есть.
    	// КАК ЖЕ МЕНЯ ВСЁ ЭТО БЕСИТ!
    	(╯°□°)╯︵┻━┻;
    }

    В ответ цитате с баша:

    scala самый крутой язык, в нём можно столами кидаться
    def ┻━━┻ = {
    new Exception("ACHTUNG!")
    }
    throw ┻━━┻

    На С/С++ тоже можно столами кидаться и более красиво! Достаточно сохранение файла в unicode включить.

    Little-Horny, 25 Августа 2013

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

    +116

    1. 1
    string pattern = @"\d\d?\d?\.\d\d?\d?\.\d\d?\d?\.\d\d?\d?";

    Регулярка для IP //_*)

    kegdan, 25 Августа 2013

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

    +11

    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
    for(int i = posX-width, numBlock = 0; i < posX+width; i++)
        {
            for(int j = posY-height; j < posY+height; j++)
            {
            if(worldInfo[i][j] != air){
                switch(worldInfo[i][j])
                {
                case grass:
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[0][i];
                break;
                case dirt:
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[1][i];
                break;
                case rock:
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[2][i];
                break;
                case water:
                    if(j != 35)
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[3][i];
                    else
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[4][i];
                break;
                case sand:
                    for(i = 0; i < 8; i++) tempCoord[numBlock*8+i] = texCoordList[5][i];
                break;
                }
                numBlock++;
                }
            }
        }

    Мое. Долго искал причину краша. Нашел. Если в кратце, тот тут идет присваивание текстурных коррдинат. Я оставлю это здесь, приятного аппетита!

    pelmenka, 24 Августа 2013

    Комментарии (32)
  7. Java / Говнокод #13661

    +64

    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
    import java.util.ArrayList;
    
    public class Chapter19 {
    	/* find repeat chars in text (in all words of text)
    	 * print repeat chars
    	 * 
    	 */
    	private String stringArray[] = { "Allocates ae neaw Setringa tehat",
    			"represeants tahe same saequence " };
    			
    	final private String alfabetArray = "abcdefghijklmnopqrstuvwxyz"; 
    	private ArrayList <Character> repeatChars; 
    
    	public void run() {
    		
    		printStringArray();			
    		
    		repeatChars = new ArrayList<Character>();
    		extractRepeatChars();
    		
    		if (!repeatChars.isEmpty()) {
    			printRepeatChars();
    		} else {
    			System.out.println("not repeat ");
    		}
    	}
    	
    	private void printRepeatChars(){
    		System.out.println("");
    		for (char c : repeatChars) {
    			System.out.println(c);
    		}	
    	}
    	
    	private void printStringArray(){
    		System.out.println(" ");
    		for (String s : stringArray) {
    			System.out.println(s);
    		}	
    	}
    	
    	
    	public String [][] parseStringArray() {
    		String wordsArray[][] = new String[stringArray.length][]; 
    		for (int i = 0; i < wordsArray.length; i++) {
    			wordsArray[i] = stringArray[i].split("\n|\t| "); 
    		}
    		
    		return wordsArray;
    	}
    
    	
    	public int findRepeatCharInWordsArray(String [][]wordsArray, char c) {		 													
    		for (int i = 0; i < wordsArray.length; i++) { 										
    			for (int j = 0; j < wordsArray[i].length; j++) { 			
    				if (wordsArray[i][j].indexOf(c) < 0) { 
    					return 0; // zodyje c nerastas
    				}
    			}	
    		}
    
    		return 1;
    	}
    
    
    	public void extractRepeatChars() {
    		String wordsArray[][] = parseStringArray();	
    		for (char c : alfabetArray.toCharArray()) {
    			if (findRepeatCharInWordsArray(wordsArray, c) > 0) {
    				repeatChars.add(c);
    			}
    		}
    	}
    
    } // end

    chapter 19

    spivti, 24 Августа 2013

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

    +64

    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
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Scanner;
    
    public class Chapter4 {
    	/*
    	 * find minimal difference symbols words in line; if words count > 0, print
    	 * first word;
    	 */
    	public LinkedList<String> wordsList = new LinkedList<>();
    	public ArrayList<String> minUniqueSimbolWords = new ArrayList<String>();
    	final int wordsCount = 3; 
    
    	public void run() {
    
    		System.out.println("Iveskite " + wordsCount + " zodzius: ");
    		Scanner scan = new Scanner(System.in);
    		for (int i = 0; i < wordsCount; i++) {
    			wordsList.add(scan.nextLine());
    		}
    
    		scan.close();
    
    		addMinUniqueSimbolCountWordsToList();
    		if (minUniqueSimbolWords.isEmpty()) {
    			System.out.println("not unique words");
    			return;
    		}
    
    		printUniqueSimbolWords();
    
    	}
    
    	private void printUniqueSimbolWords() {
    		System.out
    				.println("");
    		for (String s : minUniqueSimbolWords) {
    			System.out.println(s);
    		}
    	}
    
    	private void addMinUniqueSimbolCountWordsToList() {
    		for (String word : wordsList) {			
    			if (minUniqueSimbolWords.isEmpty()) { 
    				minUniqueSimbolWords.add(word); 
    			} else {
    				int count = getUniqueSimbolCount(word.toCharArray());
    				addMinUniqueSimbolsCountWord(word, count);
    			}
    		}
    	}
    
    	
    	private void addMinUniqueSimbolsCountWord(String word, int count) {
    		int countOfFirstFromList = getUniqueSimbolCount(wordsList.getFirst()
    				.toCharArray());
    		if (count < countOfFirstFromList) {
    			minUniqueSimbolWords.clear();
    			minUniqueSimbolWords.add(word);
    
    		} else if (count == countOfFirstFromList) {
    			minUniqueSimbolWords.add(word); 
    		}
    
    	}
    
    	
    	private int getUniqueSimbolCount(char[] str) {
    		ArrayList<Character> lst = new ArrayList<Character>();
    		for (char c : str) {
    			if (!lst.contains(c)) { 
    				lst.add(c);
    			}
    		}
    
    		return lst.size();
    	}
    
    } // end class

    еще одно задание

    spivti, 24 Августа 2013

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

    +65

    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
    /*
     * 
     * 
     */
    
    public class Chapter1 {
    	private String text[] = { "Returns a  new string that is a ",
    			"substring of this string" };
    	private String splitted[];
    
    	private int k = 2; // 
    	private char c = '<'; 
    
    	public void run() {
    		for (int i = 0; i < text.length; i++) {
    			text[i] = makeString(text[i], change(i)); 
    														
    			System.out.println(text[i]);
    			
    		}
    	}
    
    	/*
    	 * 
    	 */
    	private String makeString(String textLine, String[] changed) {
    		StringBuilder sBui = new StringBuilder(textLine);
    
    		int i = 0; // changed index
    		int beginIndex = 0; 
    		
    
    		for (int j = 0; j < splitted.length; j++) {
    			beginIndex = sBui.indexOf(splitted[j], beginIndex); // word begin		
    			int endIndex = beginIndex + splitted[j].length(); // word end
    			
    			if(splitted[j].length() > k){			
    				sBui.delete(beginIndex, endIndex);
    				sBui.insert(beginIndex, changed[i++]);
    			} 
    			
    			beginIndex = endIndex;
    		}
    						
    		return sBui.toString();
    	}
    
    	/*
    	 * 
    	 * 
    	 */
    	public String[] change(int i) {
    
    		splitted = text[i].split("\t|\n| "); 
    
    		for (int indx = 0; indx < splitted.length; indx++) {
    			if (splitted[indx].length() > k) {
    				StringBuilder sBuild = new StringBuilder(splitted[indx]);
    				sBuild.setCharAt(k, c);
    				splitted[indx] = sBuild.toString(); // irasomas pakeistas zodis				
    			}
    		}
    
    		return splitted;
    	}
    
    } // end

    help, задание - вкаждом слове текста к-тую буквы заменить с символом, если длина слова меньше к, замену не выполнять.

    Exception in thread "main" java.lang.StringIndexOutOfBoundsExceptio n: String index out of range: -1 (проблема)

    spivti, 24 Августа 2013

    Комментарии (104)
  10. Objective C / Говнокод #13657

    −114

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    - (void)setHidden:(BOOL)newHidden
    {
        [super setHidden:newHidden];
        if (newHidden){
            [m_bannerViewController hideBanner];
            return;
        }
        
        [self reload];
    }

    ZevsVU, 23 Августа 2013

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