flash on 2010-12-18

by enecre
♥0 | Line 52 | Modified 2010-12-18 11:57:03 | MIT License
play

ActionScript3 source code

/**
 * Copyright enecre ( http://wonderfl.net/user/enecre )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/p4pO
 */

package {
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var tf:TextField = new TextField();
        public function FlashTest() {
            // write as3 code here..
            tf.width = tf.height = 465;
            addChild(tf);
            var tehai:Tehai = new Tehai();
            var input:Array = [Hai.M[0], Hai.P[5], Hai.P[6], Hai.Z[3], Hai.Z[3]];
            for(var i:int = 0; i < input.length; i++){
                tehai.add(new Hai(input[i]));
            }
            tr(tehai.search(new Hai(Hai.Z[3])));
        }
     
        private function tr(...o:Array):void{
            tf.appendText(o + "\n");
            tf.scrollV = tf.maxScrollV;
        }

    }
}
//package jp.enecre.Mahjong {
class Tehai{
    private var _tehai:Vector.<Hai> = new Vector.<Hai>();
    public function get tehai():Vector.<Hai>{ return _tehai; }
    
    public function add(hai:Hai):void{
        _tehai.push(hai);
    }
    
    public function search(hai:Hai):Boolean{
        var length:int = _tehai.length;
        for(var i:int = 0; i < length; i++){
            if(Hai.equal(_tehai[i], hai))return true;
        }
        return false;
    }

}

class Hai{
    private var _hai:int;
    private var _aka:Boolean;
    
    function Hai(hai:int, aka:Boolean = false):void{
        _hai = hai;
        _aka = aka;
    }
    
    public static const M:Array = [ 0, 1, 2, 3, 4, 5, 6, 7, 8];
    public static const P:Array = [ 9,10,11,12,13,14,15,16,17];
    public static const S:Array = [18,19,20,21,22,23,24,25,26];
    public static const Z:Array = [27,28,29,30,31,32,33];
    
    public static function equal(hai1:Hai, hai2:Hai):Boolean{
        if(hai1._hai != hai2._hai)return false;
        if(hai1._aka != hai2._aka)return false;
        return true;
    }

}
//}