유니티 C# 프로그래밍 기초
[조건문]&[ if / else if / switch / default]
[ if 문 ]
조건이 true일 때, 로직을 실행한다
- if 문
if (true) {
//로직
}
if 단독
if와 else if
if와 else
다양하게 사용할 수 있다
if (조건문)
{
//로직
}
else if (조건문)
{
//로직
}
else
{
//로직
}
차례대로 조건문이 true인지 판단한 후, 로직을 실행한다.
모든 조건식이 거짓이면 else의 로직을 실행한다
int health = 40;
int mana = 35;
bool isBadCondition = health <= 50 || mana <=30;
string condition = isBadCondition ? "나쁨" : "좋음";
if(condition == "나쁨"){
Debug.Log("캐릭터의 상태가 나쁘니 아이템을 사용하세요");
}
else {
Debug.Log("캐릭터의 상태가 좋습니다");
}
condition이 나쁨이므로 조건문이 true이다. if문의 로직이 출력된다
.
.
.
결과
조금 더 복잡한 코드
int health = 40;
int mana = 35;
bool isBadCondition = health <= 50 || mana <=30;
string condition = isBadCondition ? "나쁨" : "좋음";
if(condition == "나쁨"){
Debug.Log("캐릭터의 상태가 나쁘니 아이템을 사용하세요");
}
else {
Debug.Log("캐릭터의 상태가 좋습니다");
}
List<string> items = new List<string>();
items.Add("생명물약30");
items.Add("마나물약30");
if(isBadCondition && items[0] == "생명물약30"){
items.RemoveAt(0);
health += 30;
Debug.Log("생명포션30을 사용하였습니다.");
Debug.Log(health);
}
else if (isBadCondition && items[1] == "마나물약30"){
items.RemoveAt(0);
mana += 30;
Debug.Log("마나포션30을 사용하였습니다.");
Debug.Log(mana);
}
isBadCondition이 true , items[0]이 생명물약30과 동일하여 true이면
if문은 true가 되어 로직을 수행합니다
.
.
.
.
결과
[ switch 문 ]
같은 값을 case 순서대로 찾아 동일하면, 해당 로직을 실행한다
모든 case의 값과 동일하지 않을 경우에 default 로직이 실행된다
- switch문
switch (값) {
case 값1 :
//로직
//값과 값1이 같으면 로직 실행
break;
case 값2 :
//로직
//값과 값2이 같으면 로직 실행
break;
default :
//로직
//모든 case의 값과 동일하지 않을 경우 default 로직 실행
break;
}
braek를 반드시 써서 로직을 끝낸다
string[] character = {"제시", "우디", "버즈"};
switch(character[1]){
case "제시" :
Debug.Log("카우걸이 출현!");
break;
case "포키" :
Debug.Log("포크가 출현!");
break;
case "버즈" :
Debug.Log("우주인이 출현!");
break;
default:
Debug.Log("카우보이가 출현!");
break;
}
character[1]은 "우디"이고, 모든 case에서 적합한 값이 없으므로 default 로직을 수행한다
.
.
.
결과
string[] character = {"제시", "우디", "버즈"};
switch(character[1]){
case "제시" :
case "우디" :
Debug.Log("보안관이 출현!");
break;
case "포키" :
Debug.Log("포크가 출현!");
break;
case "버즈" :
Debug.Log("우주인이 출현!");
break;
default:
Debug.Log("아무도 없다");
break;
}
case를 중복하여 사용하고 같은 로직을 수행하도록 적을 수 있다
case "제시" :
case "우디" :
Debug.Log("보안관이 출현!");
break;
.
.
.
결과
다음에는 반복문 (for, foreach, while)을 알아보겠습니다
'유니티' 카테고리의 다른 글
유니티 C# 프로그래밍 기초 - 함수 새로 선언하기 (0) | 2022.04.05 |
---|---|
유니티 C# 프로그래밍 기초 - 반복문 / while / for / foreach (0) | 2022.03.30 |
유니티 C# 프로그래밍 기초 - 이항/논리/삼항 연산자 (0) | 2022.03.27 |
유니티 C# 프로그래밍 기초 - 그룹형 변수, 배열로 간단하게 출력하기 (0) | 2022.03.27 |
유니티 C# 프로그래밍 기초 - 변수 출력하기(int, float, string, bool) (0) | 2022.03.27 |