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

    +156

    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
    Generator.prototype.update = function () {
    	var	t = this.timer++,
    		d = this.delay,
    		s = this.samples,
    		m = this.minDistance,
    		w = this.width,
    		h = this.height,
    		g = this.global,
    		c = this.cid,
    		ttl = this.ttl--,
    		l = s.length,
    		rand = Math.random,
    		floor = Math.floor,
    		x,
    		y,
    		r,
    		i,
    		j,
    		d2,
    		n;
    
    	if (ttl > 0) {
    		while (t > d) {
    			r = s[floor(rand() * l)].copy();
    
    			if (m) {
    				i = 1000;
    				while (i--) {
    					x = rand() * w - w * 0.5;
    					y = rand() * h - h * 0.5;
    
    					for (j in this) if (j instanceof Entity) {
    						n = this[i];
    						d2 = (x - n.x) * (x - n.x) + (y - n.y) * (y - n.y);
    
    						if (d2 * d2 > m) {
    							i = 0;
    						}
    					}
    				}
    			} else {
    				x = rand() * w - w * 0.5;
    				y = rand() * h - h * 0.5;
    			}
    
    			r.x = x;
    			r.y = y;
    
    			if (!g) {
    				r.parent = this;
    			}
    
    			this[c] = r;
    			this.cid = c += 1;
    			this.time = t -= d;
    		}
    	} else {
    		delete this.update;
    	}
    };

    асм-диалект яваскрипта

    Запостил: prezident, 04 Сентября 2014

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

    • Скорей на сишный диалект похоже.
      Ответить
    • t = this.timer++,
      d = this.delay,
      s = this.samples,
      m = this.minDistance,
      w = this.width,
      h = this.height,
      g = this.global,

      так вот как надо ооп юзать. теперь понятно
      Ответить
      • Если добавить еще несколько переменых то имен для переменных ему не хватит, к тому же i, j, k обычно используются для итерации multi-dimensional массивов.
        Ответить
        • кстати когда циклы в школе обьясняли учитель говорил, что надо обязательно i и j писать, и многие думали, что если написать другие буквы то работать не будет
          Ответить
          • Ну мы то знаем что i, j и k это всего лишь переменные. А история сама по себе интересна. У попова тоже есть своя версия: возвращяемое значение из mysql_query надо обязательно называть $result или $result1 ... $resultN.
            Ответить
          • > если написать другие буквы то работать не будет
            А это из фортрана. Там тип подбирался по первой букве.
            Ответить
            • жесткая привязка к венгерской нотации

              кстати у чеГевары тоже она была
              Ответить

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