RPGツクール2000/スイッチ・変数【サイトトップへ戻る】 ■擬似乱数の作成 (更新:2020/06/28) 擬似乱数の作成方法を紹介します。 【「乱数」の基本説明のページを開く】
■通常の乱数と擬似乱数との違い 乱数とは指定された範囲内で、 コンピュータが自動的に変数の値を決定する処理の事を言います。 ▼設定例
上記の設定例の場合、変数[0001:乱数]には「0〜9」のいずれかの値が設定されます。 一方の擬似乱数は、何らかの計算処理で作られた乱数のように見える値の事を言います。 あくまで計算処理で作られた値なので、 その計算方法が分かれば、次に来る値が予測できます。 ただ擬似乱数は、次の値を予測する事ができる事が重要なのではなく、 何度実行しても同じ値になる事が重要になっています。 ▼通常の乱数と擬似乱数を比べた場合 初めてゲームをプレイした時の変数の値が…
▲トップへ戻る▲ ■擬似乱数の使い道 擬似乱数は何度実行しても同じ乱数の値にする必要がある場面で使用します。 例えばリプレイ機能を作る場合、通常の乱数を使用すると、 リプレイの時には異なる乱数の値になってしまうため、 正常なリプレイの再生が出来なくなります。 この問題を通常の乱数で解決させるためには、リプレイを保存する時に、 乱数で作成した全て値をリプレイデータに保存する必要があります。 しかし擬似乱数の場合は、乱数の値を作る設定が同じであれば、 リプレイデータに乱数の値を保存しなくても、リプレイを再生させる事ができます。 また乱数のようで実は乱数ではなかったと言った裏設定をあえて表示し、 プレイヤーの攻略に役立てるような使い方もできます。 例えば「4」の次は必ず「6」になる…と言った感じです。 ▲トップへ戻る▲ ■擬似乱数の作成:イベントの実行回数で変数の値を決める イベントを実行する度にイベントの実行回数をカウントし、 その実行回数に応じて次の乱数の値を決定します。 乱数のパターンが多いとその分条件分岐の設定も多くなりますが、 設定が単純なので比較的理解しやすい設定だと思います。 今回はイベントを実行する度に…
▲トップへ戻る▲ ■擬似乱数の作成:同じ値を加算し、剰余で乱数の値を切り出す 下記の設定例は、同じ値を加算 → 同じ値で剰余して、 変数[0002:擬似乱数]に「0〜9」の値を設定する内容になっています。
上記の設定を実行する度に変数[0002:擬似乱数]に…
変数「0001:元となる値]の値はゲーム開始時に「0」が設定されており、 初めから擬似乱数を作り直す場合は、 変数「0001:元となる値]の値を「0」に戻してください。 擬似乱数の処理を実行する前に…
この加算値や剰余値を変える事で、作られる乱数を変える事ができます。 但し「加算100」「剰余200」みたいな値にすると、 常に「0」の値しか作られなくなったり…
加算値や剰余値を変えた時には実際に動かしてみて、 乱数の作成パターンが単調になっていないかどうかを確認してください。 2桁(0〜99)の乱数を作る場合は…
★補足 今回の設定方法では、短い周期で同じ値のパターンがループされています。 設定によっては「0 → 3 → 6 → 0 → 3 → 6 → 0」などと、 3個の値だけがループする場合もあります。 設定例の「加算123」「剰余321」では107個の値でループします。
▲トップへ戻る▲ ■擬似乱数の作成:プレイヤーの操作から乱数(ランダム)を作る プレイヤーの操作(主人公の行動)で、その後の展開を変える設定方法です。 以下のマップでは、右から行っても左から行っても同じ距離になります。 ![]() このようなマップの左右それぞれにスイッチを操作するイベントを設定します。 ![]() あとはスイッチのON/OFFによって、その後の展開を変えていきます。 例えば、宝箱の中身を変えたり、次に移動するマップの位置を変えたり。 似たような設定としては、左のイベントを…
また調べても何も無いツボにスイッチONを設定すると、 初めてプレイする時にはツボを調べてスイッチがONになる可能性があり、 2回目にプレイした時にはツボを調べないでスルーする可能性があるので、 このスイッチON/OFFの違いから、 「スイッチOFF→難易度アップ」と言った設定も可能になります。 他には歩数をカウントして、それを乱数に転用する事もできます。 ▼歩数をカウントするイベント【設定の解説を見る】
別のマップへ移動した時には歩数が「0」に戻ります。 同じマップにいる時に歩数カウントを「0」にする時には…
▼歩数の一の位から変数の値(0〜9)を作成
このプレイヤーの操作から乱数(ランダム)を作るの良い点は、 プレイヤーに乱数(ランダム)が変わるタイミングが分かる点です。 つまり「攻略方法」としてこの設定を紹介すれば、 プレイヤーが攻略しやすい環境を作る事ができます。 ▲トップへ戻る▲ ■擬似乱数の作成:特定の数値から乱数を作る 本来は別の目的で用意されている数値を乱数に転用する方法です。 分かり易い例としては、所持金や主人公のHPなどです。 ▼所持金の一の位から変数の値(0〜9)を作成
▼主人公のHPの十の位から変数の値(0〜9)を作成
他にも、主人公のMP・レベル・攻撃力・経験値、パーティー人数、 特定のアイテムの所持数、タイマーの残り秒数、戦闘回数、勝利回数、 乗り物が置かれたX座標(Y座標)など、様々な数値を乱数に転用できます。 この方法もプレイヤーとしては分かり易いので、 「攻略方法」として提示すれば、攻略がしやすくなるでしょう。 ▲トップへ戻る▲ ◎関連ページ ●イベントコマンド:変数の操作 ●「変数」って何? ●「乱数」って何? |