No.1764 Re[3]:探索について |
> レアアイテムの件ですが
> ifで処理してみました。
> 勝手な想像すみません;;
>
> @itemlines = &opendat2($itmdat);
> foreach $item (@itemlines) {
> ($inm,$idt,$idc) = split(/<>/,$item);
> if ($rnd <= $idc) { push(@founditems,$item) }
> }
> $rnd = int(rand($#founditems + 1));
> ($inm,$idt,$idc) = split(/<>/,$founditems[$rnd]); .....
>
> 上の部分を調べたんですが、
> if ($rnd <= $idc) { push(@founditems,$item) }
> の部分がよく分かりません
> 何がおきたらどういう処理がされているかが分かりません。
>
> できれば細かくヒントを教えていただけないでしょうか?
> @itemlines = &opendat2($itmdat);
> foreach $item (@itemlines) {
> ($inm,$idt,$idc) = split(/<>/,$item);
> if ($rnd <= $idc) { push(@founditems,$item) } # 発見確率の設定値が乱数の値以上ならそのアイテムは発見可能として配列に追加する。
> }
ここまでで見付かる可能性のあるアイテムが@founditemsに格納されています。
> $rnd = int(rand($#founditems + 1)); # 発見可能アイテムの配列からランダムで1つインデックスを求める。
> ($inm,$idt,$idc) = split(/<>/,$founditems[$rnd]); .....
ここまでで$inmなどに発見したアイテムの情報が格納されています。
▼関連発言
│
└◆1760:探索について [パパート] 10/10 23:37
└◆1761:Re:探索について [moon] 10/11 21:18
└◆1762:Re[2]:探索について [パパート] 10/11 23:01
└◆1764:Re[3]:探索について [moon] 10/12 17:16
└◆1765:Re[4]:探索について [パパート] 10/12 19:06
└◆1766:Re[5]:探索について [moon] 10/12 21:29
└◆1767:Re[6]:探索について [パパート] 10/12 21:56
└◆1768:アイテム取得処理 [パパート] 10/13 19:55
└◆1769:Re:アイテム取得処理 [パパート] 10/13 20:17
└◆1770:Re[2]:アイテム取得処理 [パパート] 10/13 22:43
└◆1771:Re[3]:アイテム取得処理 [moon] 10/14 22:22
└◆1772:Re[4]:アイテム取得処理 [パパート] 10/14 23:07<-last
◇題名は、短くわかりやすく書いてください。 ◇過去に同じ内容が投稿されていないか検索してから書き込んで下さい。 ◇管理人の判断により相応しくない投稿は削除します。 |