なんか作って載せます

乱数は、ゲーム性を上げるという点で欠かせない要素です。

乱数について【EV】



 乱数っていうのは簡単に言えば、毎回変わる数値のことです。

 例えて言えば「サイコロ」。あれは、振って出る目は完全にランダムですよね。1〜6の目が、それぞれ6分の1の確率で出ます。
 何が出るか分からない、決まっていない数値、それが乱数です。
 そんなふうに覚えておけば大丈夫だと思います。

 乱数を用いることによって、それだけでゲームの楽しみを増やせます。
 例えば、上に挙げたように、サイコロを振って出た目の数で何かするゲームを作ったり、くじ引きを作ったりもできるし、クイズだったら乱数によって毎回違う問題が出るとか、とにかく使い方は様々です。


 ウディタでも、そんな乱数を扱えます。

 例えば、こんな内容のイベントを作ったとします。
イベント内容

 まず、セルフ変数0番に、「0〜2」のいずれかの数値が代入されます。0、1、2のいずれかです。
 そして、その数値によって、下の条件分岐のいずれかを通ります。例えば、セルフ0が0なら、「おはようございます。」というメッセージが表示されます。

 しかし、実はこれだけでは乱数イベントとしては不十分なんですね。
 仕様なのかどうかわかりませんけど、このままでは「ロードするたびに同じ結果がもたらされてしまう」んです。

 どういうことかというと、例えばロード後、このイベントで「おはようございます。」と表示されたとします。
 そして、そこでセーブせずにリセットして、もう一度ロードして同じイベントを起動させます。
 すると、また「おはようございます。」と表示されるんですよ。これは、何度ロードしても全く同じです。
 乱数が固定化されてしまっているんですね。

 この問題を解決するためには、こうします。というか、私はこうしてます。
乱数固定化解決法

 基本システムをそのまま使っているなら、いくつか「並列実行(常時)」のコモンイベントがあるはずです。
 いや、別に自分で作ってもいいんですが、その「並列実行(常時)」のコモンイベントの最初(常に処理される箇所ならどこでもいいはず)に、このように別の乱数をかませておきます。
 そうすれば、乱数が固定化されることがなくなります。

 ほかにも方法はあるようですが、私はこれを使ってます。


 今回はこれで終わります。


2012/05/06/Sun 更新
2013/09/07/Sat 内容修正

inserted by FC2 system