ロト・ドロワーver.1
順番を決めるくじ引き用のフラッシュを作った。
今回の肝は配列にそれぞれユニークな乱数をぶち込むとこ。 乱数を生成するたびに格納される配列の全ての要素と比較して 等しい値が無ければ生成した乱数を追加。 これで配列内の値はそれぞれユニーク数となる。
あ、windowsの人はフルスクリーンになるかも。 escで逃げて下さい。closeボタン必要だな。
ソースはこんな感じ。
createNumArray
はfor
文の中で必要回数分繰り返し。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;
}
}