
5〜10のように、指定した範囲からランダムな数値を取得するスクリプトはあるの?

あるぞ。Math.randomInt() を使えば、
最小値と最大値を指定して、
範囲内の整数をランダムに取得できるぞ。
RPGツクールMVでは、スクリプトを使用することで、指定した範囲からランダムな数値を取得できます。
この記事では、1〜10や5〜15など、指定した範囲内の整数を取得する方法を解説します。
1. 指定した範囲からランダムな数値を取得する
最小値と最大値を指定して乱数を取得する場合は、次の書き方を使用します。
Math.randomInt(最大値 - 最小値 + 1) + 最小値;
この式では、指定した最小値から最大値までの整数をランダムに取得できます。
例えば、1〜10の整数を取得する場合は、次のように記述します。
Math.randomInt(10 - 1 + 1) + 1;
これを整理すると、次のようになります。
Math.randomInt(10) + 1;
このスクリプトでは、1〜10のいずれかの整数を取得できます。
取得した数値をゲーム変数に代入する
取得した乱数を変数10に代入する場合は、次のように記述します。
$gameVariables.setValue(10, Math.randomInt(10) + 1);
このスクリプトを実行すると、変数10に1〜10のいずれかの整数が代入されます。
2. 5〜15など、別の範囲を指定する
取得したい範囲に合わせて、最小値と最大値を変更することもできます。
例えば、5〜15の整数を取得する場合は、次のように記述します。
$gameVariables.setValue(10, Math.randomInt(15 - 5 + 1) + 5);
このスクリプトでは、変数10に5〜15のいずれかの整数が代入されます。
範囲ごとの書き方をまとめると、次のとおりです。
| 取得したい範囲 | スクリプト |
|---|---|
| 1〜10 | Math.randomInt(10) + 1 |
| 5〜15 | Math.randomInt(11) + 5 |
| 10〜20 | Math.randomInt(11) + 10 |
| 1〜100 | Math.randomInt(100) + 1 |
| -5〜5 | Math.randomInt(11) - 5 |
最小値と最大値を指定することで、さまざまな範囲の乱数を取得できます。
3. ゲーム変数で指定した範囲から乱数を取得する
最小値と最大値をゲーム変数で管理することもできます。
例えば、次のように変数を使用します。
- 変数10:最小値
- 変数11:最大値
- 変数12:取得した乱数
変数10に5、変数11に15が代入されている場合、次のスクリプトを使用します。
$gameVariables.setValue(
12,
Math.randomInt(
$gameVariables.value(11) -
$gameVariables.value(10) + 1
) + $gameVariables.value(10)
);
このスクリプトでは、変数10の値から変数11の値までの整数をランダムに取得し、その結果を変数12に代入します。
例えば、変数10が5、変数11が15の場合、変数12には5〜15のいずれかの整数が代入されます。
最小値や最大値をゲーム中に変更すれば、それに合わせて取得する乱数の範囲も変更できます。
4. 使用する際の注意点
指定した範囲から乱数を取得する場合は、次の点に注意してください。
Math.randomInt()では、指定した数値そのものは取得範囲に含まれません。- 最大値も取得できるようにするには、
最大値 - 最小値 + 1と指定します。 - 今回紹介した方法で取得できるのは整数です。
- ゲーム変数で範囲を指定する場合は、最小値が最大値を超えないようにしてください。
以上が、指定した範囲からランダムな数値を取得する方法です。
ダメージや回復量に幅を持たせたい場合や、ランダムなイベントを発生させたい場合などに活用できます。

コメント