ここでマスターしたいこと
- 乱数が何かを知ること
- 乱数を使えるようにすること
乱数とは
- サイコロのようなもの
- 出したい目の範囲は自由に設定できる
- シミュレーションやゲームによく利用する(RPGの戦闘など)
- ランダムともいう
サイコロを作ってみる
新しいプロジェクト(projSaikoroなど)を作成して、ボタンを押したら1~6の数値が表示されるプログラムを作成してみよう。
手順
- プロジェクトを作成する
- ボタンを1つ置く
- ボタンをダブルクリックする
- 乱数を使うために、Randomというクラスを用意する
- 定義する場所は、classの定義ブロックの中
- プログラムは以下の通り。Randomというクラスをrandという名前で利用できるようにしている
private Random rand = new Random();
- ボタンを押した時の処理で、1~6を生成
int saikoro = rand.Next(1,7);
- 生成した数値をMessageBoxで表示する
MessageBox.Show("" + saikoro);
確認問題
次の範囲を求める方法を検討してみよう
- 1 ~ 100
- -10 ~ 10
応用演習:ラベルをランダムな方向に動かす
ラベルの速度を乱数にすることで、起動するごとに違う方向に動くラベルを作ることができる。先に作成したマウスを追いかけるプロジェクトを読み込み、以下を追加してみよう。
作業手順
- Labelをもう一つ置く
- timer1をダブルクリックしてコードを開く
- 乱数を使えるようにrandを定義する。方法はサイコロの時と同じ
- Labelの移動速度を記録するためのint型の変数vxとvyを定義する
- randの定義の下に、以下を追加しよう
private int vx,vy;
vx = rand.Next(カッコの中の書き方は自分で考えてみよう);
-
- vyにも、-20~20の乱数を求める
vy = rand.Next(カッコの中の書き方は自分で考えてみよう);
- タイマーの処理で、以下を行う
- label2.Leftにvxを足す
- label2.Topにvyを足す
ヒント
必要な技術は以下の通り。
- 変数を定義する場所(変数の使い方の⑤の個所に変数を定義)
- コンストラクタの場所(プログラムを実行する順番)
- 乱数の求め方(この項)
- ラベルの動かし方(タイマーの使い方)