第2回「変数」
aisle26
アイルブログ
本記事はUnity C#プログラミングについての備忘録です。
今回は比較演算子と論理演算子についていろいろと書いておきます。
| 演算子 | 判定内容 | 使用例 |
|---|---|---|
| == | 等しい | x == 10 |
| != | 等しくない | x != 10 |
| < | 左辺が右辺より小さい | x < 10 |
| > | 左辺が右辺より大きい | x > 10 |
| <= | 左辺が右辺以下 | x <= 10 |
| >= | 左辺が右辺以上 | x >= 10 |
| 演算子 | 判定内容 | 使用例 | 意味 |
|---|---|---|---|
| & | AND(かつ) | x > 5 & x < 10 | xが5以上10以下のときtrue |
| | | OR(または) | x < 5 | x >10 | xが5より小さいまたは 10より大きいときtrue |
| ! | NOT(否定) | !(x == 5) | xが5ではないときtrue |
| ^ | XOR(排他的OR) | a ^ b | a,bの片方だけtrueならtrue |
| && | 条件付きAND | a && b | aがfalseのときbは評価されない |
| || | 条件付きOR | a || b | aが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("=== 完了 ===");
}
}