전체 코드

namespace CSharp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 0 : 가위 1 : 바위 2 : 보
           
            Random rand = new Random();
            int aiChoice = rand.Next(0, 3);

            int choice = Convert.ToInt32(Console.ReadLine());


            switch (choice)
            {
                case 0:
                    Console.WriteLine("당신의 선택은 가위 입니다.");
                    break;
                case 1:
                    Console.WriteLine("당신의 선택은 바위 입니다.");
                    break;
                case 2:
                    Console.WriteLine("당신의 선택은 보 입니다.");
                    break;
            }

            switch (aiChoice)
            {
                case 0:
                    Console.WriteLine("컴퓨터의 선택은 가위 입니다.");
                    break;
                case 1:
                    Console.WriteLine("컴퓨터의 선택은 바위 입니다.");
                    break;
                case 2:
                    Console.WriteLine("컴퓨터의 선택은 보 입니다.");
                    break;
            }

            // 승리 무승부 패배

            if (choice == 0)
            {
                if (aiChoice == 0)
                {
                    Console.WriteLine("무승부 입니다.");
                }
                else if (aiChoice == 1)
                {
                    Console.WriteLine("패배 입니다.");
                }
                else
                {
                    Console.WriteLine("승리 입니다.");
                }

            }

            if (choice == 1)
            {
                if (aiChoice == 0)
                {
                    Console.WriteLine("승리 입니다.");
                }
                else if (aiChoice == 1)
                {
                    Console.WriteLine("무승부 입니다.");
                }
                else
                {
                    Console.WriteLine("패배 입니다.");
                }

            }

            else
            {
                if (aiChoice == 0)
                {
                    Console.WriteLine("패배 입니다.");
                }
                else if (aiChoice == 1)
                {
                    Console.WriteLine("승리 입니다.");
                }
                else
                {
                    Console.WriteLine("무승부 입니다.");
                }
            }

            // 승리 무승부 패배

            if (choice == aiChoice)
            {
                Console.WriteLine("무승부 입니다.");
            }
            else if (choice == 0 && aiChoice == 2)
            {
                Console.WriteLine("승리 입니다");
            }
            else if (choice == 1 && aiChoice == 0)
            {
                Console.WriteLine("승리 입니다");
            }
            else if (choice == 2 && aiChoice == 1)
            {
                Console.WriteLine("승리 입니다");
            }
            else
            {
                Console.WriteLine("패배 입니다.");
            }
        }
    }
}

1. 변수 선언

// 0: 가위, 1: 바위, 2: 보
Random rand = new Random();
int aiChoice = rand.Next(0, 3); // 0~2 사이의 랜덤 값
int choice = Convert.ToInt32(Console.ReadLine());

설명

  • Random rand = new Random(); → 랜덤 숫자를 생성하는 Random 객체를 생성.
  • int aiChoice = rand.Next(0, 3);0~2 사이의 랜덤한 정수(가위, 바위, 보 중 하나)를 선택.
  • int choice = Convert.ToInt32(Console.ReadLine());사용자의 입력을 정수로 변환하여 저장.

2. switch 문을 이용한 출력

switch (choice)
{
    case 0:
        Console.WriteLine("당신의 선택은 가위입니다.");
        break;
    case 1:
        Console.WriteLine("당신의 선택은 바위입니다.");
        break;
    case 2:
        Console.WriteLine("당신의 선택은 보입니다.");
        break;
}

switch (aiChoice)
{
    case 0:
        Console.WriteLine("컴퓨터의 선택은 가위입니다.");
        break;
    case 1:
        Console.WriteLine("컴퓨터의 선택은 바위입니다.");
        break;
    case 2:
        Console.WriteLine("컴퓨터의 선택은 보입니다.");
        break;
}

설명

  • 사용자가 입력한 값과 컴퓨터가 랜덤으로 선택한 값을 각각 switch 문을 이용해 출력.
  • case 0, case 1, case 2를 사용하여 선택된 값에 따라 메시지를 출력.

3. if-else 문을 이용한 승패 판별

if ((choice == 0 && aiChoice == 2) || (choice == 1 && aiChoice == 0) || (choice == 2 && aiChoice == 1))
{
    Console.WriteLine("승리입니다.");
}
else if ((choice == 0 && aiChoice == 1) || (choice == 1 && aiChoice == 2) || (choice == 2 && aiChoice == 0))
{
    Console.WriteLine("패배입니다.");
}
else
{
    Console.WriteLine("무승부입니다.");
}

설명

  • 승리 조건:
    • 가위(0) > 보(2)
    • 바위(1) > 가위(0)
    • 보(2) > 바위(1)
  • 패배 조건:
    • 가위(0) < 바위(1)
    • 바위(1) < 보(2)
    • 보(2) < 가위(0)
  • 무승부:
    • choice == aiChoice일 때.

profile
李家네_공부방

0개의 댓글