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

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

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

VisualBasic 2017 入門

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

 

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

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

 

 

条件判断とは

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

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

 

vb if then

 

 

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

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

 

vb 条件文の例

 

 

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

 

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

 

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は4以下なので正常ですね。

 

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