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

Bingo

クリックで数字が出ます
Get Adobe Flash player
by mr_elephant 22 Dec 2010
    Embed
package
{
    import flash.text.TextField;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    public class Bingo extends Sprite
    {
        private const NUM_MAX:Number = 75;
        private var _numbers:Array = [];
        private var _selectedNumbers:Array = [];
        private var _txtFld:TextField;
        
        public function Bingo()
        {
            setNumberAsset();
            setTextField();
            stage.addEventListener(MouseEvent.CLICK,clickHandler);
        }
        
        private function setTextField():void
        {
            _txtFld = new TextField();
            _txtFld.width = stage.stageWidth;
            _txtFld.height = stage.stageHeight;
            _txtFld.multiline = true;
            _txtFld.wordWrap = true;
            addChild(_txtFld);
        }

        
        private function clickHandler(event:MouseEvent):void
        {
            selectNumbers();
        }


        private function setNumberAsset():void
        {
            for (var i:int = 0; i < NUM_MAX; i++) {
                _numbers.push(i + 1);
            }           
        }
        
        private function selectNumbers():void
        {
            var check:Boolean = false;
            while (!check) {
                check = checkNumber();
            }
            removeChild(_txtFld);
            setTextField();
            _txtFld.text = String(_selectedNumbers);           
        }
        
        private function checkNumber():Boolean
        {
            var nMax:Number = 75; 
            var nMin:Number = 1; 
            var check:Boolean;
            var selectNum:int = Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;
            //元データがなかったら何もしない。
            if (_numbers.length == 0) return true;
            
            
            for (var i:int = 0; i < _numbers.length; i++) {
             
                if (_numbers[i] == selectNum) {
                    _numbers.splice(_numbers.indexOf(selectNum),1);
                    _selectedNumbers.push(selectNum);
                    return true;
                }else {
                    check = false;
                }
            }
            return check;
            
        }
    }
}