Visual C# 2019 入門
13.ハイ&ローゲームを作ろう その6
今回は [ ハイ&ローゲームを作ろう その5 ] の続きです。
プログラムの要ともいえる条件分岐について説明します。
条件分岐とは
プログラムで処理の流れを変えるには、条件分岐が必要です。
もし ~ ならば ~ の処理をする
という感じにです。
いくつかの方法がありますが、まずは if 文を覚えましょう。
2種類のカッコを使うことに注意してください。( ) と { } です。
例を見てみましょう。
HIGH ボタンを押したときの処理に、条件分岐を2つ入れてみました。
button1_Click を変更します。
if ( kazu == 2 )
これは変数 kazu の内容が2かどうかを判断しています。
実行して確認してみましょう。
変数 kazu の内容が2と判断され「なぞの数は2でした」と表示されます。
これは初期処理(Form1_Load)の中で kazu = 2 と設定していたからです。
試しに kazu = 2 を kazu =7 に変更して実行してみましょう。
ラベルには「謎の数は7でした」と表示されます。
色々な条件式
条件式には色々あります。
条件式 | 例 | 備 考 |
---|---|---|
== | 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 の内容を変更してテストします。
それからここでは { } カッコを使っていません。
実行したいプログラムが1行の場合だけ省略することができます。
34 行目は OR 演算子を使っています。(あとで説明します)
大抵はキーボードの右上にあります。シフトキーを押しながら入力します。
ここで新しく Console.WriteLine を使っています。
これを使うと出力ウィンドウに表示することができます。
プログラムを実行したら、右下を見てください。
出力というタブがあるのでクリックします。
そして、HIGH ボタンを押して結果をみましょう。
今回の結果は、変数 kazu に2を代入して実行したものです。
下図にあるように3つの条件式に当てはまりました。
次は変数 kazu に4を代入して実行してみました。
4つの条件式に当てはまりましたね。
この他にも kazu に5や8を入れてテストしてみてください。
条件式はプログラムの要です。動作をしっかり理解しましょう。
1つ忘れていました。
複数の条件を一緒に判断することも可能です。
上の例(34行目)でも使っています。
If ( kazu == 4 || kazu == 8 )
この例では 4 または 8の場合という条件になります。
これはOR演算子といいます。
|| の他に && もあります。
If ( A == 3 && B == 7 )
この例では、変数 A が3であり、かつ、変数 Bが7の場合という条件になります。
これはAND演算子といいます。
複数の条件判断については、また別の機会にくわしく説明します。
if else のパターン
条件分岐でよく使われる書き方をもう一つ覚えましょう。
それは else を使ったものです。
この方法を使えば、条件が成立した場合と成立していない場合の両方を同時に書けます。
あたり・はずれを判断しよう
さて、条件分岐を覚えた所で、ゲームの核心となる あたり・はずれ の判断をプログラミングします。
まず、ルールのおさらいです。
・1から9までの中からランダムに1つ決める(プレイヤーに見せない)
・プレイヤーに「HIGH」ボタン、「Low」ボタンを押してもらう
・隠された数が5以上のとき「HIGH」なら あたり。「LOW」なら はずれ
・隠された数が4以下のとき「LOW」なら あたり。「HIGH」なら はずれ
このピンクの部分をプログラミングしてみましょう。
button1_Click と button2_Click の内容を変更します。
テストで書き込んだものは消しましょう。
隠された数として変数 kazu を条件式にしています。
kazu を 4 にして、正常に動作するかテストしてみます。
正常に動いてますね。
HIGH を押すと「はずれ」と表示されます。4は5以上ではないので正常です。
LOW を押すと「あたり」と表示されます。
4は4以下なので正常ですね。
変数 kazu = 8 でテストしてみて下さい。
HIGH を押したとき「あたり」であれば正常です。
LOW を押したときは「はずれ」となります。