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