So-net無料ブログ作成
検索選択

JavaScript 乱数設定関数 [JavaScript]

例えば、JavaScriptを使って3枚の画像をランダムに表示したい場合、こんな感じで書くでしょう。
var rndImg = new Array();
rndImg[0] =  "../images/rnd0.jpg";
rndImg[1] =  "../images/rnd1.jpg";
rndImg[2] =  "../images/rnd2.jpg";
var rndNum = Math.floor(Math.random()*rndImg.length);
document.write('<img src="' + rndImg[rndNum] + '" width="100" height="100"');

では、3枚の画像の出現確率を操作したい場合は?
こんな関数を使って乱数をセットしたらどうかな。
function setRndNum(rndAr){
 var rndLength = rndAr.length;
 var rndTotal = 0;
 for (var i = 0; i < rndLength; i++) rndTotal += rndAr[i];
 var rndDef = Math.floor(Math.random() * rndTotal) + 1;
 var rndSubtotal = 0;
 for (var j = 0; j < rndLength; j++){
  rndSubtotal += rndAr[j];
  if (rndDef <= rndSubtotal){
   return j;
   break;
  }
 }
}

var rndImg = new Array();
rndImg[0] =  "../images/rnd0.jpg";
rndImg[1] =  "../images/rnd1.jpg";
rndImg[2] =  "../images/rnd2.jpg";
var rndProb = new Array(5, 3, 2); //ここで出現確率を設定
var rndNum = setRndNum(rndProb);
document.write('<img src="' + rndImg[rndNum] + '" width="100" height="100"');


ブログ開始

ひとまずはじめてみる。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。