RPGツクール2000/スイッチ・変数【サイトトップへ戻る】 ■複数の変数へ重ならない乱数の値を設定する (更新:2020/06/28)
■重ならない乱数とは? 複数の変数番号へまとめて乱数の値を設定する場合…
しかしこの設定では…
このページでは、他の変数と値が重ならないようにする乱数の設定方法を紹介します。 ▲トップへ戻る▲ ■2つの変数の値を重ならないようにする 変数0001番と変数0002番に「5〜20」の乱数の設定を行います。 変数0001番と変数0002番の値は重ならないようにします。
▲トップへ戻る▲ ■4つの変数の値を重ならないようにする 変数0001番〜変数0004番に「5〜20」の乱数の設定を行います。 変数0001番〜変数0004番の値は重ならないようにします。
▲トップへ戻る▲ ■1〜10の値を重ならないように設定する 10個の変数に1〜10の値を設定する時に、 10個の変数の値同士が重ならないように設定する時の設定例です。 このイベントの処理は、 イベントコマンド:変数の操作の変数〜の番号の変数を使っている関係で、 かなり複雑な処理構造になっていますが、 上記の■4つの変数の値を重ならないようにするとは異なり、 値が重なったら乱数の設定をやり直すと言った処理がありませんので、 10個の変数に効率良く「1〜10」の値を割り振る事ができます。 応用次第では「1〜50」「1〜100」なども設定できます。 ※構造上、連番の数字を設定する処理になっています。 使用する変数は以下の通りです。
変数の操作の設定には、「V」が付いている物と付いていない物がありますので、 注意して設定してください。
■処理構造の解説 処理はまずラベル1の所で変数201〜210番に値を設定します。 設定する値は実際に1〜10の値を設定する変数の番号(101〜110)です。 ▼変数201番から順番に「101、102、103…」と設定していく
ラベル2からの下の処理で最初の「1〜10」の「1」を設定する変数番号を決定します。
変数[0001:乱数]の値は「0〜9」になります。 更に、
この変数[0001:乱数]の値が変数201〜210番を呼び出す変数番号になります。 仮に変数[0001:乱数]の値が「203」の場合は、 変数203番の値…つまり「103」が呼び出されます。 この呼び出された「103」の変数番号(変数103番)に初めの「1」の値を設定します。
条件分岐の中のラベル3の所では、使用した201〜210番の情報を削除して、 使用した変数番号の後に記憶された情報を1つずつ前の変数に移動する処理を行います。 先ほどは変数203番を使用したので…
ラベル3の処理が終わったら…
ラベル2からの下の処理では、次の「1〜10」の「2」を設定する変数番号を決定します。
変数[0001:乱数]の値は「0〜8」になります。 更に…
この変数[0001:乱数]の値が変数201〜209番を呼び出す変数番号になります。 今度の変数[0001:乱数]の値が「205」の場合は、 変数205番の値…つまり「106」が呼び出されます。 この呼び出された「106」の変数番号(変数106番)に「2」の値を設定します。
ラベル3で再び使用した201〜210番の情報を削除して、 使用した変数番号の後に記憶された情報を1つずつ前の変数に移動する処理を行います。
ラベル3の処理が終わったら…
▲トップへ戻る▲ ◎関連ページ ●「変数」って何? ●「乱数」って何? ●「剰余」って何? ●イベントコマンド:変数の操作 ┗○変数〜の番号の変数 |