分布

by cpu_t
4:3:2:1の確率でそれぞれの値を選ぶ
♥0 | Line 41 | Modified 2011-04-25 15:41:04 | MIT License
play

ActionScript3 source code

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

package {
    import flash.text.TextField;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var LOOP_NUM:Number = 10000;
        
        public function FlashTest() {
            // write as3 code here..
            
            var nums:Array = [4,3,2,1];
            
            var results:Object = [];
            for(var i:int = 0; i < nums.length; i++)
            {
                results[nums[i]] = 0;
            }
            
            while(LOOP_NUM--)
                results[test(nums)]++;
            
            
            var tf:TextField=new TextField();
            addChild(tf);
            tf.autoSize="left";
            tf.multiline=true;
            
            for(var s:String in results)
            {
                tf.appendText(s + ":" + results[s] + "\n");
            }
            

        }
        private function test(nums:Array):Number
        {
            nums = nums.concat();
            
            var sum:Number = 0;
            for(var i:int = 0; i < nums.length; i++)
            {
                sum += nums[i];
            }
            
            var rnd:Number = Math.random() * sum;
            
            while(rnd > 0)
            {
                var result:Number = nums.pop();
                rnd -= result;
            }
            
            return result;
        }
    }
}