유니티 최고/Unity

[UNITY] 변수, 변수그룹, 연산자, 키워드, 조건문

군포망나니 2022. 1. 16. 13:01

[골드메탈님 수업듣고 작성하였습니다.]

<이번 시간은 변수, 변수그룹, 연산자, 키워드, 조건문에 대해서 알아보겠습니다. >

 

LTS : LONG TREM SUPPORT STRAM 

2년동안 품질이 보장되는 버전

 

PREPERRED : 기본으로 설정되는 버전

 

Q : 뷰 이동

W : 오브젝트 이동

E : 회전

R : 크기 

T : 사각툴(2D)

 

Debug.Log() : 메시지 출력

 

void Start()

{

Debug.Log("안녕"); 

}

 

>>콘솔창 : 안녕

 

☆☆☆☆☆☆☆☆☆☆☆☆☆가장 중요☆☆☆☆☆☆☆☆☆☆☆☆

 

C# 스크립트 짜기 

 

1. 변수 : 데이터를 메모리에 저장하는 장소 

 

// 4가지 타입 변수

int level = 5 ; //정수형 데이터 

float strength = 15.5f ; // 숫자형 데이터 , f필수  

string playerName = "나검사" ; //문자형 데이터 

bool isFullLevel = true; //논리형 데이터

 

 

선언 -> 초기화 ->호출(사용)

 

//그룹형 변수 :변수들을 묶은 하나의 장소 

 

string[] monsters = {"슬라임", "사막뱀", "악마"} ; 

 

Debug.Log(monsters[0]);

Debug.Log(monsters[1]);

Debug.Log(monsters[2]);

 

>>> 슬라임

>>> 사막뱀

>>> 악마 

 

//레벨 체크 

int[] monstersLevel = new int[3];

 

monstersLevel[0] = 20;  

monstersLevel[1] = 40; 

monstersLevel[2] = 55;  

 

 

 

//리스트 : 기능이 추가된 가변형 그룹형 변수 

//<타입> 

List<string>items = new List<string>();

items.Add("생명물약30");

items.Add("마나물약30");

 

Debug.Log(items[0]);

Debug.Log(items[1]); 

 

//리스트 요소 삭제 

items.RemoveAt(0)

 

//크기를 벗어난 오류 발생 [인덱스 오류]

Debug.Log(items[1]); 

>>>Argument is out of range.Parameter name : index  

 

//연산자 : 상수, 변수값을 연산해주는 기호 

 

int exp = 1500;

 

exp = 1500 +320 ;

exp = exp - 10;

level = exp / 300;

strength = level * 3.1f

 

Debug.Log("용사의 총 경험치는?");

Debug.Log(exp); //>>>1810

Debug.Log("용사의 레벨은?");

Debug.Log(level); // >>> 6

Debug.Log("용사의 힘은");

Debug.Log(strength); //>>>18.6

 

int nextExp = 300 - (exp % 300) ; 

Debug.Log("다음 레벨까지 남은 경험치는?");

Debug.Log(nextExp);

 

>>>290

 

string title = "전설의";

Debug.Log("용사의 이름은?");

Debug.Log(title + " " + playerName); 

 

>>>전설의 나검사 

 

//비교연산자 

bool isFullLevel = true;

 

int fulllevel = 99; 

isFullLevel = level == fullLevel; 

Debug.Log("용사는 만렙입니까?" + isFullLevel ) ; 

 

>>>용사는 만렙입니까? false 

 

bool isEndTutorial = level > 10 ;

Debug.Log("튜토리얼이 끝난 용사입니까?"+isEndTutorial);

>>>false

 

int health = 30;

int mana = 25; 

bool isBadCondition = health <= 50 && mana <= 20 ; 

Debug.Log("용사의 상태가 나쁩니까?"+isBadCondition);

>>> Ture

 

bool isBadCondition = health <= 50 || mana <= 20 ; //or

Debug.Log("용사의 상태가 나쁩니까?"+isBadCondition);

>>>true

 

// ? A : B : true 일 때, A , false 일 때 B출력 

 

string condition = isBadCondition ? "나쁨" : "좋음" 

Debug.Log("용사의 상태가 나쁩니까?"+isBadCondition);

>>> 나쁨 

 

//키워드 : 프로그래밍 언어를 구성하는 특별한 단어 

int,  float, string, bool, new, List 

//변수 불가, 값 사용 불가 

 

// 조건문 : 조건에 만족하면 로직을 실행하는 제어문 

if (condition == "나쁨" ) {

    Debug.Log("플레이어 상태가 나쁘니 아이템을 사용하세요. ");

}

else {

    Debug.Log("플레이어 상태가 좋습니다.")

}

>>>플레이어 상태가 나쁘니 아이템을 사용하세요. 

 

if(isBadCondition && items[0] == "마나물약30" ) {

    items.RemoveAt(0);

    health += 30 ; 

    Debug.Log("마나포션30을 사용했습니다. ");

}

 

>>>마나포션30을 사용했습니다. 

 

//switch, case : 변수의 값에 따라 로직을 실행 

//형식 

switch (변수) {

    case 값1 : 

        break; //필수 

    case 값2 :

        break;

    case 값3 :

        break;

    default: //default : 모든 case를 통과한 후 실행 

        break;

}

//몬스터 이름, 크기 출력

switch (mosters[0]) {

    case "슬라임" : //같이 묶기

    case "사막뱀" :

        Debug.Log("소형 몬스터가 출현!"); 

        break; //필수 

    case "악마" :

        Debug.Log("중형 몬스터가 출현!"); 

        break;

    case "골렘" :

        Debug.Log("대형 몬스터가 출현!"); 

        break;

    default: 

        Debug.Log("??? 몬스터가 출현!")

        break;

 

>>>소형 몬스터가 출현!       

 

 

<이번 시간은 변수, 변수그룹, 연산자, 키워드, 조건문에 대해서 알아보았습니다. >

<다음은 반복문, 함수, 클래스 알아보겠습니다. >