Developer

【初心者Unity】条件分岐をしよう!(switch文)
2021.03.01
Lv1

【初心者Unity】条件分岐をしよう!(switch文)


はじめに

今回は前回に引き続きプログラミングを使う上で欠かすことができない「条件分岐」を紹介します。「条件分岐」とは、その名の通り条件に依って処理が分岐することです。前回はその方法としてif文をご紹介しました。

if文は2つに分岐させる上では大変有用でしたが、3つ以上の分岐となると行数が増えて少々厄介でした。そこで今回は、3つ以上の分岐をより簡単にする方法をご紹介します。それはズバリ!「switch文」です!


書き方

今回もドンと書き方を↓に載せてしまいます。

switch (式)
{
    case 定数式1:   //場合1
        処理1;
        break;
    case 定数式2:   //場合2
        処理2;
        break;
default:         //その他の場合
        処理3;
        break;
}
 

これの意味するところを図で表すと↓の様になります。


実際に書いてみる

今回は、変数「i」が1ならば「月曜日です。」とログを出力し、変数「i」が2ならば「火曜日です。」、3なら「水曜日です。」・・・7なら「日曜日です。」、そして1~7以外の数字が入力されたら「知らない数字です。」とログ出力するScriptを書いてみましょう。

ログの出力方法について復習したい方はこちらの記事を参照

【Unity連載】コンソールにログを出力しよう!

この条件を図に表すと↓の様になります。

int week = 3;
switch (week)
{
    case 1:
        Debug.Log(“月曜日です。”);
        break;
    case 2:
        Debug.Log(“火曜日です。”);
        break;
    case 3:
        Debug.Log(“水曜日です。”);
        break;
    case 4:
        Debug.Log(“木曜日です。”);
        break;
    case 5:
        Debug.Log(“金曜日です。”);
        break;
    case 6:
        Debug.Log(“土曜日です。”);
        break;
    case 7:
        Debug.Log(“日曜日です。”);
        break;
default:
        Debug.Log(“知らない数字です。”);
        break;
}
 

↑の場合は「水曜日です。」が出力されます。

int week = 100;
switch (week)
{
    case 1:
        Debug.Log(“月曜日です。”);
        break;
    case 2:
        Debug.Log(“火曜日です。”);
        break;
    case 3:
        Debug.Log(“水曜日です。”);
        break;
    case 4:
        Debug.Log(“木曜日です。”);
        break;
    case 5:
        Debug.Log(“金曜日です。”);
        break;
    case 6:
        Debug.Log(“土曜日です。”);
        break;
    case 7:
        Debug.Log(“日曜日です。”);
        break;
default:
        Debug.Log(“知らない数字です。”);
        break;
}
 

↑の場合は「知らない数字です。」が出力されます。


おわりに

みなさんいかがでしたでしょうか?3回以上の分岐ではif文よりもswitch文を使った方がよりスッキリと書けることを実感していただけたでしょうか?条件分岐の時にはぜひこれら2つを使い分けてみてください。

 
 

連載目次リンク

「初心者のための」Unityゲーム制作 目次
 

Unity実践編 - 目次リンク

実践Unityゲームプログラミング 連載目次