VisualBasic 2017 入門
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 を使っています。
これを使うと出力ウィンドウに表示することができます。
プログラムを実行したら、右下を見てください。
出力というタブがあるのでクリックします。
そして、HIGH ボタンを押して結果をみましょう。
今回の結果は、変数 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は4以下なので正常ですね。
変数 kazu = 8 でテストしてみて下さい。
HIGH を押したとき「あたり」であれば正常です。
LOW を押したときは「はずれ」となります。