JavaScript | 基礎構文:数値・演算 – 乱数

JavaScript JavaScript
スポンサーリンク

乱数とは何か

乱数とは「予測できない数値」をプログラムで作り出す仕組みです。サイコロを振ったり、くじ引きをしたりするような「ランダムな結果」をコンピュータで再現するために使います。JavaScriptでは Math.random() を使うことで乱数を生成できます。


基本の使い方

Math.random()0以上1未満の小数 を返します。
つまり、0.0 から 0.999… の範囲でランダムな値が出てきます。

console.log(Math.random()); // 例: 0.372...
console.log(Math.random()); // 例: 0.918...
JavaScript

毎回違う値が出るので、予測できません。


整数の乱数を作る方法

0から指定した数までの整数

Math.random() に数を掛けて Math.floor() で切り捨てると、整数の乱数が作れます。

const randN = (n) => Math.floor(Math.random() * n);
console.log(randN(6)); // 0〜5 の整数
JavaScript

特定の範囲の整数

aからbまでの整数を作りたいときは次のようにします。

const randInt = (a, b) => Math.floor(Math.random() * (b - a + 1)) + a;
console.log(randInt(10, 15)); // 10〜15 の整数
JavaScript

応用例

サイコロを振る

const dice = Math.floor(Math.random() * 6) + 1;
console.log(dice); // 1〜6 の整数
JavaScript

配列からランダムに選ぶ

const colors = ["red", "green", "blue"];
const pick = colors[Math.floor(Math.random() * colors.length)];
console.log(pick); // "red" または "green" または "blue"
JavaScript

くじ引き(当たり確率を設定)

const lottery = () => Math.random() < 0.1 ? "当たり" : "はずれ";
console.log(lottery()); // 10%の確率で「当たり」
JavaScript

注意点

乱数は完全にランダムではない

Math.random() は「疑似乱数」と呼ばれるもので、見た目はランダムですが内部では計算式に基づいています。ゲームや簡単な抽選には十分ですが、暗号やセキュリティ用途には専用の仕組みが必要です。

範囲指定の計算に注意

整数乱数を作るときに「+1」を忘れると、上限の値が含まれなくなります。例えばサイコロなら Math.floor(Math.random() * 6) + 1 と書かないと 1〜6 になりません。


まとめ

  • Math.random() は 0以上1未満の乱数を返す。
  • 整数の乱数は Math.floor(Math.random() * n) で作れる。
  • 範囲指定は (b - a + 1) を掛けてから + a
  • サイコロ、くじ引き、ランダム選択などに応用できる。

乱数を使えるようになると、ゲームやシミュレーションなど「予測できない動き」をプログラムに取り入れられるようになります。

タイトルとURLをコピーしました