⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 randomizer.as

📁 FLASH 个人主页代码
💻 AS
字号:
/**
* Pick random indexes out of an array, without having the same index picked multiple times.
*
* @example 
* import com.jeroenwijering.utils.Randomizer;
* var myRandomizer = new Randomizer(myArray);
* var myRandomIndex = myRandomizer.pick();
* 
* @author	Jeroen Wijering
* @version	1.1
**/


class com.jeroenwijering.utils.Randomizer {


	/** a reference of the original array **/
	private var originalArray:Array;
	/** a copy of the original array **/
	private var bufferArray:Array;


	/**
	 * Constructor.
	 *
	 * @param  arr the array to pick random items from
	 */
	public function Randomizer(arr:Array) {
		originalArray = arr;
		bufferArray = new Array();
	};


	/**
	* Randomly pick an index from the array given.
	*
	* @return     The index that is randomly picked.
	**/
	public function pick():Number {
		if(bufferArray.length == 0) {
			for(var k=0; k<originalArray.length; k++) {
				bufferArray.push(k);
			}
		}
		var ran:Number = random(bufferArray.length);
		var idx:Number = bufferArray[ran];
		bufferArray.splice(ran,1);
		return idx;
	};


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -