【Unityで学ぶC#プログラミング⑤】条件分岐(if文・else if文・else文)

プログラミング初心者向けのUnityで学ぶC#講座。

初心者にもわかりやすく、なるべく専門的な用語をなくして簡単に説明します。

今回は「条件分岐(if文・else if文・else文)」についてです。

この記事を読み終えると以下のことが分かるようになります。

条件分岐とは

比較演算子について

論理演算子について

それではさっそく解説していきます。

条件分岐とは

条件分岐とは、ある条件を満たしているかどうかで、実行するプログラムを変化させることです。

例えば、画面がタップされたらプレイヤーがジャンプする。

敵キャラに衝突したらライフを1減らす。

ライフが0になったらゲームオーバーの文字を画面に表示する。

これらはすべて条件分岐処理で実行されています。ゲームの様々な場面で利用されており、ゲームを作成する上で理解は必須です。

それでは次に実際にコードを書いて確認してみましょう。

if文

基本形のコード

 if (条件式)
{
条件を満たした時の処理
}

()内の条件が満たされた場合{}内の処理が実行され、条件が満たされない場合、処理はスキップされます。

ライフが0になったら、コンソールにゲームオーバーを表示するスクリプトです。

変数”life”の初期値を5に設定し、Start関数内で0を代入しました。

()内のlifeが1未満という条件を満たしているので”ゲームオーバー”文字がConsoleに表示されたのが確認できます。

else文

 if (条件式)
{
条件を満たした時の処理
}
else
{
条件を満たしていない時の処理
}

条件を満たしていない時の処理を記述する場合は、さきほどのifの条件式と条件の後にelseを記述します。

ライフが0になったら、コンソールに”ゲームオーバー”を表示し、それ以外は”プレイ中”を表示するスクリプトです。

今回はlifeが3なので、if文の処理がスキップされelseの処理が実行されました。Consoleにプレイ中の文字が表示されたのが確認できます。

else if文

 if (条件式1)
{
条件式1を満たした時の処理
}
else if(条件式2)
{
条件式1が満たされず、条件式2を満たした時の処理
}
else
{
全ての条件を満たしていない時の処理
}

分岐したい処理が2択ではなく、3択、4択と増やしたいときに使えます。
条件式が1を満たした場合は、条件式2以降の処理は全てスキップされます。

else if()はいくつでも追加することが可能です。elseは最後に記述する必要があります。

さきほど書いたサンプルコードにelse ifの条件式を加えます。ライフが10以上の場合は”スーパーパワー”をConsoleに表示します

今回はlifeの値が11なので、条件式1をスキップし条件式2の処理が実行されました。
Consoleに”スーパーパワー”と表示されたのが確認できました。

条件式2がマッチしたので、elseの処理がスキップされたのが確認できます。

比較演算子とは

もうすでに条件式の中に書いてきましたが、比較演算子とは左辺と右辺を比べてTrueかFalseを返します。

代表的な比較演算子

==A==BAとBは等しい
!=A!=BAとBは等しくない
>A>BAはBより大きい
<A<BAはBより小さい
>=A>=BAはB以上
<=A<=BAはB以下

たくさんありますが条件式を書いていくうちに、覚えていくと思います。どんどん書いて試してみましょう。

論理演算子

複数の条件を1つの条件式に記述したい場合は論理演算子を使います。

!!(演算対象)演算対象の否定
&&A&&B条件Aと条件Bふたつが成り立つ
||A||B条件Aもしくは条件Bのどちらかが成り立つ

例えばlifeが5以上10未満の場合は”ノーマルパワー”10以上の場合は” スーパーパワー “としたい場合は論理演算子を使って、以下のように書くことができます。

ライフが5以上かつ10未満の9なので”ノーマルパワー”が表示されたのが確認できます。

基本的な条件分岐のやり方を紹介しました。どんどん利用していくうちに覚えていくので心配はいりません。

また、条件分岐はどのプログラミング言語でも基本は一緒です。

条件分岐を覚えることができれば、他の言語でも活用できるでしょう。

今回の所は以上となります。 最後まで読んでいただきありがとうございました。

おすすめ記事【現役Unityエンジニアが厳選】Unityを学ぶのにおすすめのプログラミングスクール2選

Follow me!