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

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

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

Visual Basic 2019 入門

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

 

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

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

 

 

条件判断とは

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

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

 

条件判断文

 

 

例を見てみましょう。
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を含みます。

 

なお、大きさを比較するときに使う記号は、小なり < 大なり > です。
Shift キーを押しながら入力します。

大なり小なりの記号

 

 

実際にプログラミングして動作を確認してみましょう。
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 を使ったものです。

 

if then elseの使い方

 

この方法では、条件が成立したとき成立しないときの両方を同時に書けます。

 

 

あたり・はずれを判断しよう

さて、条件判断を覚えた所で、ゲームの核心となる あたり・はずれ の判断をプログラミングします。
まず、ルールのおさらいです。

・1から9までの中からランダムに1つ決める(プレイヤーに見せない)
・プレイヤーに「HIGH」ボタン、「Low」ボタンを押してもらう
隠された数が5以上のとき「HIGH」なら あたり。「LOW」なら はずれ
隠された数が4以下のとき「LOW」なら あたり。「HIGH」なら はずれ

このピンクの部分をプログラミングしてみましょう。
Button1_Click と Button2_Click の内容を変更します。
なお、テストで書き込んだものはすべて消します。

 

high&lowの当たり判定を行う

 

 

変数 kazu は隠された数です。
kazu を 4 にして、正常に動作するかテストしてみます。

 

当たり判定のテストを行う

 

正常に動いてますね。
HIGH を押すと「はずれ」と表示されます。4は5以上ではないので正常です。
LOW を押すと「あたり」と表示されます。
4は4以下なので正常ですね。

 

変数 kazu = 8 でテストしてみて下さい。
HIGH を押したとき「あたり」であれば正常です。
LOW を押したときは「はずれ」となります。