Unity初心者講座:if文使う!条件式を学ぶ!

2021年10月8日

ここではプログラムの分岐について勉強をします。色々と手法はあるのですが、よく使われるものをメインに勉強していきましょう。

if文を覚える(else,else if)

分岐の基本であるif文は今後もかなりのお使いとなります。if文にはあわせ技として、elseやelse ifというものもあります。合わせて覚えましょう。

if文は一致したものだけが通る

if文のもっともシンプルな使い方は、ある条件を問い合わせたときに一致していたときに処理を行うというものです。プログラムとフローチャートではそれぞれこのように表されます。

		if( 条件 )
		{
			処理;
		}

ソースコードは擬似的なものにしています。

条件が入る部分は、真偽の判定が入るものを入れることが出来ます。日本語で説明すると、「100円より安いものに値札を貼る」とか、「20歳の人は手を上げて下さい」と言ったものです。プログラムと言っても、言語には変わりないので、条件を書くときは、日本語にできるかどうかを意識すると、後で読みやすいプログラムになります。

else if文は外れた人の抽選待ち

if文は、一致した条件しか反応出来ませんが、実際にプログラムする時はいくつかの条件を比較する必要があります。そこで次に使われるのがelse if文です。

		if( 条件1 )
		{
			処理1;
		}
		else if( 条件2)
		{
			処理2;
		}

else if文は、if文の条件から外れたもののみが対象になります。日本語で表すなら。「20歳の人はこっちに来て下さい!それ以外の方で血液型がA型の人はこちらに来て下さい」という感じです。

仮にelse if文に一致していたとしても、上流で判定に引っかかったものがある場合、else if文では処理の対象になりません。このあたりはフローチャートに忠実に動くので気をつけて下さい。

また、今回はelse if文を1つしかかいていませんが、else if文の下に追加するようにelse if文を追加することが可能です。

else文はそれ以外!

最後はelse 文です。else ifとは違い、条件式の中で一番最後にしか書けない処理です。

		if( 条件1 )
		{
			処理1;
		}
		else
		{
			処理3;
		}

if文で当てはまらなかった場合、elseの中の処理に入ります。「青いボールを持っている人はこっちにきてください!それ以外の方々は、あちらのエリアに移動をお願いします」という感じの処理です。

今回は省いていますが、else if文を組み合わせることも可能です。if , else ifどちらも当てはまらなかった場合に呼ばれる処理になります。

条件式を学ぶ

if文、else if文には条件式が入ると言いましたが、ここではどのようなものが条件となるのかを覚えます。条件式は演算子というものを使って判定します。まずはどのようなものがあるかを一度覚えて下さい。

演算子比較結果
==左辺と右辺が等しい場合に真
!=左辺と右辺が違う場合に真
>左辺が右辺より大きい場合に真
<左辺が右辺より小さい場合に真
>=左辺が右辺以上の場合に真
<=左辺が右辺以下の場合に真

イコール(==)とノットイコール(!=)は馴染みがないかもしれませんが、他の不等号を使ったものは数学とかと同じですね。

また、プログラムにおいて条件式の演算子で結ばれたものは真偽の値(bool)に変換されます。条件式の中に入れることができるのはこの変換が行われるからです。

逆に言うと、比較をしたいものを一旦bool変数に代入することも可能です。あまり使う場面はないですが覚えておくと便利なことがあります。条件式が長くなることがありますが、そういう場合に一度変数に落とし込むと読みやすいプログラムになりますよ!

まとめ

今回は条件の基本if文について学びました。また、条件式にはどういったものがあるかがわかりました。

前回同様ですが、このあたりは知識として覚えるだけでよく、実際には開発中に思い出せるだけでOKです。

次回は変数のスコープについて勉強します。変数には有効な範囲がありますので、そのあたりを覚えていきましょう!