我创建了三个数组,每个数组都有自己的问题集。每次比赛开始时,是否有可能将这三个数组洗牌?这样每次用户点击新游戏时,用户都必须回答不同的问题。
答案 0 :(得分:0)
参见例如:
第二个对Array.sort()
:
var arr:Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
function randomize (a:*, b:*):int
{
return (Math.random() > .5) ? 1 : -1;
}
trace(arr.sort(randomize));
答案 1 :(得分:0)
要对3个数组进行随机播放,您可以创建3个其他数组,用于保存随机值。
var arr1:Array = [1, 2, 3, 4, 5];
var sorted1:Array = new Array(arr1.length);
var arr2:Array = [1, 2, 3, 4, 5];
var sorted2:Array = new Array(arr2.length);
var arr3:Array = [1, 2, 3, 4, 5];
var sorted3:Array = new Array(arr3.length);
randomPos:Number = 0;
然后,您可以创建一个函数,该函数从一个数组中获取值并将其放入一个新的混洗数组中。
function shuffleArray(x, y){
for(var i:int = 0; i < y.length; i++){
randomPos = int(Math.random() * x.length);
y[i] = x.splice(randomPos, 1)[0];
}
}
然后你将在每组数组上调用suffleArray函数:
shuffleArray(arr1, sorted1);
shuffleArray(arr2, sorted2);
shuffleArray(arr3, sorted3);
我希望这会有所帮助。