[AS2.0]双色球摇奖类
/** * 标题: 双色球摇奖类 * 版权: Copyright (c) 2005 * 作者: 棉花糖 * 版本: 1.0 * 时间: 2005.08.09 */ class dColorBall { //======================================== //创建数组 private var mRedArray:Array, mBlueArray:Array; private var mRedBall:Array, mBlueBall:Array; //======================================== //构造函数 public function dColorBall($redArray:Number, $redBall:Number, $blueArray:Number, $blueBall:Number) { //======================================== //定义数组长度 mRedArray = new Array($redArray); mRedBall = new Array($redBall); mBlueArray = new Array($blueArray); mBlueBall = new Array($blueBall); //======================================== //填充数组 ArrayFill(mRedArray); ArrayFill(mBlueArray); //======================================== //随机抽取 ArrayChoose(mRedArray, mRedBall); ArrayChoose(mBlueArray, mBlueBall); } //======================================== //该方法用来填充数组 private function ArrayFill($myArray:Array):Void { for (var i = 0; i < $myArray.length; i++) { $myArray[i] = i + 1; } } //======================================== //该方法用来随机抽取数组,并且避免重复 private function ArrayChoose($oldArray:Array, $newArray:Array):Void { var $max:Number = $oldArray.length; var $min:Number = $newArray.length; for (var i = 0; i < $min; i++) { var num:Number = random($max); $newArray[i] = $oldArray[num]; $oldArray.splice(num, 1); $max--; } } //======================================== //红色球数组隐式获取方法 public function get RedBall():Array { return mRedBall; } //======================================== //蓝色球数组隐式获取方法 public function get BlueBall():Array { return mBlueBall; } }
使用如下
import dColorBall; //======================================== //初始化方法 function init() { //======================================== //创建对象 var my:dColorBall = new dColorBall(46, 6, 15, 1); //======================================== //排序 my.RedBall.NumSort(); my.BlueBall.NumSort(); //======================================== //输出 trace(my.RedBall + "+(" + my.BlueBall + ")"); } //======================================== //test onMouseDown = init; //======================================== //扩展Array类的排序方法;冒泡算法 Array.prototype.NumSort = function() { var tmp:Number; var $length:Number = this.length; for (var i = 0; i < $length - 1; i++) { for (var j = 0; j < $length - i - 1; j++) { if (this[j] > this[j + 1]) { tmp = this[j]; this[j] = this[j + 1]; this[j + 1] = tmp; } } } };
[2005-8-27 17:49]