私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

No.1764  Re[3]:探索について
発言者: moon
発言日: 2009 10/12 17:16
> レアアイテムの件ですが
> 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

  返信フォーム [引用]
名 前 保存
題 名
発 言
PASSWORD
投稿確認必ずチェックを入れてください。こちらにはチェックを入れないでください。
書き込む
◇題名は、短くわかりやすく書いてください。
◇過去に同じ内容が投稿されていないか検索してから書き込んで下さい。
◇管理人の判断により相応しくない投稿は削除します。

Pass 保存


CGIROOM