분기문

 

인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다. 
😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기!

 

 


 

분기문

 

데이터를 메모리에 할당하고 가공하고 방법에 대해 알아봄
가공한 데이터를 이용해서 무엇인가를 하고 싶다면?

 


 

예시 1

 

더보기
#include <iostream>
using namespace std;

int main()
{
    int hp = 100; // 몬스터 HP
    int damage = 90; // 플레이어 데미지

    hp -= damage; // 피격 판정
    bool isDead = (hp <= 0); // 처치 판정

    // 몬스터가 죽었으면 경험치 추가
    // 어셈블리에서 CMP JMP

    /*
    if (isDead)
        cout << "몬스터를 처치했습니다." << endl;
    
    if (!isDead)   // if (isDead == false) 라고 표기해도 된다. else로 표기해도 된다.
    {
        if (hp <= 20)
            cout << "몬스터를 도망가고 있습니다." << endl;
        else
            cout << "몬스터를 반격했습니다." << endl;
    }
    */

    // if-else if-else
    if (isDead)
        cout << "몬스터를 처치했습니다." << endl;
    else if (hp <= 20)
        cout << "몬스터를 도망가고 있습니다." << endl;
    else
        cout << "몬스터를 반격했습니다." << endl;
}

 

 


 

예시 2

 

더보기
#include <iostream>
using namespace std;

int main()
{
    const int ROCK = 0;
    const int PAPER = 1;
    const int SCISSORS = 2;

    int input = 0;

    // if else-if else-if else 버젼
    if (input == ROCK)
        cout << "바위를 냈습니다" << endl;
    else if (input == PAPER)
        cout << "보를 냈습니다" << endl;
    else if (input == SCISSORS)
        cout << "가위를 냈습니다" << endl;
    else
        cout << "뭘 낸겁니까?" << endl;


    // switch-case-break 버젼
    // switch에는 정수 계열만 넣을 수 있다. (C#은 문자도 넣을 수 있다)
    switch (input)
    {
    case ROCK:
        cout << "바위를 냈습니다" << endl;
        break; // break 지점에서 빠져나온다. 경우에 따라 생략해도 되지만 연산과정 분리를 위해 넣어주는것이 좋다. 
               // 이 경우 break를 생략하면 "바위를 냈습니다" "보를 냈습니다"가 같이 출력하는 경우가 발생할 수 있다.
    case PAPER:
        cout << "보를 냈습니다" << endl;
        break;
    case SCISSORS:
        cout << "가위를 냈습니다" << endl;
        break;  
    default:
        cout << "뭘 낸겁니까?" << endl;
    }

}