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

    +159

    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
    function line( x0, y0, x, y, elmId ) {
    
    	var sx = x-x0, sy = y-y0, dir = (sx>sy), adir = (Math.abs(sx)>Math.abs(sy));
    
    	if ( (x0>x&&y0<=y&&adir)||(x0<=x&&y0>y&&!adir)||(x0>x&&y0>y) ) return line(x, y, x0, y0, elmId); // black magic!
    
    	var d1 = dir? x0:y0, d2 = dir? y0:x0, b1 = dir? sx:sy, b2 = dir? sy:sx, k = b2/b1;
    
    		for( var i=0; i<=b1;i++ ){
    
    			if ( dir ) plot( d1, Math.floor(d2), elmId );
    			else plot( Math.floor(d2), d1, elmId );
    
    			d1++;d2+=k;
    		}
    	return true;
    }
    /* ... */
    function plot(x, y, elmId) {
    
    	var div = document.createElement('div');
    	div.className = 'dot' + (!!elmId? ' dot-'+elmId:'' ) ;
    	div.style.left = x + 'px';
    	div.style.top = y + 'px';
    
    	document.getElementsByTagName('BODY')[0].appendChild(div);
    }

    Опачки...

    Запостил: istem, 20 Апреля 2012

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

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