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

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

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

VisualBasic 2015 入門

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

 

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

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

 

条件判断とは

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

プログラムでは If Then End If を使うことになります。

 

vb if then

 

If Then を使った例を見てみましょう。
HIGH ボタンを押したときの処理に、条件判断を2つ入れてみました。

 

vb 条件文の例

 

If kazu = 2 Then
これは変数 kazu の内容が2かどうかを判断しています。
実行して確認してみましょう。

 

vb 条件判断のしかた

 

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

 

vb 初期設定

 

試しに 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 の中を変更して実験します。

 

vb 条件式の色々

 

ここで新しく Console.WriteLine を使っています。
これを使うと出力ウィンドウに表示することができます。

 

 

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

 

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

 

 

visual basic 入門 条件式

 

変数 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 を使ったものです。

 

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