■吉里吉里/KAG/TJS雑談質問スレ■その15at GAMEDEV■吉里吉里/KAG/TJS雑談質問スレ■その15 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト70:名前は開発中のものです。 08/07/30 13:20:14 48LQTP+F 自分とこで使ってる関数 minが最低値、maxが最高値、numberが数値を取る回数で minからmaxまでの連番の値の中からnumber回値を取得、結果は配列で返ってくる // 重複の無い複数の値をランダムで取る function random_nums(min = 0, max, number) { var rndnum = []; var resultnum = []; var tmp = 0; for (var i=0; min+i<=max; i++) { rndnum[i] = min + i; } for (var j=0; j<number; j++) { tmp = intrandom(0, rndnum.count-1); resultnum[j] = rndnum[tmp]; rndnum.erase(tmp); } return resultnum; } 71:名前は開発中のものです。 08/07/30 18:25:04 V+0eXBMW パフォーマンス悪いな。どうでも良い程度だが 72:名前は開発中のものです。 08/07/30 20:40:41 7cKTQNo/ // 初期化 var max = 100; var size = max-1; // 配列上の有効な最後の要素の添え字 var array = []; for(var i = max; i; i--) array[i-1] = i; // 取り出す(これを繰り返す) var i = intrandom(0, size); array[i] <-> array[size]; var result = array[size--]; こんな感じとか? テストしてないけど アルゴリズム的で使うときは手を加えないかんけど 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch