Flashゲーム講座 & アクションスクリプトサンプル集



配列の中身をシャッフルする

 

サンプルをダウンロード
 


■配列の中身をシャッフルする

 
配列の中身をシャッフルします。
 
■シャッフルのアルゴリズム
 
まず、シャッフルしたいデータを用意して、配列の中に格納します。
 
配列の 0 番目に格納されたデータを取り出します。ランダムに選択した番地から中身を取り出します。 そして、お互いのデータを入れ替えます。 この入れ替え作業を配列の 0 番目から最後まで順番に繰り返します。
 
すべての番地に対して、何らかの入れ替えを試みることになるのでシャッフルされます。
 
シャッフルの動作例です。
 
例) 配列をシャッフル

var a = [0,1,2,3,4,5,6,7,8,9];

var num = a.length;	// 配列の数
var i;
for(i=0;i < num;i++){
	// ランダムな番地を取得
	var r = Math.floor(Math.random() * num);

	// i とランダムな番地の中身を入れ替え
	var t = a[r];
	a[r] = a[i];
	a[i] = t;
}