[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]

{CommentAuthor} [{CommentTime}]  
{CommentContent}