Unity

第3回「比較演算子と論理演算子」

aisle26

本記事はUnity C#プログラミングについての備忘録です。

今回は比較演算子と論理演算子についていろいろと書いておきます。

比較演算子

演算子判定内容使用例
==等しいx == 10
!=等しくないx != 10
<左辺が右辺より小さいx < 10
>左辺が右辺より大きいx > 10
<=左辺が右辺以下x <= 10
>=左辺が右辺以上x >= 10

論理演算子

演算子判定内容使用例意味
&AND(かつ)x > 5 & x < 10xが5以上10以下のときtrue
|OR(または)x < 5 | x >10xが5より小さいまたは
10より大きいときtrue
!NOT(否定)!(x == 5)xが5ではないときtrue
^XOR(排他的OR)a ^ ba,bの片方だけtrueならtrue
&&条件付きANDa && baがfalseのときbは評価されない
||条件付きORa || baがfalseのときbは評価されない

サンプルコード

比較演算子と論理演算子を使ったサンプルコードです。

using UnityEngine;

public class ConditionCheck : MonoBehaviour
{
    // プレイヤーの状態
    private int playerHP = 80;
    private int playerSpeed = 15;
    private bool isParalyzed = false;
    private bool isPoisoned = true;

    // 敵の状態
    private int enemyHP = 0;
    private bool enemyIsDead = false;

    void Start()
    {
        Debug.Log("=== 比較演算子 ===");

        if (playerHP == 80)
            Debug.Log("HPは初期値です");

        if (playerSpeed != 10)
            Debug.Log("スピードは10ではありません");

        if (playerSpeed > 10 && playerSpeed <= 20)
            Debug.Log("スピードは11~20の間です");

        if (enemyHP <= 0 || enemyIsDead)
            Debug.Log("敵はすでに倒れています");

        Debug.Log("=== 論理演算子 ===");

        // AND: 体力が残っていて麻痺していない
        if (playerHP > 0 && !isParalyzed)
            Debug.Log("プレイヤーは行動可能です");

        // OR: 毒 or 麻痺
        if (isPoisoned || isParalyzed)
            Debug.Log("状態異常があります");

        // NOT: 麻痺していない
        if (!isParalyzed)
            Debug.Log("麻痺していないので正常に行動できます");

        // XOR: 毒と麻痺どちらか一方だけならtrue
        if (isPoisoned ^ isParalyzed)
            Debug.Log("毒か麻痺のどちらか一方のみ状態異常です");

        Debug.Log("=== 完了 ===");
    }
}

ABOUT ME
アイル
アイル
1993年生まれ。秋田出身。出張族。 ゲームが趣味でPCを少しいじったり、Unityなどでプログラミングをして遊んでます。 本サイトでは、私が学んだことを備忘録として随時まとめていくのでよかったら読んでいってください。
記事URLをコピーしました