『Unity C#基礎』第四回 条件分岐 - if文とswitch文
今回は、条件分岐について学びます。ゲームを作成する際、プレイヤーの行動やゲームの状態に応じて、異なる処理を実行する必要があります。たとえば、キャラクターの体力がゼロになったときにゲームオーバーにするなどです。これを実現するために使われるのがif文とswitch文です。
if文とは?
if文は、特定の条件が成立するかどうかを判断して、それに応じた処理を行う構文です。もし条件が成立すれば(trueなら)、その条件に対応する処理が実行されます。
基本的な構文:
if (条件)
{
// 条件がtrueの場合に実行されるコード
}
例:
int playerHealth = 50;
if (playerHealth > 0)
{
Debug.Log("プレイヤーはまだ生きている");
}
上記の例では、playerHealthが0より大きい場合、「プレイヤーはまだ生きている」というメッセージがコンソールに表示されます。
else文を使った条件分岐
else文を使うことで、ifの条件が成立しない場合に実行する処理を指定できます。
構文:
if (条件)
{
// 条件がtrueの場合に実行されるコード
}
else
{
// 条件がfalseの場合に実行されるコード
}
例:
int playerHealth = 0;
if (playerHealth > 0)
{
Debug.Log("プレイヤーはまだ生きている");
}
else
{
Debug.Log("プレイヤーは死んでしまった");
}
この場合、playerHealthが0なので、「プレイヤーは死んでしまった」が表示されます。
else ifを使った複数条件の処理
複数の条件を処理したい場合は、else ifを使います。これにより、複数の条件を順に評価し、最初に成立した条件の処理が実行されます。
構文:
if (条件1)
{
// 条件1がtrueの場合に実行されるコード
}
else if (条件2)
{
// 条件2がtrueの場合に実行されるコード
}
else
{
// 上記の条件が全てfalseの場合に実行されるコード
}
例:
int playerHealth = 50;
if (playerHealth > 80)
{
Debug.Log("プレイヤーは元気いっぱい");
}
else if (playerHealth > 30)
{
Debug.Log("プレイヤーは少し疲れている");
}
else
{
Debug.Log("プレイヤーは危険な状態だ");
}
switch文による条件分岐
switch文は、特定の値に基づいて複数の条件を処理する際に便利な構文です。if文と違い、特定の値に一致するケース(分岐)ごとに処理を実行します。
構文:
switch (変数)
{
case 値1:
// 値1の場合に実行されるコード
break;
case 値2:
// 値2の場合に実行されるコード
break;
default:
// どれにも一致しない場合に実行されるコード
break;
}
例:
string playerRank = "A";
switch (playerRank)
{
case "S":
Debug.Log("素晴らしいプレイヤー!");
break;
case "A":
Debug.Log("かなり優秀なプレイヤー!");
break;
case "B":
Debug.Log("普通のプレイヤー");
break;
default:
Debug.Log("もっと頑張ろう!");
break;
}
この場合、playerRankが「A」であるため、「かなり優秀なプレイヤー!」と表示されます。
Unityで条件分岐を使った実装例
Unityでif文やswitch文を使って簡単な処理を実装してみましょう。プレイヤーの体力に応じて、ゲームの状態を変える例を紹介します。
手順:
Unityで新しいC#スクリプトを作成し、「PlayerState」と名前を付けます。
以下のコードをスクリプトに書き込みます。
using UnityEngine;
public class PlayerState : MonoBehaviour
{
public int playerHealth = 50;
void Start()
{
if (playerHealth > 80)
{
Debug.Log("プレイヤーは元気いっぱい");
}
else if (playerHealth > 30)
{
Debug.Log("プレイヤーは少し疲れている");
}
else
{
Debug.Log("プレイヤーは危険な状態だ");
}
}
}
作成したスクリプトをゲームオブジェクトにアタッチします。
ゲームを再生すると、コンソールにプレイヤーの状態が表示されます。
まとめ
if文は、条件が成立した場合に特定の処理を実行します。
else文やelse if文を使って、複数の条件に対応できます。
switch文は、特定の値に基づいて異なる処理を実行します。
次回は、繰り返し処理について学びます。繰り返し処理を使うことで、ゲーム内のオブジェクトや敵キャラクターの動きを効率的に管理できるようになりますので、楽しみにしてください!