コードの型
最小値と最大値を指定して、その中から適当な数字を返してもらいます。
C#
// 1. 整数をランダムに決める(0, 1, 2, 3, 4 のどれか)
int randomInt = Random.Range(0, 5);
// 2. 小数をランダムに決める(0.0 〜 10.0 のどれか)
float randomFloat = Random.Range(0.0f, 10.0f);
コードの仕組み
Random.Range は、プログラムに「くじ引き」をさせるような命令です。
- 「整数」と「小数」でルールが違う(重要!):
- 整数(int)の場合: 最小値は「含む」が、最大値は「含まない」。
Random.Range(0, 5)は、0, 1, 2, 3, 4 のどれかが選ばれます(5は絶対に出ません)。
- 小数(float)の場合: 最小値も最大値も「両方とも含む」。
Random.Range(0.0f, 1.0f)は、0.0から1.0の間にあるすべての値が選ばれます。
- 整数(int)の場合: 最小値は「含む」が、最大値は「含まない」。
活用例(ゲームでのランダム要素)
敵の出現位置をバラけさせたり、アイテムを落とす確率を決めたりするのに必須です。
C#
void SpawnEnemy()
{
// 画面の左端(-5)から右端(5)の間のどこかに出現させる
float randomX = Random.Range(-5.0f, 5.0f);
// 生成を実行
Instantiate(enemyPrefab, new Vector3(randomX, 5, 0), Quaternion.identity);
}
その他(重要ポイント)
- なぜ最大値を含まないの?: C#の歴史的な仕様です。「個数を指定する」という感覚(0から5までの5個の数字)だと覚えれば分かりやすいですよ。
- 同じ数字が出ることも: 何度も実行すれば、たまたま同じ数字が連続で出ることもあります。それが「ランダム」というものです。
- シード値: 基本的には自動で毎回違う結果になりますが、もし「毎回同じランダムパターンにしたい(テスト用など)」場合は、
Random.InitState()を使うこともあります。
初心者向けまとめ
Random.Range は、「コンピューターにサイコロを振らせる」ための命令です。
- 「敵の出現場所を毎回変えたい」
- 「コインを落とす確率を決めたい」
- 「クリティカルヒットの判定をしたい」

コメント