VisualBasic 2015 入門
13.ハイ&ローゲームを作ろう その6
今回は [ ハイ&ローゲームを作ろう その5 ] の続きです。
プログラムの要ともいえる条件判断について説明します。
条件判断とは
プログラムで処理の流れを変えるには、条件判断が必要です。
もし ~ ならば ~ の処理をする
という感じにです。
プログラムでは If Then End If を使うことになります。
If Then を使った例を見てみましょう。
HIGH ボタンを押したときの処理に、条件判断を2つ入れてみました。
If kazu = 2 Then
これは変数 kazu の内容が2かどうかを判断しています。
実行して確認してみましょう。
変数 kazu の内容が2と判断され「謎の数は2でした」が表示されました。
これは起動時の初期処理(Form1_Load)の中で kazu = 2 と設定していたからです。
試しに kazu = 2 を kazu =7 に変更して実行してみましょう。
ラベルには「謎の数は7でした」と表示されます。
条件式と代入
初心者がよく混乱するのは、条件式と代入の =(イコール)です。
条件式で = が使われても変数の内容は変化しないのです。
If Then で使われる条件式は代入と同じに見えますが、違うものとして覚えてください。
色々な条件式
条件式には色々あります。
条件式 | 例 | 備 考 |
---|---|---|
= | A = B | A と B が等しいとき |
<> | A <> B | A と B が等しくないとき |
> | A > B | A が B よりも大きいとき |
>= | A >= B | A が B 以上のとき |
< | A < B | A が B よりも小さいとき |
<= | A <= B | A が B 以下のとき |
~よりと~以上の使い方に注意してください。
3より大きいという場合、3を含みませんが
3以上という場合は3を含みます。
実際にプログラミングして動作を確認してみましょう。
Button1_Click の中を変更して実験します。
ここで新しく Console.WriteLine を使っています。
これを使うと出力ウィンドウに表示することができます。
変数 kazu に2を代入して実行してみました。
3つの条件式に当てはまりました。
変数 kazu に4を代入して実行してみました。
4つの条件式に当てはまりましたね。
この他にも kazu に5や8を入れてテストしてみて下さい。
条件式はプログラムの要です。動作をしっかり理解しましょう。
1つ忘れていました。
複数の条件を一緒に判断することも可能です。
上の例でも使っています。
If kazu = 4 Or kazu = 8 Then
この例では、4または8の場合という条件になります。
Or の他に And もあります。
If A = 3 And B = 7 Then
この例では、変数 A が3であり、かつ、変数 Bが7の場合という条件になります。
複数の条件判断については、また別の機会にくわしく説明します。
If Then Else とは
条件判断でよく使われる書き方をもう一つ覚えましょう。
それは Else を使ったものです。
この方法では、条件が合致した場合と合致しない場合の両方を同時に書けます。
当たり・はずれを判断する
さて、条件判断を覚えた所で、ゲームの核心となる当たり、はずれの判断を
プログラミングします。
まず、ルールのおさらいです。
・1から9までの中からランダムに1つ決める(プレイヤーに見せない)
・プレイヤーに「HIGH」ボタン、「Low」ボタンを押してもらう
・隠された数が5以上のとき「HIGH」なら当たり。「LOW」ならはずれ
・隠された数が4以下のとき「LOW」なら当たり。「HIGH」ならはずれ
このピンクの部分をプログラミングしてみましょう。
変数 kazu を隠された数として条件式にしています。
正常に動作するかテストしてみます。
変数 kazu = 4 でテストしました。
HIGH を押すと「はずれ」と表示されます。4は5以上ではないので正常に動いてます。
LOW を押すと「当たり」と表示されます。
4は5よりも小さいので正常ですね。
変数 kazu = 8 でテストしてみて下さい。
HIGH を押したとき「当たり」であれば正常です。
LOW を押したときは「はずれ」となります。