SRC質問掲示板Mk2
(現在 過去ログ53 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■10155 / inTopicNo.1)  アイテムなどのランダム作成はできますか?
  
□投稿者/ こうさぎ工房 -(2003/09/03(Wed) 17:48:48)
    昔のWS版のように、

    いくつかあるアイテムの中からランダムに選んだものをプレイヤーに渡す

    というような事はできますか?

    例:リペアキットとプロペラントタンクを合計5個渡す
    (どちらが幾つ手に入るかはその時々で違う)

    乱数を発生させるコマンドがなかったようなので、やはり無理でしょうか?
引用返信/返信 削除キー/
■10156 / inTopicNo.2)  Re[1]: アイテムなどのランダム作成はできますか?
□投稿者/ 一生十八 -(2003/09/03(Wed) 17:58:20)
    どうも。一生十八(いつき とおや)と申します。

    Random関数を使えば乱数を発生させられるので、可能かと。
    ってことで即興で作ってみました。

    X = Random(5)
    For i = 1 to X
    Item リペアキット
    Next
    For i = 1 to (5 - X)
    Item プロペラントタンク
    Next

    動作確認してませんが、恐らくこんな感じでOKかと。
引用返信/返信 削除キー/
■10157 / inTopicNo.3)  Re[2]: アイテムなどのランダム作成はできますか?
□投稿者/ 乱数が無くとも -(2003/09/03(Wed) 19:15:04)
    乱数を吐く関数はあるが、無くても自力でテーブルを書き出せば可能。
    微妙にランダムではないが、それは関数でも同じ事。
引用返信/返信 削除キー/
■10177 / inTopicNo.4)  Re: 乱数は無くとも
□投稿者/ 分裂夢 -(2003/09/04(Thu) 00:15:18)
    > 乱数を吐く関数はあるが、無くても自力でテーブルを書き出せば可能。
    > 微妙にランダムではないが、それは関数でも同じ事。

     市民、この説明で初心者に理解を要求するのは少々酷ではないかと。

     Random関数を使わない疑似ランダム選択は確かに可能です。
     本来はスロットマシンなどの傾向を予測される事を前提とする手法であって、今回のように予測不可能な方が都合の良い場合には適していないのですが、一応やり方だけ挙げておきます。

       *プロローグ:
       Global 入手アイテムパターン進行度
       clearEvent
       exit

       ランダムアイテム入手:
       入手アイテム候補 = list(プロペラントタンク, ブースター, リペアキット)
       incr 入手アイテムパターン進行度
       if アイテム入手パターン進行度 > Llength(入手アイテム候補) then
          入手アイテムパターン進行度 = 1
       endif
       item Lindex(入手アイテム候補, アイテム入手パターン進行度)
       return

     と書き込んだ上で、アイテムを入手させたい時に

       call ランダムアイテム入手
     
     を何度も実行すると、プロペラントタンク、ブースター、リペアキットの順番で入手するアイテムが変わります(多分)。
     で、"入手アイテム候補"変数をやたら長ったらしくして、同じアイテムを何度も書き込んだりしておくとランダムに近くなるという寸法です。
     繰り返しますが、この手法の主眼はパターンを予測可能にする事にあって、単純なランダム選択を目的とする場合は非効率を極めます。
引用返信/返信 削除キー/
■10185 / inTopicNo.5)  試してみます。
□投稿者/ こうさぎ工房 -(2003/09/05(Fri) 13:22:43)
    一生十八さま、乱数が無くともさま、分裂夢さま、ご教授ありがとうございます。
    とりあえず一生十八さまの教えに従い、シナリオに組み込んで試してみます。
    また何かありましたらよろしくお願いいたします。
引用返信/返信 削除キー/
■10186 / inTopicNo.6)  作動しました。
□投稿者/ こうさぎ工房 -(2003/09/05(Fri) 13:35:24)
    テストシナリオ上では動きました。
    これからシナリオにあわせて多少複雑化していくつもりです。ありがとうございます。
    上のレスで解決済みにし忘れたこと、すみませんでした。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -