비교 연산자(operator)
두 값을 비교해서 참(true) 또는 거짓(false)을 반환(return)합니다. Unity에서 플레이어의 체력, 점수, 레벨 등을 비교할 때 사용합니다.
크기 비교
-
>: 왼쪽이 더 크면 true- 예:
playerHp > 0→ 체력이 0보다 크면 true (생존) - 예:
currentScore > highScore→ 현재 점수가 최고 점수보다 높으면 true
- 예:
-
<: 왼쪽이 더 작으면 true- 예:
enemyHp < 10→ 적 체력이 10보다 작으면 true (약한 상태) - 예:
playerLevel < maxLevel→ 플레이어 레벨이 최대 레벨보다 낮으면 true
- 예:
같음 비교
-
==: 두 값이 같으면 true- 예:
playerHp == 0→ 체력이 0이면 true (사망) - 예:
itemCount == maxInventorySize→ 아이템 개수가 인벤토리 최대치와 같으면 true
- 예:
-
!=: 두 값이 다르면 true- 예:
playerHp != 0→ 체력이 0이 아니면 true (생존) - 예:
currentWeapon != null→ 현재 무기가 있으면 true
- 예:
크거나 같음, 작거나 같음
-
<=: 왼쪽이 오른쪽보다 작거나 같으면 true- 예:
playerHp <= 30→ 체력이 30 이하면 true (위험 상태) - 예:
enemyCount <= 0→ 적이 없거나 0이면 true
- 예:
-
>=: 왼쪽이 오른쪽보다 크거나 같으면 true- 예:
playerLevel >= 10→ 레벨이 10 이상이면 true (레벨업 가능) - 예:
score >= targetScore→ 점수가 목표 점수 이상이면 true
- 예:
논리 연산자(operator)
여러 조건을 조합할 때 사용합니다. Unity에서 복잡한 게임 로직을 만들 때 필수입니다.
OR 연산자 (||)
- 의미: "또는" - 둘 중 하나라도 true면 true
- 게임 예시:
// 플레이어가 죽었거나 게임이 종료되었으면
if (playerHp <= 0 || isGameOver)
{
ShowGameOverScreen();
}
// 스페이스바 또는 마우스 왼쪽 버튼을 누르면 점프
if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))
{
Jump();
}
Unity 활용:
- 여러 입력 키 중 하나라도 눌렸는지 확인
- 여러 조건 중 하나라도 만족하면 실행
- 플레이어가 죽었거나 시간이 끝났거나 등
AND 연산자 (&&)
- 의미: "그리고" - 둘 다 true여야 true
- 게임 예시:
// 체력이 있고 마나가 있으면 스킬 사용 가능
if (playerHp > 0 && playerMana >= skillCost)
{
UseSkill();
}
// 레벨이 10 이상이고 퀘스트를 완료했으면 보상 지급
if (playerLevel >= 10 && questCompleted)
{
GiveReward();
}
Unity 활용:
- 여러 조건을 모두 만족해야 실행
- 아이템을 사용할 수 있는지 확인 (아이템이 있고, 쿨타임이 없고 등)
- 보스를 처치할 수 있는지 확인 (무기가 있고, 체력이 있고 등)
NOT 연산자 (!)
- 의미: "아니다" - true를 false로, false를 true로 바꿈
- 게임 예시:
// 게임이 끝나지 않았다면 계속 플레이
if (!isGameOver)
{
UpdateGame();
}
// 무기가 없지 않다면 (무기가 있다면) 공격 가능
if (!(currentWeapon == null))
{
Attack();
}
// 더 간단하게는
if (currentWeapon != null)
{
Attack();
}
Unity 활용:
- 조건을 반대로 만들 때
- null 체크의 반대
- 게임 상태가 아닐 때 실행