lotdrawer.jpg

ロト・ドロワーver.1

順番を決めるくじ引き用のフラッシュを作った。

今回の肝は配列にそれぞれユニークな乱数をぶち込むとこ。 乱数を生成するたびに格納される配列の全ての要素と比較して 等しい値が無ければ生成した乱数を追加。 これで配列内の値はそれぞれユニーク数となる。

あ、windowsの人はフルスクリーンになるかも。 escで逃げて下さい。closeボタン必要だな。

ソースはこんな感じ。

createNumArrayfor文の中で必要回数分繰り返し。objは独自クラスの代理なので、function createNumArray(i){・・・}とやって使うこともできます。このソース、1つのメソッドにできればMathクラスに追加して使えるんだけどなあ。

this.numArray = new Array();
for( var i=0; i < this.maxValue; i++ ){//maxValueは必要回数
   this.createNumArray(i);
}

ここからがメソッド

obj.createNumArray = function( i ){
  var randomNum = Math.floor( Math.random()*this.maxValue )+1;
  for( var j in this.numArray){
    this.checkNumArray( i,  j, randomNum);
    }
    this.numArray[ i ] = randomNum;
  }
}
obj.checkNumArray = function( i, j, randomNum ){
  if (randomNum == this.numArray[ j ] ){
    this.createNumArray( i );
  } else {
    break;
  }
}