乱数の発生

乱数を利用してさいころを作る

この辺で、一息ついて乱数について学習してみましょう。 乱数とはコンピュータによってランダムに発生させられる数のことです。 乱数を使うことで、プログラムの動作に不規則性を与えることができます。 特にゲームプログラミングにおいては、ゲームに偶発性を盛り込み、面白くするために無くてはならないものです。

ここでは、乱数を利用することで、さいころプログラムを実現してみます。

Dice.java
import java.util.Random;

class Dice {
    public static void main(String[] args){
        Random rnd = new Random();

        System.out.println("さいころを振ります。");
        int num = rnd.nextInt(6);    //0から5までの乱数を発生
        num++;    //1から6までに変換
        System.out.println(num + "が出ました。");
    }
}
Diceの実行結果
さいころを振ります。
6が出ました。

まず、Randomクラスを利用するためのインポートです。 インポートはキーボードからの入力でも出てきましたね。

import java.util.Random;

そして、次の部分では、Randomクラスのインスタンスを生成して、変数rndに代入しています。

        Random rnd = new Random();

Randomクラスのインスタンスとは、乱数発生装置のようなものだと思ってください。

インポート、インスタンスについては、やはり後ほど解説しますので、今はあまり気にしないでください。

そして、いよいよ乱数を実際に発生させます。 rnd.nextInt(n) と記述すると、0以上n未満のランダムな整数値が得られます。 したがって、プログラム中の次の部分では、0以上6未満のランダムな整数値が生成され、それが変数numに代入されることになります。

        int num = rnd.nextInt(6);    //0から5までの乱数を発生

ご存知の通り、さいころの目は1から6までですから、numをインクリメントして、1以上7未満の数値に変換する必要があります。

        num++;    //1から6までに変換

いかがでしょう。 乱数を利用して何か面白いことができそうな気がしませんか。

Randomクラスのインスタンスを使うと、乱数を生成することができる。