初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Visual C# 2017 入門

13.ハイ&ローゲームを作ろう その6

 

今回は [ ハイ&ローゲームを作ろう その5 ] の続きです。

プログラムの要ともいえる条件分岐について説明します。

 

 

条件分岐とは

プログラムで処理の流れを変えるには、条件分岐が必要です。
もし ~ ならば ~ の処理をする
という感じにです。

いくつかの方法がありますが、まずは if 文を覚えましょう。
2種類のカッコを使うことに注意してください。( ) と { } です。

 

vb if then

 

 

例を見てみましょう。
HIGH ボタンを押したときの処理に、条件分岐を2つ入れてみました。

If ( kazu == 2 )
これは変数 kazu の内容が2かどうかを判断しています。


vb 条件文の例

 

 

実行して確認してみましょう。

 

vb 条件判断のしかた

 

 

変数 kazu の内容が2と判断され「謎の数は2でした」と表示されます。
これは初期処理(Form1_Load)の中で kazu = 2 と設定していたからです。

 

vb 初期設定

 

試しに 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行の場合だけ省略することができます。

 

vb 条件式の色々

 

35 行目は OR 演算子を使っています。(あとで説明します)
大抵はキーボードの右上にあります。シフトキーを押しながら入力します。

 

or 演算子

 

 

ここで新しく Console.WriteLine を使っています。
これを使うと出力ウィンドウに表示することができます。
プログラムを実行したら、右下を見てください。
出力というタブがあるのでクリックします。
そして、HIGH ボタンを押して結果をみましょう。

 

vb 色々な条件式を使った例

 

 

今回の結果は、変数 kazu に2を代入して実行したものです。
下図にあるように3つの条件式に当てはまりました。

 

visual basic 入門 条件式

 

 

次は変数 kazu に4を代入して実行してみました。
4つの条件式に当てはまりましたね。

 

色々な条件式でテストをする

 


この他にも kazu に5や8を入れてテストしてみてください。
条件式はプログラムの要です。動作をしっかり理解しましょう。

 

 

1つ忘れていました。
複数の条件を一緒に判断することも可能です。
上の例でも使っています。

If ( kazu == 4 || kazu == 8 )

この例では 4 または 8の場合という条件になります。
これはOR演算子といいます。
|| の他に && もあります。

If ( A == 3 && B == 7 )

この例では、変数 A が3であり、かつ、変数 Bが7の場合という条件になります。
これはAND演算子といいます。
複数の条件判断については、また別の機会にくわしく説明します。

 

 

if else のパターン

条件分岐でよく使われる書き方をもう一つ覚えましょう。
それは else を使ったものです。

 

vb 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 を押したときは「はずれ」となります。