프로그래밍⚡️/unity

c# 조건문을 활용한 가위바위보 게임 만들기

Kwangkki 2022. 7. 8. 18:42

c# 조건문에 대한 간략한 설명과

조건문을 활용한 간단한 게임을 만들어보겠습니다.

 

우선 조건문에 대해 정리해봅니다.

1. if

if 문은 특정 조건식을 판별해 true 일 경우 실행하고 false일 경우 실행하지 않는 조건문입니다.

int a = 0; 

if (a = 0) {
     Console.WriteLine("작동");
}

위 예문에서 if 다음 괄호에 조건식을 적습니다. 그리고 중괄호 안에 실행할 코드를 작성합니다.

2. else

else 문은 if 문과 함께 사용하며 if가 false 일 경우 실행될 코드를 작성하면 됩니다.

int a = 0; 

if (a = 0) {
    Console.WriteLine("작동");
} else {
    Console.WriteLine("작동 안함");
}

3. else if

else if 문은 2가지 이상의 조건식을 순서대로 판별해야 하는 경우 사용합니다.

첫 번째 조건식이 false면 그 다음 조건식을 판별하는 방식입니다.

int a = 0; 

if (a = 0) {
    Console.WriteLine("가위");
} else if (a = 1) {
    Console.WriteLine("바위");
} else if (a = 2) {
    Console.WriteLine("보");
}

4. switch

switch 문은 else if와 비슷합니다. 조건식을 판별하여 맞는 케이스의 코드를 실행합니다.

int a = 0; 

switch (a) {
    case 0:
         Console.WriteLine("가위");
         break;
    case 1:
         Console.WriteLine("바위");
         break;
    case 2:
         Console.WriteLine("보");
         break;
}

가위보위보 게임 만들기

위 조건문을 활용하여 가위바위보 게임을 만들어보겠습니다.

static void Main(string[] args) {
    Random rand = new Random();
        int ai = rand.Next(0, 3);
    
        int me = Convert.ToInt32(Console.ReadLine());
    
        switch (me) {
            case 0:
                Console.WriteLine("가위")
                break;
            case 1:
                Console.WriteLine("바위")
                break;
            case 2:
                Console.WriteLine("보")
                break;
        }

        switch (ai) {
            case 0:
                Console.WriteLine("컴퓨터 가위")
                break;
            case 1:
                Console.WriteLine("컴퓨터 바위")
                break;
            case 2:
                Console.WriteLine("컴퓨터 보")
                break;
        }

// 무승부 승리 패배 판별
        if (me == 0)
        {
        if (ai == 0)
             {
                 Console.WriteLine("무승부");
             }
             else if (ai == 1)
             {
                 Console.WriteLine("패배");
             } 
             else
             {
                 Console.WriteLine("승리");
             }
        }
        else if (me == 1)
        {
            if (ai == 0)
            {
                Console.WriteLine("승리");
            }
            else if (ai == 1)
            {
                Console.WriteLine("무승부");
            }
            else
            {
                Console.WriteLine("패배");
            }
        }
        else if (me == 2)
        {
            if (ai == 0)
            {
                Console.WriteLine("패배");
            }
            else if (ai == 1)
            {
                Console.WriteLine("승리");
            }
            else
            {
                Console.WriteLine("무승부");
            }
        }
    }
}

복잡합니다. 정리 좀 하겠습니다. 일단 올립니다.

 

굉장한 하드 코딩이 되어버렸네요.

다음 시간에 이 하드 코딩을 개선해보는 시간을 가지도록 하겠습니다.