[過去ログ] 【ゲームで、この処理ってどーやってんの?】 (125レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
34: 名前は開発中のものです。 [sage] 2018/05/31(木) 21:24:38.84 ID:afJ9Cg6n(1) AAS
>>29
ごめん、言葉だけだとよくわからん。
もし29に書いてあるようなことを俺がやるとすると、こんな感じかなぁ。。。
(C#失礼)
static T SelectByRandom<T>(Dictionary<T, int> dic) {
//荷重合計までの乱数を発生
int n = MyRandom(dic.Sum(x => x.Value));
//乱数に応じたオブジェクト選択
foreach(var kv in dic) {
if ((n -= kv.Value) < 0) {
//選択
return kv.Key;
}
}
throw new Exception();//エラー
}
実際はDictionary使わないし、関数化もしないけど、とりあえずイメージで。
ループ回して乱数値に応じた選択をするのが、俺的に定番。
コンパイラ通してないのでエラーでるかもw
呼び出し方はこんな感じ
//準備
var weightDic = new Dictionary<MyClass, int>();
weightDic[objA] = 30;//30の確率でobjAを選択
weightDic[objB] = 90;//90の確率でobjBを選択
weightDic[objC] = 40;//40の確率でobjCを選択
//選択そして実行
var selectedObject = SelectByRandom<MyClass>(weightDic);
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s