In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: TweetCoding

clockmaker さんが短くしたヤツをさらに短くしてみたw
@see http://wonderfl.net/code/b8aba0e8ce1b58d2c676580f7c806c0d42aab94d

@see http://gskinner.com/playpen/tweetcoding.html

簡単なルール説明:
"Gimme Code" を修正してはいけない。
140 文字以内に収めなければいけない。
loop 内のみ弄れる。
AS3 strict mode は "ON"(wonderfl が故)、対象は FP10
以上。詳しくは上のURLで。

Gimme code.
g=graphics;
mt=g.moveTo;
lt=g.lineTo;
ls=g.lineStyle;
m=Math;
r=m.random;
s=m.sin;
i=0;
o={};

@author jc at bk-zen.com
/**
 * Copyright bkzen ( http://wonderfl.net/user/bkzen )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/nk1h
 */

// forked from bkzen's TweetCoding
package  
{
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
    import flash.text.*;
    import flash.utils.*;
    import frocessing.color.ColorHSV;
    
    /**
     * clockmaker さんが短くしたヤツをさらに短くしてみたw
     * @see http://wonderfl.net/code/b8aba0e8ce1b58d2c676580f7c806c0d42aab94d
     * *****
     * @see http://gskinner.com/playpen/tweetcoding.html
     * 
     * 簡単なルール説明:
     *     "Gimme Code" を修正してはいけない。
     *     140 文字以内に収めなければいけない。
     *     loop 内のみ弄れる。
     *     AS3 strict mode は "ON"(wonderfl が故)、対象は FP10
     *     以上。詳しくは上のURLで。
     * 
     * Gimme code.
     *     g=graphics;
     *     mt=g.moveTo;
     *     lt=g.lineTo;
     *     ls=g.lineStyle;
     *     m=Math;
     *     r=m.random;
     *     s=m.sin;
     *     i=0;
     *     o={};
     * 
     * @author jc at bk-zen.com
     */
    [SWF(width = "465", height = "465", backgroundColor = "0", frameRate = "30")]
    public class TweetCoding extends Sprite
    {
        
        //private const check: Boolean = false; // これをtrueにすると、何文字か出力されます。countTest に手動でコピペしてねw
        private const check: Boolean = true; // これをtrueにすると、何文字か出力されます。countTest に手動でコピペしてねw
        
        private function loop(e: Event): void
        {
            /* ソースをここに書く コメント以外は140文字 */
            x=y=235;o.h=new ColorHSV;g.clear();mt(0,0);for(i=o.n||=0;++i<x;)o.h.h=i+o.n*x*9,ls(1,o.h.value),lt(i*m.cos(i+i*o.n),i*s(i+i*o.n));o.n+=.1/x;
            // title : forked from: closure graphics
        }
        
        private function countTest(): void
        {
            var fsrc: String = "x=y=235;o.h=new ColorHSV;g.clear();mt(0,0);for(i=o.n||=0;++i<x;)o.h.h=i+o.n*x*9,ls(1,o.h.value),lt(i*m.cos(i+i*o.n),i*s(i+i*o.n));o.n+=.1/x;";
            var txt: TextField = new TextField();
            txt.textColor = 0xFFFFFF;
            txt.text = "only " + fsrc.length + " characters";
            txt.autoSize = "left";
            txt.x = 450 - txt.width - 235;
            txt.y = 450 - txt.height - 235;
            addChild(txt);
        }
        
        private var g: Graphics;
        private var m: Object;
        private var o: Object;
        private var i: Number = 0;
        private var mt: Function; // g.moveTo
        private var lt: Function; // g.lineTo
        private var ls: Function; // g.lineStyle
        private var r:  Function; // Math.random
        private var s:  Function; // Math.sin
        
        public function TweetCoding() 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        private function init(e: Event = null): void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            //
            g = graphics;
            mt = g.moveTo;
            lt = g.lineTo;
            ls = g.lineStyle;
            m = Math;
            r = Math.random;
            s = Math.sin;
            o = { };
            if (check) countTest();
            addEventListener(Event.ENTER_FRAME, loop);
        }
        
    }
    
}